sklearn(全称Scikit-learn库介绍)

•Python语言的机器学习工具

•Scikit-learn包括许多知名的机器学习算法的实现

•Scikit-learn文档完善,容易上手,丰富的API,使其在学术界颇受欢迎。

安装:windows下    pip install Scikit-learn       注:安装scikit-learn需要Numpy,pandas等库

数据的特征抽取

特征抽取(进行特征值化):  · 字典特征抽取: 把字典的数据转换为具体的数据

· 文本特征抽取:  把文本的数据转换为具体额数据

注:特征值化是为了计算机更好的去理解数据

字典特征抽取

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

2.语法:

   •DictVectorizer(sparse=True,…)

      (1) •DictVectorizer.fit_transform(X)      

•X:字典或者包含字典的迭代器      传进去一个列表,列表中包含多个字典

•返回值:返回sparse矩阵

      (2)•DictVectorizer.inverse_transform(X)

•X:array数组或者sparse矩阵

•返回值:转换之前数据格式

  (3)•DictVectorizer.get_feature_names()

•返回类别名称

       (4)•DictVectorizer.transform(X)

•按照原先的标准转换

3.流程与例子

from sklearn.feature_extraction import DictVectorizerdef dictvec1():dict = DictVectorizer()data = dict.fit_transform([{"city": "上海", 'temperature': 100},{"city": "北京", 'temperature': 60},{"city": "深圳", 'temperature': 30}])print(data)return Nonedef dictvec2():dict = DictVectorizer(sparse=False)data = dict.fit_transform([{"city": "上海", 'temperature': 100},{"city": "北京", 'temperature': 60},{"city": "深圳", 'temperature': 30}])print(dict.get_feature_names())print(data)return Noneif __name__ == '__main__':dictvec1()dictvec2()

打印的结果:

# 第一个函数的打印结果(0, 0)  1.0(0, 3)   100.0(1, 1) 1.0(1, 3)   60.0(2, 2)  1.0(2, 3)   30.0
# 第二个函数的打印结果
['city=上海', 'city=北京', 'city=深圳', 'temperature']
[[  1.   0.   0. 100.][  0.   1.   0.  60.][  0.   0.   1.  30.]]

第一 函数dictvec1() 的打印结果,就是sparse的矩阵模式 (在scipy模块中就是这种模式),也就是找下表,对应数据

转换成这种矩阵的模型是为了节约内存,方便读取处理

第二个函数的打印结果: 是一个二维数组的类型  对应numpy中的 ndarray类型,也即是one-hot编码

调用 get_feature_names() 函数,类似打印出类名,最后一个是结果值

对应刚才输入的数据,第二个函数的数据数组,的第一个小数组,对应列名,第一个城市是上海,则对应的位置上就为,1,数组的最后一个就是对应的结果值,第二个小数组同理,

第二值为1代表就是上海,最后一只也对应响应的结果值

总结: 字典数据抽取:把字典中一些类别数据,分别进行转换成特征数据

            数据形式,有类别的这些特征,先要转换字典数据

4.ont-hot编码

  比如说,Human的类别为1,Penguin的类别为2,Octopus的类别为3,Ailen的类别为4

只要数据对应的列名符合就为1,不符合的都为0

机器学习(2.sklearn(Scikit-learn)库、字典数据的特征抽取)相关推荐

  1. python笔迹识别_python_基于Scikit learn库中KNN,SVM算法的笔迹识别

    之前我们用自己写KNN算法[网址]识别了MNIST手写识别数据 [数据下载地址] 这里介绍,如何运用Scikit learn库中的KNN,SVM算法进行笔迹识别. 数据说明: 数据共有785列,第一列 ...

  2. Python之数据挖掘实践--scikit learn库介绍和下载、实践、采坑

    文章目录 前言 A sklearn库是什么? A1 依赖库介绍 1.Numpy库 2.Scipy库 3. matplotlib A2 下载安装 B 实践过程 B1 主成分分析(PCA) B2 实现Km ...

  3. 机器学习与Scikit Learn学习库

    摘要: 本文介绍机器学习相关的学习库Scikit Learn,包含其安装及具体识别手写体数字案例,适合机器学习初学者入门Scikit Learn. 在我科研的时候,机器学习(ML)是计算机科学领域中最 ...

  4. python scikit_如何将Scikit学习Python库用于数据科学项目

    python scikit 最初于2007年发布的Scikit-learn Python库从头到尾通常用​​于解决机器学习和数据科学问题. 通用库提供整洁,一致,高效的API和详尽的在线文档. 什么是 ...

  5. [转载]Scikit Learn: 在python中机器学习

    原址:http://my.oschina.net/u/175377/blog/84420 目录[-] Scikit Learn: 在python中机器学习 载入示例数据 一个改变数据集大小的示例:数码 ...

  6. Scikit Learn: 在python中机器学习

    Warning 警告:有些没能理解的句子,我以自己的理解意译. 翻译自:Scikit Learn:Machine Learning in Python 作者: Fabian Pedregosa, Ga ...

  7. 03_数据的特征抽取,sklearn特征抽取API,字典特征抽取DictVectorizer,文本特征抽取CountVectorizer,TF-IDF(TfidfVectorizer),详细案例

    数据的特征抽取 A:特征抽取实例演示 通过演示得出结论: 特征抽取针对非连续型数据 特征抽取对文本等进行特征值化 注:特征值化是为了计算机更好的去理解数据. B:sklearn特征抽取API skle ...

  8. 使用Sklearn库学习数据预处理和特征工程

    目录 1,概述 1.1,数据预处理和特征工程 1.2,sklearn中的数据预处理和特征工程 2,数据预处理 Preprocessing & Impute 2.1,数据无量纲化 2.2,缺失值 ...

  9. Python初探——sklearn库中数据预处理函数fit_transform()和transform()的区别

    敲<Python机器学习及实践>上的code的时候,对于数据预处理中涉及到的fit_transform()函数和transform()函数之间的区别很模糊,查阅了很多资料,这里整理一下: ...

最新文章

  1. Centos7 使用Docker安装tomcat
  2. ansible自动化运维(二)——环境部署及常用模块的使用
  3. vs2010给c语言文件添加头注释
  4. RabbitMQ高可用方案总结
  5. profile based recommendation system
  6. golang websocket conn.close关闭错误_Websockets 与在golang中的应用
  7. SQL必知必会-数据插入
  8. ASCII、Unicode和UTF_8的前生后世
  9. 车牌识别LPR系统系列文章汇总
  10. java实现中文转拼音_Java 实现中文-拼音转换
  11. EndNote编辑毕业论文格式
  12. 南方cass提取坐标生成表格_如何在CAD中或者CASS中将坐标导入到EXCEL表格(个人笔记)...
  13. 显著性检测(一)Saliency Detection: A Spectral Residual Approach
  14. 中心极限定理 - 正态分布
  15. Q3手机银行运营报告:直销银行江湖再起波澜,数字员工助力手机银行活跃度提升
  16. h5 php捕鱼,完整的html5捕鱼游戏源码分享
  17. 【mysql】mysql查询结果添加固定值
  18. 关于网校系统开发的小知识
  19. avr模拟串口通讯c语言,AVR的模拟串口的问题
  20. 基础(UML类图,设计原则)

热门文章

  1. LeetCode 32 最长有效括号
  2. Linux——挖矿病毒(sysupdate, networkservice进程)清除解决方案
  3. Java Web——文件下载getResourceAsStream()返回NULL解决方案
  4. Long Number
  5. 一致性hash算法使用
  6. Android 性能优化——绘制优化
  7. Java多线程-CountDownLatch用法
  8. maven 和eclipse插件
  9. Integer.valueOf(String) 方法之惑
  10. oracle分区大批量update,Oracle 对分区作调整记得加update global indexes