sklearn pipeline 的用法,请举个示例python 代码
时间: 2023-12-03 17:46:16 浏览: 97
sklearn 的 pipeline 是机器学习中非常方便的工具,可以将多个预处理方法和模型组合成一个整体,用于训练和测试数据集。下面是一个简单的示例代码:
```python
from sklearn.pipeline import Pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# 导入数据集并划分训练集和测试集
iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=0)
# 创建 Pipeline 对象,包含三个步骤:缺失值填充、特征缩放和 PCA 降维
pipe = Pipeline([
('imputer', SimpleImputer(strategy='mean')),
('scaler', StandardScaler()),
('pca', PCA(n_components=2))
])
# 使用 Pipeline 对象对训练集进行预处理和训练
X_train_transformed = pipe.fit_transform(X_train, y_train)
# 使用 Pipeline 对象对测试集进行预处理和预测
score = pipe.score(X_test, y_test)
print(score)
# 把预处理和模型训练组合成一个 Pipeline 对象
clf = Pipeline([
('preprocessing', pipe),
('classifier', LogisticRegression())
])
# 使用 Pipeline 对象对训练集进行预处理和训练
clf.fit(X_train, y_train)
# 使用 Pipeline 对象对测试集进行预处理和预测
score = clf.score(X_test, y_test)
print(score)
```
这个示例中,我们使用了 Pipeline 对象来组合三个步骤:缺失值填充、特征缩放和 PCA 降维。我们还使用了另一个 Pipeline 对象来组合预处理和模型训练。最终,我们使用这个对象对测试集进行预处理和预测,并计算了预测的准确率。
阅读全文