美文网首页
[sklearn]One-Hot转换

[sklearn]One-Hot转换

作者: Silver_42ac | 来源:发表于2021-03-08 10:59 被阅读0次

在机器学习中,对于分类变量要进行

from sklearn.preprocessing import OneHotEncoder

def df2onehot_narray(input_matrix):
    in_df = input_matrix
    var_2 = {}
    var_1 = {}
    var_0 = {}
    #Label_values= [0,1,2] #t_df.columns
    
    #columns_len = len(list(t_df.columns))#list(t_df.columns)  #columns 列的名字;可以换 range(columns_len)
    for col in list(t_df.columns):
        var_0[col] = 0
        var_1[col] = 1
        var_2[col] = 2
    var_0_df = pd.DataFrame(var_0,index=["var_0"])
    var_1_df = pd.DataFrame(var_1,index=["var_1"])
    var_2_df = pd.DataFrame(var_2,index=["var_2"])
    in_df = in_df .append(var_0_df)
    in_df = in_df .append(var_1_df)
    in_df = in_df .append(var_2_df)

    values = np.unique(in_df .values)#values#输出为多维的 (numpy array ,narray) #从df中获得所有唯一的标签(值)
    # values 内部可以重复,但是必须是1维度的(1D);np.unique()可以做到转为1维度
    # integer encode
    label_encoder = LabelEncoder() #导入类对象(类似导入针对特定数据的流程,包含多步骤函数和获得属性变量,就是常说的类class 写法)
    integer_encoded = label_encoder.fit_transform(values)
    onehot_encoder = OneHotEncoder(sparse=False) 
    #初始化OneHotEncoder实例时,默认sparse参数为True,编码后返回的是一个稀疏矩阵的对象,如果要使用一般要调用toarray()方法转化成array对象。若将sparse参数设置为False,则直接生成array对象,可直接使用
    
    # binary encode
    integer_encoded = integer_encoded.reshape(len(values),1)
    onehot_np_array = onehot_encoder.fit_transform(in_df)
    return onehot_np_array[0:-3]  #返回值去掉最后3个自己添加的内容,这三个样品 特征,是为了保证所有样品特征都有这三个标签,方便转换;以及和训练集合的对应

参考:
l利用sklearn进行One-Hot转换
sklearn中OneHotEncoder使用注意事项——sparse参数
Pandas:DataFrame数据的更改、插入新增的列和行
np.unique( )的用法

相关文章

  • [sklearn]One-Hot转换

    在机器学习中,对于分类变量要进行 参考:l利用sklearn进行One-Hot转换[https://blog.cs...

  • 使用 SKLearn 同时对多列进行 One-Hot Encod

    One-Hot Encoding 在机器学习的预处理中, 是一个非常常见的操作。 SKLearn 提供 OneH...

  • 独热编码(One-Hot Encoding)

    特征工程里会遇到属性非数值难以处理的情况,这时就可以用One-hot Encoding了 今天学习了sklearn...

  • pytorch中label转换

    在pytorch中,损失函数计算的时候,经常需要将label转换为one-hot的形式,在pytorch中怎么转换...

  • LabelEncoder和LabelBinarizer的区别

    LabelBinarizer 输出为: LabelBinarizer它将标签转换成了one-hot的形式。 Lab...

  • One-hot与Word2Vec

    one-hot是文本向量化最常用的方法之一。 1.1 one-hot编码 什么是one-hot编码?one-hot...

  • 2019-01-25

    写出 svm 原始问题转换至其对偶问题的数学推导过程: 1 导包: from sklearn import svm...

  • 准备数据、构建网络、编译模型

    准备数据 标签向量化 标签向量化有两种方法:1、将标签列表转换为整数张量;2、one-hot 编码。上述例子即为 ...

  • 7、tf 特征处理

    使用特征列可以将类别特征转换为one-hot编码特征,将连续特征构建分桶特征,以及对多个特征生成交叉特征等等。 要...

  • word2vec 中CBOW和skip-gram随笔

    神经网络处理文本时处理的为数据元素不能直接处理文本,因此考虑将文本转换成数字,起初使用one-hot对词进行表示,...

网友评论

      本文标题:[sklearn]One-Hot转换

      本文链接:https://www.haomeiwen.com/subject/vyxpqltx.html