[机器学习]Day 1~3  数据预处理 第1步:导入库 第2步:导入数据集 第3步:处理丢失数据 第4步:解析分类数据   第5步:拆分数据集为训练集合和测试集合 第6步:特征量化   简单线性回归模型 第一步:数据预处理 第二步:训练集使用简单线性回归模型来训练 第三步:预测结果 第四步:可视化   多元线性回归 第1步: 数据预处理 导入库 导入数据集 将类别数据数字化 躲避虚拟变量陷阱 拆分数据集为训练集和测试集   第2步: 在训练集上训练多元线性回归模型 Step 3: 在测试集上预测结果     
  
 
 数据预处理  
 
 第1步:导入库  
import numpy as np
import pandas as pd
  
 第2步:导入数据集  
// 随后一列是label
dataset =  pd. read_csv( 'Data.csv' ) // 读取csv文件
X =  dataset. iloc[  :  ,  : - 1 ] . values// . iloc[ 行,列] 
Y =  dataset. iloc[  :  ,  3 ] . values  //  :  全部行 or  列;[ a] 第a行 or  列//  [ a, b, c] 第 a, b, c 行 or  列
  
 第3步:处理丢失数据  
from  sklearn. preprocessing import  Imputer
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) 
  
 第5步:拆分数据集为训练集合和测试集合  
from  sklearn. cross_validation import  train_test_split
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. transform( X_test) 
  
 简单线性回归模型  
 
 第一步:数据预处理  
import  pandas as  pd
import  numpy as  np
import  matplotlib. pyplot as  pltdataset =  pd. read_csv( 'studentscores.csv' ) 
X =  dataset. iloc[  :  ,    :  1  ] . values
Y =  dataset. iloc[  :  ,  1  ] . valuesfrom  sklearn. model_selection import  train_test_split
X_train,  X_test,  Y_train,  Y_test =  train_test_split(  X,  Y,  test_size =  1 / 4 ,  random_state =  0 )  
  
 第二步:训练集使用简单线性回归模型来训练  
from  sklearn. linear_model import  LinearRegression
regressor =  LinearRegression( ) 
regressor =  regressor. fit( X_train,  Y_train) 
  
 第三步:预测结果  
Y_pred =  regressor. predict( X_test) 
  
 第四步:可视化  
 训练集结果可视化  
plt. scatter( X_train ,  Y_train,  color =  'red' ) 
plt. plot( X_train ,  regressor. predict( X_train) ,  color = 'blue' ) 
plt. show( ) 
  
 测试集结果可视化  
plt. scatter( X_test ,  Y_test,  color =  'red' ) 
plt. plot( X_test ,  regressor. predict( X_test) ,  color = 'blue' ) 
plt. show( ) 
  
 多元线性回归  
 
 第1步: 数据预处理  
 导入库  
import  pandas as  pd
import  numpy as  np
  
 导入数据集  
dataset =  pd. read_csv( '50_Startups.csv' ) 
X =  dataset. iloc[  :  ,  : - 1 ] . values
Y =  dataset. iloc[  :  ,   4  ] . values
  
 将类别数据数字化  
from  sklearn. preprocessing import  LabelEncoder,  OneHotEncoder
labelencoder =  LabelEncoder( ) 
X[ :  ,  3 ]  =  labelencoder. fit_transform( X[  :  ,  3 ] ) 
onehotencoder =  OneHotEncoder( categorical_features =  [ 3 ] ) 
X =  onehotencoder. fit_transform( X) . toarray( ) 
  
 躲避虚拟变量陷阱  
X =  X[ :  ,  1 : ] 
  
 拆分数据集为训练集和测试集  
from  sklearn. model_selection import  train_test_split
X_train,  X_test,  Y_train,  Y_test =  train_test_split( X,  Y,  test_size =  0.2 ,  random_state =  0 ) 
  
 第2步: 在训练集上训练多元线性回归模型  
from  sklearn. linear_model import  LinearRegression
regressor =  LinearRegression( ) 
regressor. fit( X_train,  Y_train) 
  
 Step 3: 在测试集上预测结果  
y_pred =  regressor. predict( X_test)