机器学习案例实战:Python文本数据分析新闻分类任务

article/2025/9/11 10:03:56
原创文章,如需转载请保留出处
本博客为唐宇迪老师python数据分析与机器学习实战课程学习笔记

一. 文本分析与关键词提取
1.1 文本数据
在这里插入图片描述
1.2 停用词

  • 语料中大量出现
  • 没啥大用
  • 留着过年吗
    在这里插入图片描述

1.3 Tf-idf:关键词提取

  • 《中国的蜜蜂养殖》:进行词频(Term frequency,缩写TF)统计
  • 出现次数最多的词:“的”、“是”、“在”…这类最常用的词(停用词)
  • “中国”、“蜜蜂”、“养殖” 这三个词出现的次数一样多,重要性是一样的?
  • “中国”是很常见的词,相对而言,“蜜蜂”和“养殖”不那么常见

1.4 逆文档频率(Inverse Document Frequency,IDF)

  • 如果某个词比较少见,但是它在这篇文章中多次出现,那么它很可能就反映了这篇文章的特性,正是我们所需要的关键词
  • 词频(TF) = 某个词在文章中的出现次数 / 该文词的个数
  • 逆文档频率(IDF) = log(语料库的文档总数 / 包括该词的文档数 + 1)

1.5 Tf-idf:关键词提取计算
TF-IDF = 词频(TF) * 逆文档频率(IDF)

  • 《中国的蜜蜂养殖》:假定该文长度为1000个词,“中国”、“蜜蜂”、“养殖”各出现20次,则这三个词的“词频”(TF)都是0.02
  • 搜索Google发现,包含“的”字的网页共有250亿张,假定这就是中文网页总数。包含“中国”的网页共有62.3亿张,包含“蜜蜂”的网页共有0.484亿张,包含“养殖”的网页共有0.973亿张

在这里插入图片描述
二. 相似度计算
2.1 相识度
句子A:我喜欢看电视,不喜欢看电影
句子B:我不喜欢看电视,也不喜欢看电影

  • 分词
    句子A:我 / 喜欢 / 看 / 电视,不 / 喜欢 / 看 / 电影
    句子B:我 / 不 / 喜欢 / 看 / 电视,也 / 不 / 喜欢 / 看 / 电影

  • 语料库:我 ,喜欢,看,电视,电影,不,也

  • 词频:
    句子A:我1,喜欢2,看2,电视1, 电影1,不1,也0
    句子B:我1,喜欢2,看2,电视1, 电影1,不2,也1、

  • 词频向量
    句子A:[1,2,2,1,1,1,0]
    句子B:[1,2,2,1,1,2,1]

余弦相似度:
在这里插入图片描述
三. 新闻数据与任务简介

import pandas as pd
import numpy as np
#结吧分词
import jiebadf_news = pd.read_table('./data/val.txt',names=['category','theme','URL','content'],encoding='utf-8')
#dropna:去掉缺失值
df_news = df_news.dropna()
df_news.head()

在这里插入图片描述

df_news.shape

(5000, 4)

#分词:使用结吧分词器
#先将content转换成list格式
content = df_news.content.values.tolist()
print (content[1000])

阿里巴巴集团昨日宣布,将在集团管理层面设立首席数据官岗位(Chief Data Officer),阿里巴巴B2B公司CEO陆兆禧将会出任上述职务,向集团CEO马云直接汇报。>菹ぃ和6月初的首席风险官职务任命相同,首席数据官亦为阿里巴巴集团在完成与雅虎股权谈判,推进“one company”目标后,在集团决策层面新增的管理岗位。0⒗锛团昨日表示,“变成一家真正意义上的数据公司”已是战略共识。记者刘夏

#利用结吧分词
content_S = []
#line:代表content中每一条
for line in content:current_segment = jieba.lcut(line)#大于1:代表确实能切分if len(current_segment) > 1 and current_segment != '\r\n':content_S.append(current_segment)
content_S[1000]
['阿里巴巴','集团','昨日','宣布',',','将','在','集团','管理','层面','设立','首席','数据','官','岗位','(','C','h','i','e','f','\u3000','D','a','t','a','\u3000','O','f','f','i','c','e','r',')',',','阿里巴巴','B','2','B','公司','C','E','O','陆兆禧','将','会','出任','上述','职务',',','向','集团','C','E','O','马云','直接','汇报','。','>','菹','ぃ','和','6','月初','的','首席','风险','官','职务','任命','相同',',','首席','数据','官亦为','阿里巴巴','集团','在','完成','与','雅虎','股权','谈判',',','推进','“','o','n','e','\u3000','c','o','m','p','a','n','y','”','目标','后',',','在','集团','决策','层面','新增','的','管理','岗位','。','0','⒗','锛','团','昨日','表示',',','“','变成','一家','真正','意义','上','的','数据','公司','”','已','是','战略','共识','。','记者','刘夏']
df_content = pd.DataFrame({'content_S':content_S})
df_content.head()

content_S
0 [经销商,  , 电话,  , 试驾, /, 订车, U, 憬, 杭州, 滨江区, 江陵, …
1 [呼叫, 热线,  , 4, 0, 0, 8, -, 1, 0, 0, -, 3, 0, 0…
2 [M, I, N, I, 品牌, 在, 二月, 曾经, 公布, 了, 最新, 的, M, I…
3 [清仓, 大, 甩卖, !, 一汽, 夏利, N, 5, 、, 威志, V, 2, 低至, …
4 [在, 今年, 3, 月, 的, 日内瓦, 车展, 上, ,, 我们, 见到, 了, 高尔夫…

四.TF-IDF关键词提取

stopwords = pd.read_csv('stopwords.txt',index_col = False, sep = '\t',quoting = 3,names = ['stopword'], encoding = 'utf-8')
stopwords.head()

stopword
0 !
1 "
2 #
3 $
4 %

def drop_stopwords(contents,stopwords):contents_clean = []all_words = []for line in contents:line_clean = []for word in line:if word in stopwords:continueline_clean.append(word)all_words.append(str(word))contents_clean.append(line_clean)return contents_clean,all_wordscontents = df_content.content_S.values.tolist()
stopwords = stopwords.stopword.values.tolist()
contents_clean,all_words = drop_stopwords(contents,stopwords)
df_content = pd.DataFrame({'contents_clean':contents_clean})
df_content.head()

contents_clean
0 [经销商, 电话, 试驾, 订车, U, 憬, 杭州, 滨江区, 江陵, 路, 号, 转, …
1 [呼叫, 热线, 服务, 邮箱, k, f, p, e, o, p, l, e, d, a,…
2 [M, I, N, I, 品牌, 二月, 公布, 最新, M, I, N, I, 新, 概念…
3 [清仓, 甩卖, 一汽, 夏利, N, 威志, V, 低至, 万, 启新, 中国, 一汽, …
4 [日内瓦, 车展, 见到, 高尔夫, 家族, 新, 成员, 高尔夫, 敞篷版, 款, 全新,…

df_all_words=pd.DataFrame({'all_words':all_words})
df_all_words.head()

all_words
0 经销商
1 电话
2 试驾
3 订车
4 U

words_count = df_all_words.groupby(by=['all_words'])['all_words'].agg({'count':np.size})
words_count = words_count.reset_index().sort_values(by=['count'],ascending=False)
words_count.head()

all_words count
4077 中 5199
4209 中国 3115
88255 说 3055
104747 S 2646
1373 万 2390

from wordcloud import WordCloud
import matplotlib.pyplot as plt
%matplotlib inline
import matplotlib
matplotlib.rcParams['figure.figsize'] = (10.0, 5.0)wordcloud = WordCloud(font_path='./data/simhei.ttf',background_color='white',max_font_size=80)
word_frequence = {x[0]:x[1] for x in words_count.head(100).values}
wordcloud = wordcloud.fit_words(word_frequence)
plt.imshow(wordcloud)

在这里插入图片描述

#提取关键字
import jieba.analyse
index = 1000
print(df_news['content'][index])
content_S_str = ''.join(content_S[index])
print(" ".join(jieba.analyse.extract_tags(content_S_str, topK=5, withWeight=False)))

阿里巴巴集团昨日宣布,将在集团管理层面设立首席数据官岗位(Chief Data Officer),阿里巴巴B2B公司CEO陆兆禧将会出任上述职务,向集团CEO马云直接汇报。>菹ぃ和6月初的首席风险官职务任命相同,首席数据官亦为阿里巴巴集团在完成与雅虎股权谈判,推进“one company”目标后,在集团决策层面新增的管理岗位。0⒗锛团昨日表示,“变成一家真正意义上的数据公司”已是战略共识。记者刘夏
阿里巴巴 集团 首席 岗位 数据

五.LDA建模
Gensim是一个用于从文档中自动提取语义主题的Python库

from gensim import corpora, models, similarities
import gensim
#做映射,相当于词袋
dictionary = corpora.Dictionary(contents_clean)
corpus = [dictionary.doc2bow(sentence) for sentence in contents_clean]
lda = gensim.models.ldamodel.LdaModel(corpus=corpus, id2word=dictionary, num_topics=20)
#一号分类结果
print(lda.print_topic(1, topn=5))

0.011*“男人” + 0.010*“中” + 0.005*“说” + 0.004*“女人” + 0.003*“於”

for topic in lda.print_topics(num_topics=20, num_words=5):print(topic[1])

0.005*“纹身” + 0.004*“中” + 0.004*“台湾” + 0.004*“台北” + 0.003*“女儿”
0.011*“男人” + 0.010*“中” + 0.005*“说” + 0.004*“女人” + 0.003*“於”
0.009*“教育” + 0.007*“学生” + 0.006*“学校” + 0.006*“工作” + 0.006*“发展”
0.009*“比赛” + 0.007*“该剧” + 0.005*“中” + 0.005*“女人” + 0.005*“节目”
0.005*“赛区” + 0.005*“说” + 0.004*“中” + 0.004*“老公” + 0.004*“工作”
0.005*“中” + 0.005*“说” + 0.004*“万” + 0.003*“D” + 0.003*“比赛”
0.007*“中” + 0.006*“吃” + 0.006*“食物” + 0.005*“含有” + 0.004*“维生素”
0.009*“节目” + 0.007*“中” + 0.005*“S” + 0.005*“V” + 0.005*“表演”
0.008*“中” + 0.005*“比赛” + 0.005*“球队” + 0.004*“说” + 0.004*“中国”
0.012*“中” + 0.006*“卫视” + 0.004*“说” + 0.003*“中国” + 0.003*“T”
0.026*“a” + 0.026*“e” + 0.020*“i” + 0.019*“o” + 0.018*“n”
0.015*“中国” + 0.005*“发展” + 0.005*“中” + 0.005*“美国” + 0.004*“文化”
0.007*“中国” + 0.007*“中” + 0.007*“观众” + 0.006*“说” + 0.004*“比赛”
0.004*“节目” + 0.003*“芒果” + 0.003*“单身” + 0.003*“男人” + 0.003*“万”
0.009*“说” + 0.005*“恋情” + 0.005*“分手” + 0.005*“中” + 0.004*“离婚”
0.009*“撒” + 0.005*“高考” + 0.004*“乳房” + 0.004*“孩子” + 0.003*“万”
0.007*“号” + 0.006*“万” + 0.004*“转” + 0.003*“学校” + 0.003*“公司”
0.010*“孩子” + 0.007*“说” + 0.004*“儿子” + 0.004*“中” + 0.003*“M”
0.017*“电影” + 0.012*“导演” + 0.008*“影片” + 0.007*“中” + 0.007*“观众”
0.006*“女人” + 0.006*“女性” + 0.003*“中” + 0.003*“快感” + 0.002*“W”

五.基于贝叶斯算法进行新闻分类

df_train = pd.DataFrame({'contents_clean':contents_clean,'label':df_news['category']})
df_train.tail()

contents_clean label
4995 [天气, 炎热, 补水, 变得, 美国, 跑步, 世界, 杂志, 报道, 喝水, 身体, 补… 时尚
4996 [不想, 说, 话, 刺激, 说, 做, 只能, 走, 离开, 伤心地, 想起, 一句, 话… 时尚
4997 [岁, 刘晓庆, 最新, 嫩照, O, 衷, 诘, 牧跸, 庆, 看不出, 岁, 秒杀, 刘… 时尚
4998 [导语, 做, 爸爸, 一种, 幸福, 无论是, 领养, 亲生, 更何况, 影视剧, 中, … 时尚
4999 [全球, 最美, 女人, 合成图, 国, 整形外科, 教授, 李承哲, 国际, 学术, 杂志… 时尚

df_train.label.unique()

array([‘汽车’, ‘财经’, ‘科技’, ‘健康’, ‘体育’, ‘教育’, ‘文化’, ‘军事’, ‘娱乐’, ‘时尚’],
dtype=object)

label_mapping = {"汽车":1,"财经":2,"科技":3,"健康":4,"体育":5,"教育":6,"文化":7,"军事":8,"娱乐":9,"时尚":0}
df_train['label'] = df_train['label'].map(label_mapping)
df_train.head()

contents_clean label
0 [经销商, 电话, 试驾, 订车, U, 憬, 杭州, 滨江区, 江陵, 路, 号, 转, … 1
1 [呼叫, 热线, 服务, 邮箱, k, f, p, e, o, p, l, e, d, a,… 1
2 [M, I, N, I, 品牌, 二月, 公布, 最新, M, I, N, I, 新, 概念… 1
3 [清仓, 甩卖, 一汽, 夏利, N, 威志, V, 低至, 万, 启新, 中国, 一汽, … 1
4 [日内瓦, 车展, 见到, 高尔夫, 家族, 新, 成员, 高尔夫, 敞篷版, 款, 全新,…

from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(df_train['contents_clean'].values, df_train['label'].values, random_state=1)
x_train[0][1]

‘上海’

words = []
for line_index in range(len(x_train)):try:words.append(' '.join(x_train[line_index]))except:print (line_index,word_index)
words[0]

‘中新网 上海 日电 于俊 父亲节 网络 吃 一顿 电影 快餐 微 电影 爸 对不起 我爱你 定于 本月 父亲节 当天 各大 视频 网站 首映 葜 谱 鞣 剑 保慈 障蚣 钦 呓 樯 埽 ⒌ 缬 埃 ǎ 停 椋 悖 颍 铩 妫 椋 恚 称 微型 电影 新 媒体 平台 播放 状态 短时 休闲 状态 观看 完整 策划 系统 制作 体系 支持 显示 较完整 故事情节 电影 微 超短 放映 微 周期 制作 天 数周 微 规模 投资 人民币 几千 数万元 每部 内容 融合 幽默 搞怪 时尚 潮流 人文 言情 公益 教育 商业 定制 主题 单独 成篇 系列 成剧 唇 开播 微 电影 爸 对不起 我爱你 讲述 一对 父子 观念 缺少 沟通 导致 关系 父亲 传统 固执 钟情 传统 生活 方式 儿子 新派 音乐 达 习惯 晚出 早 生活 性格 张扬 叛逆 两种 截然不同 生活 方式 理念 差异 一场 父子 间 拉开序幕 子 失手 打破 父亲 心爱 物品 父亲 赶出 家门 剧情 演绎 父亲节 妹妹 哥哥 化解 父亲 这场 矛盾 映逋坏 嚼 斫 狻 ⒍ 粤 ⒌ 桨容 争执 退让 传统 尴尬 父子 尴尬 情 男人 表达 心中 那份 感恩 一杯 滤挂 咖啡 父亲节 变得 温馨 镁 缬 缮 虾 N 逄 煳 幕 传播 迪欧 咖啡 联合 出品 出品人 希望 观摩 扪心自问 父亲节 父亲 记得 父亲 生日 哪一天 父亲 爱喝 跨出 家门 那一刻 感觉 一颗 颤动 心 操劳 天下 儿女 父亲节 大声 喊出 父亲 家人 爱 完’

print (len(words))

3750

from sklearn.feature_extraction.text import CountVectorizer
texts = ["dog cat fish","dog cat cat","fish bird","bird"]
cv = CountVectorizer()
cv_fit = cv.fit_transform(texts)print(cv.get_feature_names())
print(cv_fit.toarray())
print(cv_fit.toarray().sum(axis=0))

[‘bird’, ‘cat’, ‘dog’, ‘fish’]
[[0 1 1 1]
[0 2 1 0]
[1 0 0 1]
[1 0 0 0]]
[2 3 2 2]

from sklearn.feature_extraction.text import CountVectorizer
texts = ["dog cat fish","dog cat cat","fish bird","bird"]
cv = CountVectorizer(ngram_range=(1,4))
cv_fit = cv.fit_transform(texts)print(cv.get_feature_names())
print(cv_fit.toarray())
print(cv_fit.toarray().sum(axis=0))

[‘bird’, ‘cat’, ‘cat cat’, ‘cat fish’, ‘dog’, ‘dog cat’, ‘dog cat cat’, ‘dog cat fish’, ‘fish’, ‘fish bird’]
[[0 1 0 1 1 1 0 1 1 0]
[0 2 1 0 1 1 1 0 0 0]
[1 0 0 0 0 0 0 0 1 1]
[1 0 0 0 0 0 0 0 0 0]]
[2 3 1 1 2 2 1 1 2 1]

from sklearn.feature_extraction.text import CountVectorizer
vec = CountVectorizer(analyzer='word', max_features=4000,lowercase=False)
vec.fit(words)

CountVectorizer(analyzer=‘word’, binary=False, decode_error=‘strict’,
dtype=<class ‘numpy.int64’>, encoding=‘utf-8’, input=‘content’,
lowercase=False, max_df=1.0, max_features=4000, min_df=1,
ngram_range=(1, 1), preprocessor=None, stop_words=None,
strip_accents=None, token_pattern=’(?u)\b\w\w+\b’,
tokenizer=None, vocabulary=None)

from sklearn.naive_bayes import MultinomialNB
classifier = MultinomialNB()
classifier.fit(vec.transform(words),y_train)

MultinomialNB(alpha=1.0, class_prior=None, fit_prior=True)

test_words = []
for line_index in range(len(x_test)):try:test_words.append(' '.join(x_test[line_index]))except:print (line_index,word_index)
test_words[0]

‘国家 公务员 考试 申论 应用文 类 试题 实质 一道 集 概括 分析 提出 解决问题 一体 综合性 试题 说 一道 客观 凝练 申发 论述 文章 题目 分析 历年 国考 申论 真题 公文 类 试题 类型 多样 包括 公文 类 事务性 文书 类 题材 从题 干 作答 材料 内容 整合 分析 无需 太 创造性 发挥 纵观 历年 申论 真题 作答 应用文 类 试题 文种 格式 作出 特别 重在 内容 考查 行文 格式 考生 平常心 面对 应用文 类 试题 准确 把握 作答 领会 内在 含义 把握 题材 主旨 材料 结构 轻松 应对 应用文 类 试题 R 弧 ⒆ 钒 盐 展文 写作 原则 T 材料 中来 应用文 类 试题 材料 总体 把握 客观 考生 材料 中来 材料 中 把握 材料 准确 理解 题材 主旨 T 政府 角度 作答 应用文 类 试题 更应 注重 政府 角度 观点 政府 角度 出发 原则 表述 观点 提出 解决 之策 考生 作答 站 政府 人员 角度 看待 提出 解决问题 T 文体 结构 形式 考查 重点 文体 结构 大部分 评分 关键点 解答 方法 薄 ⒆ ス 丶 词 明 方向 作答 题目 题干 作答 作答 方向 作答 角度 关键 向导 考生 仔细阅读 题干 作答 抓住 关键词 作答 方向 相关 要点 整理 作答 思路 年国考 地市级 真 题为 例 潦惺姓 府 宣传 推进 近海 水域 污染 整治 工作 请 给定 资料 市政府 工作人员 身份 草拟 一份 宣传 纲要 R 求 保对 宣传 内容 要点 提纲挈领 陈述 玻 体现 政府 精神 全市 各界 关心 支持 污染 整治 工作 通俗易懂 超过 字 肮 丶 词 近海 水域 污染 整治 工作 市政府 工作人员 身份 宣传 纲要 提纲挈领 陈述 体现 政府 精神 全市 各界 关心 支持 污染 整治 工作 通俗易懂 提示 归结 作答 要点 包括 污染 情况 原因 解决 对策 作答 思路 情况 原因 对策 意义 逻辑 顺序 安排 文章 结构 病 ⒋ 缶殖 龇 ⅲ 明 结构 解答 应用文 类 试题 考生 材料 整体 出发 大局 出发 高屋建瓴 把握 材料 主题 思想 事件 起因 解决 对策 阅读文章 构建 文章 结构 直至 快速 解答 场 ⒗ 硭 乘悸 罚明 逻辑 应用文 类 试题 严密 逻辑思维 情况 原因 对策 意义 考生 作答 先 弄清楚 解答 思路 统筹安排 脉络 清晰 逻辑 表达 内容 表述 础 把握 明 详略 考生 仔细阅读 分析 揣摩 应用文 类 试题 内容 答题 时要 详略 得当 主次 分明 安排 内容 增加 文章 层次感 阅卷 老师 阅卷 时能 明白 清晰 一目了然 玻埃 保蹦旯 考 考试 申论 试卷 分为 省级 地市级 两套 试卷 能力 大有 省级 申论 试题 考生 宏观 角度看 注重 深度 广度 考生 深谋远虑 地市级 试题 考生 微观 视角 观察 侧重 考查 解决 能力 考生 贯彻执行 作答 区别对待’

classifier.score(vec.transform(test_words),y_test)

0.804

from sklearn.feature_extraction.text import TfidfVectorizervectorizer = TfidfVectorizer(analyzer='word',max_features=4000,lowercase=False)
vectorizer.fit(words)

TfidfVectorizer(analyzer=‘word’, binary=False, decode_error=‘strict’,
dtype=<class ‘numpy.float64’>, encoding=‘utf-8’,
input=‘content’, lowercase=False, max_df=1.0, max_features=4000,
min_df=1, ngram_range=(1, 1), norm=‘l2’, preprocessor=None,
smooth_idf=True, stop_words=None, strip_accents=None,
sublinear_tf=False, token_pattern=’(?u)\b\w\w+\b’,
tokenizer=None, use_idf=True, vocabulary=None)

from sklearn.naive_bayes import MultinomialNB
classifier = MultinomialNB()
classifier.fit(vectorizer.transform(words),y_train)

MultinomialNB(alpha=1.0, class_prior=None, fit_prior=True)

classifier.score(vectorizer.transform(test_words),y_test)

0.8152


http://chatgpt.dhexx.cn/article/SZJ2sXHw.shtml

相关文章

音视频融合综述

文章目录 前言摘要正文1介绍音视频特征提取和融合类型融合的技术挑战依赖问题同步问题数据问题 最近的进展和研究方法异步动态加权深度学习多模态融合学习&#xff1a;跨模式学习&#xff1a;共享学习DL使用经验多视图学习 总结 个人总结与思考 前言 最近需要加强相关领域的深…

从0到1构建新闻长文本分类系统

新闻分类系统概述 新闻分类系统&#xff0c;顾名思义&#xff0c;就是对于一片新闻或者是一片文章&#xff0c;进行自动的分类,例如政治&#xff0c;财经&#xff0c;娱乐等等 从技术角度讲&#xff0c;其实属于自然语言处理中比较经典的文本分类问题。当然在一个工业级别的分…

谈文本分类

本文来自对《文本分类研究综述》汪岿的阅读 文章目录 1. 为什么要进行文本分类2. 文本分类的分类、应用3. 当前文本分类面临的挑战4. 文本分类的前景 1. 为什么要进行文本分类 在大数据时代&#xff0c;网络上的文本数据日益增长。采用文本分类技术对海量数据进行科学地组织和…

多模态融合技术综述和应用

文章目录 多模态技术基础1&#xff0c;多模态融合架构&#xff08;神经网络模型的基本结构形式&#xff09;1.1联合架构1.2协同架构1.3编解码架构&#xff08;自监督&#xff09; 2&#xff0c;多模态融合方法2.1早期融合2.2 晚期融合2.3混合融合 3&#xff0c;模态对齐方法3.1…

大数据分析案例-基于随机森林算法构建新闻文本分类模型

🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 喜欢大数据分析项目的小伙伴,希望可以多多支持该系列的其他文章 大数据分析案例合集…

【数据挖掘】天池挑战赛 新闻推荐

比赛网址&#xff1a;https://tianchi.aliyun.com/competition/entrance/531842/introduction 项目源码&#xff1a;Github 一、项目知识点 数据预处理&#xff1b; 数据可视化&#xff1b; 特征工程&#xff1b; 模型选择&#xff1b; 实验结果的评价&#xff1b; 二、…

python-新闻文本分类详细案例-(数据集见文末链接)

文章目录 分析思路所用数据集一、导入相关包二、数据分析1.读取数据2. jieba分词并去除停用词3. TF-IDF4. 网格搜索寻最优模型及最优参数5. 预测并评估预测效果 总结 分析思路 新闻文本数据包含四类新闻&#xff0c;分别用1&#xff0c;2&#xff0c;3&#xff0c;4 表示。 &a…

NetWORK ShortCuts 创建

很多时候我们创建了很多SHARE DRIVE的SHOT CUT&#xff1a; 但是我们不知道他们的路径在哪里&#xff0c;在下一台新电脑的时候&#xff0c;我们又要重新创建&#xff1f;NONONO&#xff0c; 我们打开其中一个SHORT CUT 我们点一下 "Proposal_Content_RPA" 右边的空…

shortcuts实现

1.使用条件 android 7.1以上 2.功能说明 长按桌面app图标出现快捷方式列表&#xff0c;点击可跳转到app的指定界面&#xff0c;用户也可以将其作为一个单独的快捷方式 3.效果截图 3.技术实现 分为两种方式&#xff0c;静态xml配置和动态代码配置&#xff0c;二者各有优劣&#…

Android ShortCuts使用

ShortCuts是什么&#xff1f; Shortcuts是指在桌面长按app图标而出现的快捷方式&#xff0c;可以为你的app的关键功能添加更加快速的入口而不是先打开app 点击快捷方式可以访问应用功能&#xff0c;而且这种快捷方式也可以被拖拽到桌面的单独位置&#xff0c;变成单独的左面快…

Android App Shortcuts

周五了&#xff0c;周末还远吗&#xff1f;~ 加入我知识星球的人都得到了提升&#xff0c;可不要错过哦~ 点击阅读原文即可。 本文较长&#xff0c;阅读大约十分钟 ~ 我们都知道iPhone6S推出了3D Touch的功能&#xff0c;也算是一个大卖点&#xff0c;Google也后来居上&#xf…

Linux下cut命令用法详解

Linux下cut命令用法详解 原创&#xff1a;frozen_sucker(冰棍) 有时我们经常会遇到这样一些问题&#xff1a;有一页电话号码薄&#xff0c;上面按顺序规则地写着人名、家庭住址、电话、备注等&#xff0c;此时我们只想取出所有人的名字和其对应的电话号码&#xff0c;你有几种…

使用Dynamic Shortcuts

在看完Static Shortcuts后, 我们不相信Google仅仅给我们开发者开放了局限性如此大的使用方式, 肯定还会存在灵活性更大的API, 是的, 这就是我们马上要讲的Dynamic Shortcuts, 我把它称为动态配置. 说起动态配置, 那肯定是用java代码实现了, 那如何实现呢? 首先第一步, 我们需…

Shortcuts,让你可以在系统的桌面上为所欲为

/ 今日科技快讯 / 近日&#xff0c;有用户刷抖音时看到烤虾广告下单&#xff0c;实付款194元买了250克烤虾干&#xff0c;货到付款后发现是三无产品&#xff0c;且外形口感与广告宣传天差地别。对此抖音表示&#xff0c;已对此事展开相关调查&#xff0c;并下架涉嫌虚假宣传…

Shortcuts使用解析(一)

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/susan_123456/article/details/93793490 Shortcuts是什么&#xff1f; Shortcuts是指在桌面长按App图标而出现的快捷方式&#xff0c;可以为你的App的关键功能添加更快速的…

是时候来了解android7了:shortcuts(快捷方式)

本文已授权微信公众号&#xff1a;鸿洋&#xff08;hongyangAndroid&#xff09;在微信公众号平台原创首发。 就在前几天的一个晚上, Google召开了它的秋季发布会, 毫无悬念的宣布了它的最新手机品牌Pixel, 与此同时我的nexus设备也从亲儿子降级成为干儿子. 不过还好Google并没…

Android 7.1 新特性:快捷方式 Shortcuts 详解

Android 7.1 新特性&#xff1a;快捷方式 Shortcuts 详解 一、Shortcuts 介绍 Android 7.1 允许 App 自定义 Shortcuts&#xff0c;类似 iOS 的 3D touch。通过在桌面长按 App 弹出 Shortcut 列表&#xff0c;点击某个 Shortcut 快速进入某项操作&#xff0c;同时 Shortcut 可以…

Android7.1新特性:快捷方式Shortcuts详解

Shortcuts介绍 Android7.1&#xff08;API Level 25&#xff09;及以上系统可以自定义Shortcuts&#xff0c;通过在桌面上长按App Icon弹出Shortcut列表&#xff0c;点击某个shortcut可使用户快捷得打开App里常用的或推荐的任务。长按列表中的任一个Shortcut可拖动到桌面进行固…

oracle 左连接

oracle左连接小结 当使用左连接关联表进行查询时&#xff0c;如果右侧的表在关联的条件中有重复的数据&#xff0c;就会导致最后的查询结果比预期的多&#xff0c;比如&#xff1a; select * from A 需要关联的表 select * from B 这里的两个表的id都是主键&#xff0c;现在…

lambda多表左连接

下面是mysql多表左连接&#xff0c;对应的lambda表达式写法&#xff0c;只为快速解决你的问题&#xff0c;详细的就不介绍了&#xff0c;只出结果&#xff0c;相信稍微有点基础的都能看懂。相关知识点&#xff0c;请自行百度 关键字&#xff1a;GroupJoin、SelectMany sql语句…