机器学习100天系列学习笔记基于机器学习100天(中文翻译版),机器学习100天(英文原版)
所有代码使用iPython Notebook实现
目录
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)