Scikit - 学习估计器和管道

Beginner

This tutorial is from open-source community. Access the source code

简介

在本实验中,我们将学习使用 scikit-learn 显示估计器和管道的不同方法。估计器和管道是 scikit-learn 包的重要组成部分,使我们能够构建和评估机器学习模型。

虚拟机提示

虚拟机启动完成后,点击左上角切换到“笔记本”标签,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,请随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。

紧凑文本表示

我们可以通过紧凑文本表示来显示估计器。当估计器作为字符串显示时,只会显示已设置为非默认值的参数。这减少了视觉干扰,便于在比较实例时更容易发现差异。

from sklearn.linear_model import LogisticRegression

## 创建一个使用 l1 正则化的逻辑回归实例
lr = LogisticRegression(penalty="l1")

## 显示估计器
print(lr)

丰富的 HTML 表示

我们可以通过丰富的 HTML 表示来显示估计器,这是显示估计器的第二种方式。在笔记本中,估计器和管道将使用丰富的 HTML 表示。这对于总结管道和其他复合估计器的结构特别有用,并且具有提供详细信息的交互性。

from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import OneHotEncoder, StandardScaler
from sklearn.impute import SimpleImputer
from sklearn.compose import make_column_transformer
from sklearn.linear_model import LogisticRegression

## 为数值型和分类型数据创建管道
num_proc = make_pipeline(SimpleImputer(strategy="median"), StandardScaler())
cat_proc = make_pipeline(
    SimpleImputer(strategy="constant", fill_value="missing"),
    OneHotEncoder(handle_unknown="ignore")
)

## 创建一个预处理器,将数值型和分类型管道应用于特定列
preprocessor = make_column_transformer(
    (num_proc, ("feat1", "feat3")), (cat_proc, ("feat0", "feat2"))
)

## 创建一个应用预处理器和逻辑回归的管道
clf = make_pipeline(preprocessor, LogisticRegression())

## 显示管道
clf

总结

在本实验中,我们学习了使用 scikit-learn 显示估计器和管道的两种方法:紧凑文本表示和丰富的 HTML 表示。这些表示对于总结管道和其他复合估计器的结构以及比较不同实例很有用。通过使用这些技术,我们可以更好地理解机器学习模型及其性能。