机器学习-Python实践Day3(特征工程--数据预处理2)

1、数据预处理2(自定义数据)

  • 1、数据预处理2
    • 1.1、处理缺失数据
    • 1.2、标签编码与独热编码

1、数据预处理2

# 引入数据集
import pandas as pd
df=pd.read_excel('data.xlsx')
df

可以看到数据中存在NaN值。
机器学习-Python实践Day3(特征工程--数据预处理2)_第1张图片
划分特征和标签集

X=df.iloc[:,0:3].values
Y=df.iloc[:,3].values

1.1、处理缺失数据

对数据中可能出现的存在缺失值NaN的数据,我们可以通过取平均值(strategy=mean)的方式填充数据。

# 填充缺失数据
from sklearn.preprocessing import Imputer
imputer=Imputer(missing_values='NaN',strategy='mean',axis=0)
X[:,1:3]=imputer.fit_transform(X[:,1:3])
X

机器学习-Python实践Day3(特征工程--数据预处理2)_第2张图片

1.2、标签编码与独热编码

有些数据不是数值类型的,而有可能是字符类型或编码。比如以下数据的城市名称Country字段和是否购买Purchased字段。这些字段数据是无法引入到模型中的,因此可以通过标签编码和独热编码进行处理。
机器学习-Python实践Day3(特征工程--数据预处理2)_第3张图片

from sklearn.preprocessing import LabelEncoder,OneHotEncoder
labelEncoder_X=LabelEncoder()
X[:,0]=labelEncoder_X.fit_transform(X[:,0])
print('标签编码后的X:',X)
onehotencoder_X=OneHotEncoder(categorical_features=[0])
X=onehotencoder_X.fit_transform(X).toarray()
print('独热编码后的X:',X)

labelencoder_Y=LabelEncoder()
Y=labelencoder_Y.fit_transform(Y)
print('标签编码后的Y:',Y)

机器学习-Python实践Day3(特征工程--数据预处理2)_第4张图片

你可能感兴趣的