python种别变量怎样转化为数值型
在Python中,可使用独热编码(One-Hot Encoding)将种别变量转化为数值型。
独热编码是一种将种别变量转化为二进制向量的方法。对一个有n个种别的变量,独热编码将其转化为n个二进制变量,其中每一个变量代表一个种别,如果数据点属于该种别,则对应的二进制变量为1,否则为0。
可使用scikit-learn库中的OneHotEncoder
来进行独热编码,示例以下:
from sklearn.preprocessing import OneHotEncoder
# 定义种别变量
categories = ['A', 'B', 'C', 'A', 'B', 'C']
# 创建OneHotEncoder对象
encoder = OneHotEncoder(sparse=False)
# 将种别变量进行独热编码
encoded_categories = encoder.fit_transform(np.array(categories).reshape(⑴, 1))
print(encoded_categories)
输出结果为:
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.],
[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
每行表示一个数据点的独热编码,其中1的位置代表该数据点所属的种别。
TOP