一般来说,使用sklearn建模时步骤如下:
0、start
1、分隔训练集和测试集(和验证集)
2、数据预处理
3、特征选择
4、模型选择
5、使用GridSearchCV进行参数寻优
6、end
其中,数据预处理部分可能需要先fit_transform再transform,相对较为繁琐,此时可以通过Pipeline(管道)进行流水线处理。
代码讲解如下:
#导入需要的包
In [296]: import numpy as np
In [297]: from sklearn.datasets import load_digits
In [299]: from sklearn.svm import SVC
In [300]: from sklearn.preprocessing import MinMaxScaler
In [301]: from sklearn.pipeline import Pipeline
In [304]: from sklearn.model_selection import train_test_split
#划分训练集测试集
In [307]: x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3)
#数据预处理
In [308]: scaler = MinMaxScaler()
#模型选择
In [309]: model = SVC(probability=True)
#Pipeline通过一个由2个参数的元组组成的列表构成,其中元组中第一个参数为自定义name,第二个为处理对象
#需要按照流水线顺序放入
In [310]: pipe = Pipeline([('norm', scaler), ('clf', model)])
#通过上一步自定义的name+