如何在Python中把分类特征转换为数字特征
创建机器学习模型是很难的,不能有具有分类值的特征,这样的模型不能发挥作用。分类变量有字符串类型的值。因此,我们必须将字符串值转换成数字。这可以通过在分类的基础上创建新的特征并为其设置数值来实现。在这篇文章中,我们将看到如何在Python中把分类特征转换为数字特征
实现步骤
第1步:导入必要的软件包和模块
# import packages and modules
import numpy as np
import pandas as pd
from sklearn import preprocessing
第2步:导入CSV文件
我们将使用pandas read_csv()方法来导入CSV文件。要查看和下载所用的CSV文件,请点击这里。
# import the CSV file
df = pd.read_csv('cluster_mpg.csv')
print(df.head())
输出:
第3步:获取所有具有分类值的特征
我们使用df.info()来寻找分类特征。分类特征的Dtype为 “对象”。
df.info()
输出:
在给定的数据库列 “origin “和 “name “是对象类型。
第4步:将原点列的字符串值转换为数字值
我们将使用preprocessing.LabelEncoder().fit()方法拟合 “origin “列。
label_encoder = preprocessing.LabelEncoder()
label_encoder.fit(df["origin"])
第5步:从分类特征中获取独特的值
我们将为此目的使用label_encoder.classes_属性。
classes_:ndarray of shape (n_classes,)
保存每个类别的标签。
# finding the unique classes
print(list(label_encoder.classes_))
print()
输出
['europe', 'japan', 'usa']
第6步:转换分类值
# values after transforming the categorical column.
print(label_encoder.transform(df["origin"]))
输出: