当前位置: 首页 > 编程笔记 >

对python sklearn one-hot编码详解

阎德义
2023-03-14
本文向大家介绍对python sklearn one-hot编码详解,包括了对python sklearn one-hot编码详解的使用技巧和注意事项,需要的朋友参考一下

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编码详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍详解Python2.x中对Unicode编码的使用,包括了详解Python2.x中对Unicode编码的使用的使用技巧和注意事项,需要的朋友参考一下 我确定有很多关于Unicode和Python的说明,但为了方便自己的理解使用,我还是打算再写一些关于它们的东西。   字节流 vs Unicode对象 我们先来用Python定义一个字符串。当你使用string类型时,实际上会储存一个字

  • 本文向大家介绍shiro编码和加密代码详解,包括了shiro编码和加密代码详解的使用技巧和注意事项,需要的朋友参考一下 涉及到密码存储问题上,应该加密/生成密码摘要存储,而不是存储明文密码。比如之前的600w csdn账号泄露对用户可能造成很大损失,因此应加密/生成不可逆的摘要方式存储。 编码/解码  Shiro提供了base64和16进制字符串编码/解码的API支持,方便一些编码解码操作。Shi

  • Flutter’s hot reload feature helps you quickly and easily experiment, build UIs, add features, and fix bugs. Hot reload works by injecting updated source code files into the running Dart Virtual Machi

  • Flutter’s hot reload feature helps you quickly and easily experiment, build UIs, add features, and fix bugs. Hot reload works by injecting updated source code files into the running Dart Virtual Machi

  • 问题内容: 假设我有一个一维numpy数组 我想将此编码为2D一热阵列 有快速的方法吗?比循环遍历设置元素更快。 问题答案: 您的数组定义了输出数组中非零元素的列。您还需要定义行,然后使用花式索引:

  • 假设我有一个1d numpy数组 我想将其编码为一个2D one hot数组 有没有快速的方法可以做到这一点?比仅仅在上循环设置的元素更快。