Scikit-learn文本聚类实例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联公司2013年至今,是专业互联网技术服务公司,拥有项目做网站、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元阿图什做网站,已为上家服务,为阿图什各地企业和个人服务,联系电话:18980820575# -*- coding=utf-8 -*- """ text category """ from sklearn.datasets import fetch_20newsgroups from sklearn.feature_extraction.text import CountVectorizer from sklearn.feature_extraction.text import TfidfTransformer from sklearn.naive_bayes import MultinomialNB categories = ['alt.atheism', 'soc.religion.christian', 'comp.graphics', 'sci.med'] twenty_train = fetch_20newsgroups(subset='train', categories=categories, shuffle=True, random_state=42) print len(twenty_train.data) len(twenty_train.filenames) count_vect = CountVectorizer() X_train_counts = count_vect.fit_transform(twenty_train.data) print X_train_counts.shape print count_vect.vocabulary_.get('algorithm') tf_transformer = TfidfTransformer(use_idf=False).fit(X_train_counts) X_train_tf = tf_transformer.transform(X_train_counts) print X_train_tf.shape tfidf_transformer = TfidfTransformer() X_train_tfidf = tf_transformer.fit_transform(X_train_counts) print X_train_tfidf.shape clf = MultinomialNB().fit(X_train_tfidf, twenty_train.target) docs_new = ['God is love', 'OpenGl on the Gpu is fast'] X_new_counts = count_vect.transform(docs_new) X_new_tfidf = tfidf_transformer.fit_transform(X_new_counts) predicted = clf.predict(X_new_tfidf) for doc, category in zip(docs_new, predicted): print '%r=>%s' % (doc, twenty_train.target_names[category]
对fetch_20newsgroups中的2257条文档进行分类
统计每个词出现的次数
用tf-idf统计词频,tf是在一个文档里每个单词出现的次数除以文档的单词总数,idf是总的文档数除以包含该单词的文档数,再取对数;tf * idf就是这里用到的值,值越大表明单词越重要,或越相关。
例子具体做法:
先计算了每个单词出现的次数
然后计算了tf-idf值
然后带入模型进行训练
最后预测了两个新文档的类型
结果:
'God is love'=> soc.religion.christian 'OpenGL on the GPU is fast'=> comp.graphics
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。