分类预测基本流程演示


目录:

实验五、分类预测基本流程演示

一、实验目的

1.了解在流水线上进行数据分类预测的方法。

二、实验内容

1.调用 pipeline 进行整个数据处理流程的调用。

2.调用 train_test_split 进行数据集的分割。

三、实验步骤

使用 train_test_split 可拆分数据,保留一部分数据进行测试,以尽量避免过 拟合,保留一部分数据做测试训练模型用,改变 random_state 还可以改变分离 数据的位置,test_size 默认是 0.25,可通过这个变量改变分离的数据量比例; 把常用的可重复的操作放进流水线 pipeline 上以方便训练模型。由于 sklearn 的多数类都有 fit()、fit_transform()之类的类似函数,可以将操作对象标明 操作类型后按顺序插入列表,再将这个列表传入 pipeline 以将数据按顺序处理。 训练评分一般是训练模型预测的测试数据的类标集与实际类标集的相似度,利用 评分可用于比较不同训练模型优劣。
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression

df = pd.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data', header=None)
x = df.loc[:, :3].values
y = df.loc[:, 4].values
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=43)

pipe_lr = Pipeline([('scl', StandardScaler()), ('clr', LogisticRegression())])
pipe_lr.fit(x_train, y_train)

print(pipe_lr.score(x_test, y_test))