【学习笔记】Scikit-learn文本聚类实例
2016-10-23 21:28
323 查看
# -*- 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
相关文章推荐
- [Python][Scikit-learn][学习笔记01]线性回归之波士顿房价实例分析
- Python下的机器学习工具scikit-learn(学习笔记2--官方实例程序)
- Jpcap包的学习笔记(五)如何使用JpcapCaptor实例来捕捉网络数据包(上部)
- 一个AI实例-学习笔记
- CGI实例导引之学习笔记
- OWC学习笔记-电子表格(Spreadsheet)第一个实例
- Javascript教程,javascript入门,javascript学习笔记(经典实例)
- Web2.0之Ajax 学习笔记与应用实例(转载)
- (学习笔记)简单正则表达式的使用实例[javascript]
- RMI学习笔记(二)-----RMI远程调用实例(一)
- C++/GDI+ 学习笔记(五)——应用实例——半透明的阴影效果
- DNS与BIND学习笔记 5 (实例操练)
- java学习笔记4:对象的初始化顺序(官方实例)
- [学习笔记]jsp+javaBean+Servlet 的设计模式MVC 的实例
- XHTML学习笔记(3)之布局实例
- Jboss Seam 学习笔记-运行实例的注意点
- Hibernate 实例学习笔记
- Spring学习笔记:第二章 Spring中IoC的入门实例
- Spring学习笔记:2-Spring中IoC的入门实例
- Windows Workflow Foundation (wwf) 在宿主中使用参数与实例通信 --学习笔记(二)