基于 K-Means 算法的文本聚类

这篇实验报告介绍了如何运用K-Means算法进行文本聚类,包括从社交媒体数据集中挖掘新闻话题,预处理文本,利用TF-IDF进行特征提取,以及在Python环境下实现聚类和分类模型。实验要求包括训练集、测试集的构建,以及系统实现的详细设计和源码提供。
摘要由CSDN通过智能技术生成

先粘一篇我的实验报告,其中涉及的细节,有时间再提出来总结

实验内容:基于K-Means算法的文本聚类
实验要求:
1、 能够从社交媒体或网上给定的数据集(数据集已给定),从中挖掘出新闻话题,如在线检测微博消息中大量突现的关键字,并将它们进行聚类,从而找到若干个新闻话题。
2、 给定一个新闻信息或报道作为测试样本,测试其所属的报道分类。
3、 最终要求有训练集,测试集,聚类模型和相关源码及简要说明。
4、 系统实现包含预处理,特征提取,训练时采用的聚类模型,测试时采用的分类模型。
5、 报告内容包括:实现流程,概要设计,关键模块详细设计实现。
6、 提交时以压缩包形式,需包括:系统实现源码(包含清晰注释),训练集和测试集,实验报告等三部分内容。压缩包命名方式:学号-姓名-班级.rar
实验预备知识: Python基本语法
K-means聚类算法相关知识
基于TF-IDF算法的特征提取
文档相似度计算
实验环境: Windows10操作系统Python2.7 IDLE

一、 实现流程
这里写图片描述
二、 概要设计
1、 读取训练集文本内容
读取给定数据集文件夹中每一个文档后,将文本内容写入一个Result.txt,每一行为一个文档,方便后面词频矩阵的处理。
2、 文本预处理
读取之前存放所有文本内容的Result.txt,将其内容去空格,去标点,并用结巴进行分词。
3、 特征提取
使用scikit-learn工具调用CountVectorizer()和TfidfTransformer()函数计算TF-IDF值,将文本转为词频矩阵,矩阵元素a[i][j] 表示j词在i类文本下的词频。将词频矩阵保存在TF-IDF_Result文档中。
4、 K-Means聚类
,对文本根据浏览内容后的经验分为3类,调用sklearn.cluster实现,并保存该聚类模型,对测试集使用
5、 测试集分类
使用clf.fit_predict 方法测试测试集文本。
三、 关键模块详细设计实现
1、 特征提取

from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import CountVectorizer

# 将文本中的词语转换为词频矩阵 矩阵元素a[i][j] 表示j词在i类文本下的词频
vectorizer = CountVectorizer()

# 该类会统计每个词语的tf-idf权值
transformer = TfidfTransformer()

# 第一个fit_transform是计算tf-idf 第二个fit_transform是将文本转为词频矩阵
tfidf=transformer.fit_transform(vectorizer.fit_transform(corpus))

# 获取词袋模型中的所有词语
word = vectorizer.get_feature_names()

# 将tf-idf矩阵抽取出来,元素w[i][j]表示j词在i类文本中的tf-idf权重
weight = tfidf.toarray()

2、 聚类模型

from sklearn.cluster import KMeans
from sklearn.externals import joblib

def K_Means(weight):
    print 'Start Kmeans:'

    # 选择3个中心点
    clf = KMeans(n_clusters=3)

    # clf.fit(X)可以把数据输入到分类器里
    clf.fit(weight)

    # 3个中心点
    print 'cluster_center:'
    print(clf.cluster_centers_)

    # 每个样本所属的簇
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值