大数据文本分类、聚类
对大数据文本进行分类聚类
1.获取数据
-用爬虫爬取微薄数据。
2.分词
-使用jieba进行中文分词。
3.使用IF_IDF把文本向量化
-分词后,使用IF_IDF把文本向量化,每个文本对应一个向量
python有可以直接使用scikit-learn工具计算文本TF-IDF的值
4.使用KMeans算法聚类
-根据上一步得到的各文本的TF-IDF值,使用KMeans算法自动聚类。
各文本所对应的向量是高维的,离散的,KMeans算法会自动生成聚类中心点,然后计算加入的文本距离哪个中心点距离最近,就加入这个类,然后重新更新这个类的中心点,新的中心点为这个类中所有文本类的均值中心点。通过一次次迭代,完成所有文本的聚类。
5.使用朴素Bayes算法分类
-朴素Bayes算法是给定一个测试样例d(成员a1,a2,a3….an)后,估计它的后验概率,P(C=cj|d)。计算哪个类cj(领域A1,A2,A3…..An)对应的概率大,将那个类别便赋予样例d。
P(C=cj)是类别cj的先验概率,可以简单用在训练集D中属于类别cj的比例估计这个先验概率。计算d中各个成员在类cj中的概率*选中cj的概率/d中各个成员在总训练集中的概率。因为分母是一样的,所以只需要计算分子。
注意点,A1,A2,A3……An是条件独立的,互不干扰。
构造贝叶斯分类器所需要的概率值(P(C=cj)P(Ai=ai|C=cj))可以经过一次扫描数据得到,所以算法相对于样本数量是线性的,效率很高。