阅读 102

机器学习:数据预处理之将类别数据数字化的方法 —— LabelEncoder VS OneHotEncoder

LabelEncoder 和 OneHotEncoder 是什么

- 在数据处理过程中,我们有时需要对不连续的数字或者文本进行数字化处理。 - 在使用 Python 进行数据处理时,用 encoder 来转化 dummy variable(虚拟数据)非常简便,encoder 可以将数据集中的文本转化成0或1的数值。 - LabelEncoder 和 OneHotEncoder 是 scikit-learn 包中的两个功能,可以实现上述的转化过程。 - sklearn.preprocessing.LabelEncoder - sklearn.preprocessing.OneHotEncoder  复制代码

数据集中的类别数据

在使用回归模型和机器学习模型时,所有的考察数据都是数值更容易得到好的结果。 因为回归和机器学习都是基于数学函数方法的,所以当我们要分析的数据集中出现了类别数据(categorical data),此时的数据是不理想的,因为我们不能用数学的方法处理它们。 例如,在处理男和女两个性别数据时,我们用0和1将其代替,再进行分析。 由于这种情况的出现,我们需要可以将文字数字化的现成方法。 复制代码

LabelEncoder 和 OneHotEncoder 的区别

具体代码

import pandas as pd from sklearn.preprocessing import LabelEncoder, OneHotEncoder from sklearn.cross_validation import train_test_split # 读取数据 data_df = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/'                  'breast-cancer-wisconsin/wdbc.data', header=None) # 前面的数据是特征,最后一列是标签label x, y = data_df.values[:, :-1], data_df.values[:, -1] # 先实例化一个对象 encoder_x = LabelEncoder()  # 对标签进行类别数据数字化 y = encoder_x.fit_transform( y )


作者:HZ在掘金75963
链接:https://juejin.cn/post/7018066861132611591


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐