这是github上的一个给力的项目,地址在这:https://github.com/MLEveryday/100-Days-Of-ML-Code
1.到入库
import numpy as np
import pandas as py
2.导入数据集
dataset = pd.read_csv('Data.csv')
dataset
X = dataset.iloc[:,:-1].values # [行,列] 除最后一列元素取全部
X
Y = dataset.iloc[:,3].values #取下标为3的列
Y
3.处理丢失数据
from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values=np.nan, strategy="mean") #用特征列的均值替代
imputer = imputer.fit(X[:, 1:3]) #左闭右开,取下标为1,2列
X[:, 1:3] = imputer.transform(X[:, 1:3])
4.解析分类数据
#引入标签编码和独热编码
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X = LabelEncoder()#先用labelencoder将字符串编码为0,1,2,再用onrhotencoder编码
X[ : , 0] = labelencoder_X.fit_transform(X[ : , 0])
#对训练集进行独热编码,对测试集进行标签编码
onehotencoder = OneHotEncoder(categories = 'auto')
X = onehotencoder.fit_transform(X).toarray()
labelencoder_Y = LabelEncoder()
Y = labelencoder_Y.fit_transform(Y)
5.拆分数据集为训练集和测试集
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)
6.特征量化
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler() #标准化
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)