julei2.py-20180721

# -*- coding: utf-8 -*-
"""
Created on Wed Jul 18 09:35:01 2018

@author: wenyun.wxw
"""

import jieba 
from sklearn.feature_extraction.text import  TfidfVectorizer
from sklearn.cluster import KMeans

def jieba_tokenize(text):
    return jieba.lcut(text) 


tfidf_vectorizer = TfidfVectorizer(tokenizer=jieba_tokenize, lowercase=False)
'''
tokenizer: 指定分词函数
lowercase: 在分词之前将所有的文本转换成小写,因为涉及到中文文本处理,
所以最好是False
'''
print("ok3")
text_list = ["今天天气真好啊啊啊啊", "小明上了清华大学", \
"我今天拿到了Google的Offer", "清华大学在自然语言处理方面真厉害"]
 #需要进行聚类的文本集
print("ok1")
tfidf_matrix = tfidf_vectorizer.fit_transform(text_list)

num_clusters = 2
km_cluster = KMeans(n_clusters=num_clusters, max_iter=300, n_init=1, \
                    init='k-means++',n_jobs=1)
print("ok2")
'''
n_clusters: 指定K的值
max_iter: 对于单次初始值计算的最大迭代次数
n_init: 重新选择初始值的次数
init: 制定初始值选择的算法
n_jobs: 进程个数,为-1的时候是指默认跑满CPU
注意,这个对于单个初始值的计算始终只会使用单进程计算,
并行计算只是针对与不同初始值的计算。比如n_init=10,n_jobs=40, 
服务器上面有20个CPU可以开40个进程,最终只会开10个进程
'''
#返回各自文本的所被分配到的类索引
result = km_cluster.fit_predict(tfidf_matrix)

print("Predicting result: ", result)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值