• 独热编码


    独热编码OneHotEncoder可以将分类字符串变量数值化,例如:

    这里有三个样本,每个样本有三个特征,我们可以用独热编码将其转换成数字,代码如下

    from sklearn import preprocessing
    X=[['male','USA','firefox'],['female','UK','google'],['male','China','ie']]
    enc=preprocessing.OneHotEncoder()
    enc.fit(X) #训练模型
    print(enc.transform([['male','USA','google'],['female','UK','firefox']]).toarray())#测试集得出结果

    运行结果如下可见三个特征并不是转换成三个数字,而是一个特征转换成了多个数字

    接下来看看从文件中导入离散数据并将这些离散特征通过独热编码数值化,关键是要先把数据存入一个二维矩阵中(原文件数据中第一行是变量名称,否则会少一行)。

    import pandas as pd
    import numpy as np
    from sklearn import preprocessing
    from pandas import DataFrame
    data=pd.read_excel(r"C:UsersLiugengxinDesktop课程数据科学大作业小数据集测试离散.xlsx") #这里用pandas的read_excel方法将数据读入
    arr=np.array(data) #将data转换为数组放在arr中
    enc=preprocessing.OneHotEncoder()
    enc.fit(arr) #训练模型
    data=enc.transform(arr).toarray() #将测试集用该模型转换成数字
    DataFrame(data).to_excel(r'c:UsersLiugengxinDesktop2.xlsx')  #将结果写入文件中
  • 相关阅读:
    C/C++ assert() 函数用法
    C/C++ 字符编码的转换(ut8、gb2312)
    C++多字节与宽字节间的转换(wchar_t与char转换)
    C语言中的多字节字符与宽字符
    表表达式
    OEE
    机器表现性
    出勤时间
    设备直接利用率
    SQL execution time
  • 原文地址:https://www.cnblogs.com/Liu269393/p/10259124.html
Copyright © 2020-2023  润新知