写在前面

这篇博客主要内容:

  1. 应用DictVectorizer实现对类别特征进行数值化、离散化
  2. 应用CountVectorizer实现对文本特征进行数值化

特征提取API

sklearn.feature_extraction

字典特征提取

作用:对字典数据进行特征值化

  • sklearn.feature_extraction.DictVectorizer(sparse=True,…)

    • DictVectorizer.fit_transform(X) X:字典或者包含字典的迭代器返回值:返回sparse矩阵
    • DictVectorizer.inverse_transform(X) X:array数组或者sparse矩阵 返回值:转换之前数据格式
    • DictVectorizer.get_feature_names() 返回类别名称
# 数据
[{'city': '北京','temperature':100}
{'city': '上海','temperature':60}
{'city': '深圳','temperature':30}]
# 代码
from sklearn.feature_extraction import DictVectorizer def dict_demo():
data = [{'city': '北京','temperature':100}, {'city': '上海','temperature':60}, {'city': '深圳','temperature':30}]
# 1、实例化一个转换器类
transfer = DictVectorizer(sparse=False)
# 2、调用fit_transform
data_new = transfer.fit_transform(data)
print("data_new:\n",data_new)
# 打印特征名字
print("特征名字:\n",transfer.get_feature_names()) return None

注意DictVectorizer默认是true,输出为稀疏矩阵,false输出为普通矩阵

文本特征提取

作用:对文本数据进行特征值化

  • sklearn.feature_extraction.text.CountVectorizer(stop_words=[])

    • 返回词频矩阵
  • CountVectorizer.fit_transform(X) X:文本或者包含文本字符串的可迭代对象 返回值:返回sparse矩阵

  • CountVectorizer.inverse_transform(X) X:array数组或者sparse矩阵 返回值:转换之前数据格

  • CountVectorizer.get_feature_names() 返回值:单词列表

  • sklearn.feature_extraction.text.TfidfVectorizer

# 数据
["life is short,i like python",
"life is too long,i dislike python"]
# 代码
from sklearn.feature_extraction.text import CountVectorizer def count_demo():
data = ["life is short,i like like python", "life is too long,i dislike python"]
transfer = CountVectorizer()
data_new = transfer.fit_transform(data)
print("data_new:\n",data_new.toarray())
print("特征名字:\n",transfer.get_feature_names())
return None

注意代码中的使用了toarray(),可以不加这个方法,再运行一下看看

最新文章

  1. Xcode7使用插件的简单方法&&以及怎样下载到更早版本的Xcode
  2. jquery中attr()与prop()区别
  3. R语言:规划求解优化ROI
  4. 一个叫 team 的表,里面只有一个字段name, 一共有4 条纪录,分别是a,b,c,d, 对应四个球队,现在四个球队进行比赛,用一条sql 语句显示所有可能的比赛组合.
  5. poj2955:括号匹配,区间dp
  6. <Video> in HTML5
  7. 201521123048 《Java程序设计》第1周学习总结
  8. 1)C语言简介(C自考学习)
  9. jmeter接口测试报java.net.SocketException: Socket closed错误。
  10. [2003_p1]乒乓球
  11. struts2框架学习之第一天
  12. 491. Increasing Subsequences增长型序列
  13. 修改git分支名称
  14. MangoDB学习笔记
  15. javascript如何获取URL参数的值
  16. Java实现单链表翻转
  17. Python property,属性
  18. 20155225 2006-2007-2 《Java程序设计》第3周学习总结
  19. appserv - 最简单的绑定路径
  20. 【Oracle 12c】最新CUUG OCP-071考试题库(53题)

热门文章

  1. 网站配置Gittalk教程和解决gittalk的Error: Not Found.问题
  2. js上 四、数据类型转换
  3. [日常摸鱼]bzoj3122 [Sdoi]2013 随机数生成器
  4. DRF比Django的认证和权限高在哪里
  5. 【python爬虫】一个简单的爬取百家号文章的小爬虫
  6. 手写算法-python代码实现KNN
  7. Python 设计模式——单例模式
  8. HCIP----静态实验
  9. MySQL 5.6.38安装
  10. springboot使用aspectJ