机器学习 | 机器学习100天(1) --- 数据预处理

机器学习100天系列学习笔记基于机器学习100天(中文翻译版),机器学习100天(英文原版)

所有代码使用iPython Notebook实现

完整代码

目录

1.导入必要的库

2.导入数据集

3.处理丢失数据

4.解析分类数据

5.把数据集分割为训练集和测试集

6.特征缩放

1.导入必要的库

import numpy as np
import pandas as pd

2.导入数据集

data = pd.read_csv('Data.csv')
print(data.head()) #查看数据集的前5行
#从数据集中分离特征矩阵X和标签向量Y
X = data.iloc[:,:-1].values  
Y = data.iloc[:,-1].values

3.处理丢失数据

from sklearn.preprocessing import Imputer
#axis=0 沿0轴(沿各个行的方向对每一列进行处理)  用每一列的均值替换该列的缺失值
imputer = Imputer(missing_values = 'NaN',strategy = 'mean',axis = 0)
imputer = imputer.fit(X[:,1:3])  #仅限于对数值处理
X[:,1:3] = imputer.transform(X[:,1:3])

4.解析分类数据

from sklearn.preprocessing import LabelEncoder,OneHotEncoder

labelencoder_X = LabelEncoder()
X[:,0] = labelencoder_X.fit_transform(X[:,0])  #把国家名转换为数字

#创建虚拟变量
onehotencoder = OneHotEncoder(categorical_features=[0])
X = onehotencoder.fit_transform(X).toarray()
labelencoder_Y = LabelEncoder()
Y = labelencoder_Y.fit_transform(Y) #把Yes,No转换为1,0

5.把数据集分割为训练集和测试集

from sklearn.cross_validation import train_test_split
#测试集占20%
X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=0.2,random_state=0)

6.特征缩放

from sklearn.preprocessing import StandardScaler

sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.fit_transform(X_test)

猜你喜欢

转载自blog.csdn.net/sdu_hao/article/details/86370310