Skip to content

Latest commit

 

History

History
56 lines (52 loc) · 1.86 KB

Day 1_Data_Preprocessing.md

File metadata and controls

56 lines (52 loc) · 1.86 KB

数据预处理

如图所示,通过6步完成数据预处理。

此例用到的数据代码

第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.model_selection import train_test_split
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)