对python sklearn one-hot编码详解

yipeiwu_com6年前Python基础

one-hot编码的作用

使用one-hot编码,将离散特征的取值扩展到了欧式空间,离散特征的某个取值就对应欧式空间的某个点

将离散特征通过one-hot编码映射到欧式空间,是因为,在回归,分类,聚类等机器学习算法中,特征之间距离的计算或相似度的计算是非常重要的,而我们常用的距离或相似度的计算都是在欧式空间的相似度计算,计算余弦相似性,基于的就是欧式空间。

sklearn的一个例子

from sklearn import preprocessing

enc = preprocessing.OneHotEncoder()

enc.fit([[0, 0, 3], [1, 1, 0], [0, 2, 1], [1, 0, 2]])
print(enc.n_values_)//每个特征对应的最大位数

print(enc.transform([[0,1,3]]).toarray())

print(enc.transform([[0,1,1]]).toarray())

上面代码enc.fit()里有一个4行3列的矩阵

1、每一列对应于一个样本的特征序列,即一个样本有三个特征

2、4行表明传入了4个样本

3、观察每一列的值可以知道:第一个特征有两个取值0,1;第二个特征有三个取值0,1,2;第三个特征有4个取值0,1,2,3

4、所以第一个特征的one-hot编码是一个两位的01串,第二个特征是一个三位的01串,第三个特征是一个4位的01串

以上这篇对python sklearn one-hot编码详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python使用yield压平嵌套字典的超简单方法

python使用yield压平嵌套字典的超简单方法

我们经常遇到各种字典套字典的数据,例如: nest_dict = { 'a': 1, 'b': { 'c': 2, 'd': 3, 'e': {'f...

pycharm下查看python的变量类型和变量内容的方法

pycharm下查看python的变量类型和变量内容的方法

用过Matlab的同学基本都知道,程序里面的变量内容可以很方便的查看到,但python确没这么方便,对于做数据处理的很不方便,其实不是没有这个功能,只是没有发现而已,今天整理一下供大家相...

Python正则表达式完全指南

Python正则表达式完全指南

正则表达式处理文本有如疾风扫秋叶,绝大部分编程语言都内置支持正则表达式,它应用在诸如表单验证、文本提取、替换等场景。爬虫系统更是离不开正则表达式,用好正则表达式往往能收到事半功倍的效果。...

Python实现的一个找零钱的小程序代码分享

Python写的一个按面值找零钱的程序,按照我们正常的思维逻辑从大面值到小面值的找零方法,人民币面值有100元,50元,20元,10元,5元,1元,5角,1角,而程序也相应的设置了这些面...

Python利用递归和walk()遍历目录文件的方法示例

Python利用递归和walk()遍历目录文件的方法示例

前言 经常需要检查一个“目录或文件夹”内部有没有我们想要的文件或者文件夹,就需要我们循环迭代出所有文件和子文件夹,Python中遍历指定目录下所有的文件和文件夹,包含多级目录,有两种方法...