首页 > 其他 > 详细

机器学习之scikit-learn库

时间:2019-11-11 22:55:28      阅读:59      评论:0      收藏:0      [点我收藏+]

前面讲到了,这个库适合学习,轻量级,所以先学它。

安装就不讲了,简单。不过得先安装numpy和pandas库才能安装scikit-learn库。

如果安装了anaconda得话,会自带有这个库。

----------------------------------------------------------------------------------------------------------

1、首先进行字典特征提取

作用:对字典数据进行特征值提取。

API:sklearn.feature_extraction.DictVectorizer

技术分享图片

 

 

流程:1、实例化类  DictVectorizer()

  2、调用fit_transorm方法输入数据并转换

上代码:

 1 from sklearn.feature_extraction import DictVectorizer
 2 
 3 def dictvec():
 4     ‘‘‘
 5     字典数据抽取
 6     :return: None
 7     ‘‘‘
 8     # 实例化
 9     dict = DictVectorizer()
10 
11     # 调用fit_transorm
12     data = dict.fit_transform([{name:X,score: 80},{name:Y,score: 90},{name:Z,score: 100}])
13 
14     print(data)
15 
16     return None
17 
18 if __name__ == __main__:
19     dictvec()

技术分享图片

 

 

 可以看到输出结果是一个Sparse矩阵,前面得括号里面是坐标,后面的数字是这个坐标的值,比如:(0,0) 1.0 表示在第0行0列的值为1。

其他没有列出来的坐标如(0,1)、(0,2)等的值默认为0.

将DictVectorizer()中的sparse参数设置为False可以使得结果容易可读。

技术分享图片

 

 

 2、文本特征提取

 

作用:对文本数据进行提取

API:sklearn.feature_extraction.text.CountVectorizer
技术分享图片

上代码:假设有两篇文章分别为:
‘life is shortm,i like Python‘和‘life is too long, i dislike Python‘

 1 from sklearn.feature_extraction.text import CountVectorizer
 2 
 3 def countvec():
 4     ‘‘‘
 5     对文本进行特征值提取
 6     :return: None
 7     ‘‘‘
 8     # 实例化
 9     cv = CountVectorizer()
10 
11     # 调用fit_transorm
12     data = cv.fit_transform([life is shortm,i like Python,life is too long, i dislike Python])
13 
14     print(data)
15     
16     return None
17 
18 if __name__ == __main__:
19     countvec()

技术分享图片

 

 

 

结果和字典提取是一样的,值得注意的是这里要将parse矩阵转换成比较容易读的二维矩阵的话,是在结果中调用toarray(),而不是设置sparse参数
如下图:

技术分享图片

 

 get_feature_names()返回一个列表,列表里面是提取的所有特征(本例中提取出了8个单词,单个字母不统计)。

结果中有两个列表,每个列表对应一篇文章。第一个列表中第一个0表示第一篇文章中dislike没有出现,第一个列表中第一个1表示is出现了,依次类推


 


 

 

 

 

机器学习之scikit-learn库

原文:https://www.cnblogs.com/GouQ/p/11838829.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!