【机器学习】K-means聚类,升级版,tf-idf+PCA降维+k-means,python

这篇博客介绍了如何使用TF-IDF进行文本特征提取,接着通过PCA进行降维处理,最后应用k-means算法进行聚类。作者分享了一段非原创的代码实现,并指出在降维阶段可能存在bug,计划后期修复。
摘要由CSDN通过智能技术生成

升级版K-means聚类:tf-idf+PCA降维+k-means,代码传送门:

# coding:utf-8
 
# 2.0 使用jieba进行分词,彻底放弃低效的NLPIR,用TextRank算法赋值权重(实测textrank效果更好)
# 2.1 用gensim搞tfidf
# 2.2 sklearn做tfidf和kmeans
# 2.3 将kmeans改成BIRCH,使用传统tfidf
 
import logging
import time
import os
import jieba
import glob
import random
import copy
import chardet
import gensim
import matplotlib.pyplot as plt
from gensim import corpora,similarities, models
from pprint import pprint
import jieba.analyse
from sklearn import feature_extraction
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import CountVectorizer
import os
from sklearn.decomposition import PCA
 
 

start = time.clock()
 
print( '#----------------------------------------#')
print( '#                                        #')
print( '#             分词+去停用词               #')
print( '#                                        #')
print( '#----------------------------------------#\n')
def DeleteStopWords(data, stopWords):
 
    wordList = []
 
    # 先分一下词
    cutWords = jieba.cut(data)
    for item in cutWords:
        if item.encode('utf-8') not in stopWords: # 分词编码要和停用词编码一致
            wordList.append(item)
 
    return wordList
 
 
print( '#----------------------------------------#')
print( '#                                        #')
print( '#                 tf-idf                 #')
print( '#                                        #')
print( '#-------------------
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值