机器学习(2.sklearn(Scikit-learn)库、字典数据的特征抽取)
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)库、字典数据的特征抽取)相关推荐
- python笔迹识别_python_基于Scikit learn库中KNN,SVM算法的笔迹识别
之前我们用自己写KNN算法[网址]识别了MNIST手写识别数据 [数据下载地址] 这里介绍,如何运用Scikit learn库中的KNN,SVM算法进行笔迹识别. 数据说明: 数据共有785列,第一列 ...
- Python之数据挖掘实践--scikit learn库介绍和下载、实践、采坑
文章目录 前言 A sklearn库是什么? A1 依赖库介绍 1.Numpy库 2.Scipy库 3. matplotlib A2 下载安装 B 实践过程 B1 主成分分析(PCA) B2 实现Km ...
- 机器学习与Scikit Learn学习库
摘要: 本文介绍机器学习相关的学习库Scikit Learn,包含其安装及具体识别手写体数字案例,适合机器学习初学者入门Scikit Learn. 在我科研的时候,机器学习(ML)是计算机科学领域中最 ...
- python scikit_如何将Scikit学习Python库用于数据科学项目
python scikit 最初于2007年发布的Scikit-learn Python库从头到尾通常用于解决机器学习和数据科学问题. 通用库提供整洁,一致,高效的API和详尽的在线文档. 什么是 ...
- [转载]Scikit Learn: 在python中机器学习
原址:http://my.oschina.net/u/175377/blog/84420 目录[-] Scikit Learn: 在python中机器学习 载入示例数据 一个改变数据集大小的示例:数码 ...
- Scikit Learn: 在python中机器学习
Warning 警告:有些没能理解的句子,我以自己的理解意译. 翻译自:Scikit Learn:Machine Learning in Python 作者: Fabian Pedregosa, Ga ...
- 03_数据的特征抽取,sklearn特征抽取API,字典特征抽取DictVectorizer,文本特征抽取CountVectorizer,TF-IDF(TfidfVectorizer),详细案例
数据的特征抽取 A:特征抽取实例演示 通过演示得出结论: 特征抽取针对非连续型数据 特征抽取对文本等进行特征值化 注:特征值化是为了计算机更好的去理解数据. B:sklearn特征抽取API skle ...
- 使用Sklearn库学习数据预处理和特征工程
目录 1,概述 1.1,数据预处理和特征工程 1.2,sklearn中的数据预处理和特征工程 2,数据预处理 Preprocessing & Impute 2.1,数据无量纲化 2.2,缺失值 ...
- Python初探——sklearn库中数据预处理函数fit_transform()和transform()的区别
敲<Python机器学习及实践>上的code的时候,对于数据预处理中涉及到的fit_transform()函数和transform()函数之间的区别很模糊,查阅了很多资料,这里整理一下: ...
最新文章
- Centos7 使用Docker安装tomcat
- ansible自动化运维(二)——环境部署及常用模块的使用
- vs2010给c语言文件添加头注释
- RabbitMQ高可用方案总结
- profile based recommendation system
- golang websocket conn.close关闭错误_Websockets 与在golang中的应用
- SQL必知必会-数据插入
- ASCII、Unicode和UTF_8的前生后世
- 车牌识别LPR系统系列文章汇总
- java实现中文转拼音_Java 实现中文-拼音转换
- EndNote编辑毕业论文格式
- 南方cass提取坐标生成表格_如何在CAD中或者CASS中将坐标导入到EXCEL表格(个人笔记)...
- 显著性检测(一)Saliency Detection: A Spectral Residual Approach
- 中心极限定理 - 正态分布
- Q3手机银行运营报告:直销银行江湖再起波澜,数字员工助力手机银行活跃度提升
- h5 php捕鱼,完整的html5捕鱼游戏源码分享
- 【mysql】mysql查询结果添加固定值
- 关于网校系统开发的小知识
- avr模拟串口通讯c语言,AVR的模拟串口的问题
- 基础(UML类图,设计原则)
热门文章
- LeetCode 32 最长有效括号
- Linux——挖矿病毒(sysupdate, networkservice进程)清除解决方案
- Java Web——文件下载getResourceAsStream()返回NULL解决方案
- Long Number
- 一致性hash算法使用
- Android 性能优化——绘制优化
- Java多线程-CountDownLatch用法
- maven 和eclipse插件
- Integer.valueOf(String) 方法之惑
- oracle分区大批量update,Oracle 对分区作调整记得加update global indexes