from sklearn.svm import LinearSVC
from sklearn.pipeline import Pipeline
from sklearn import neighbors, datasets
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split def load_diabetes():
#使用 scikit-learn 自带的一个糖尿病病人的数据集
diabetes = datasets.load_diabetes()
# 拆分成训练集和测试集,测试集大小为原始数据集大小的 1/4
return train_test_split(diabetes.data,diabetes.target,test_size=0.25,random_state=0) #数据预处理流水线Pipeline模型
def test_Pipeline(X_train,X_test,y_train,y_test):
steps=[("Linear_SVM",LinearSVC(C=1,penalty='l1',dual=False)),("LogisticRegression",LogisticRegression(C=1))]
pipeline=Pipeline(steps)
pipeline.fit(X_train,y_train)
print("Named steps:",pipeline.named_steps)
print("Pipeline Score:",pipeline.score(X_test,y_test)) # 获取分类数据
X_train,X_test,y_train,y_test=load_diabetes()
# 调用 test_Pipeline
test_Pipeline(X_train,X_test,y_train,y_test)
05-11 22:43