Python全系列 教程
3567个小节阅读:5931.2k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
新闻种类繁复多样,可以分为军事,政治,娱乐,财经,体育,科技,历史等等题材。
我们需要将每条新闻划分成合适的类别,匹配到正确的版面以便读者阅读,因此新闻的聚类
分群显得十分重要。
注意:
- jieba是优秀的中文分词第三方库,本案例会使用jieba进行中文文本分词
- jieba安装方式:pip install jieba==0.42.1
xxxxxxxxxx
# 读取数据
import pandas as pd
df = pd.read_excel('新闻.xlsx')
df.head()
df.shape # 查看形状
# jieba分词
import jieba
words = [] # 创建一个空列表,用来存储每一行的标题分词结果
for i, row in df.iterrows():
word_list = jieba.lcut(row['标题']) # 分词
# 将分词结果变成一个字符串(空格分隔)
result = ' '.join(word_list)
words.append(result) # 存储每一行的分词结果
# 根据词频将所有的新闻标题进行文本向量化
from sklearn.feature_extraction.text import CountVectorizer
vect = CountVectorizer()
X = vect.fit_transform(words)
X = X.toarray()
print(X)
# 将新闻标题向量化的结果组装成DataFrame
all_words_bag = vect.get_feature_names() # 查看所有新闻标题的词袋
df = pd.DataFrame(X, columns=all_words_bag)
df.head()
# 模型搭建与使用
from sklearn.cluster import KMeans
kms = KMeans(n_clusters=10, random_state=123)
k_data = kms.fit_predict(df)
print(k_data) # 查看预测的分类标签
import numpy as np
words_array = np.array(words)
print(words_array[k_data == 1]) # 查看分类1标签的新闻
1. _______是优秀的中文分词第三方库:
A jieba
B scrapy
C requests
D django
2. 根据词频进行文本向量化的是_______:
A DataFrame
B CountVectorizer
C KMeans
D Series
1=>A 2=>B