作者:流行天王MJ | 来源:互联网 | 2023-10-11 17:54
这篇文章主要为大家介绍了机器学习:数据预处理之将类别数据数字化的方法LabelEncoder VS OneHotEncoder区别详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
目录
- LabelEncoder 和 OneHotEncoder 是什么
- 数据集中的类别数据
- LabelEncoder 和 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 )
以上就是python 数据数字化的方法LabelEncoder VS OneHotEncoder区别的详细内容,更多关于LabelEncoder VS OneHotEncoder的资料请关注编程笔记其它相关文章!