鸢尾花数据集上的逻辑回归分类器

Machine LearningMachine LearningBeginner
立即练习

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

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,我们将使用逻辑回归分类器根据鸢尾花数据集(Iris dataset)的前两个特征及其标签进行分类。我们将使用scikit-learn库加载和预处理数据集,创建逻辑回归分类器的实例,并拟合数据。最后,我们将在散点图上显示决策边界。

虚拟机使用提示

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/ModelSelectionandEvaluationGroup(["Model Selection and Evaluation"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn(("Sklearn")) -.-> sklearn/CoreModelsandAlgorithmsGroup(["Core Models and Algorithms"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/linear_model("Linear Models") sklearn/ModelSelectionandEvaluationGroup -.-> sklearn/inspection("Inspection") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/linear_model -.-> lab-49169{{"鸢尾花数据集上的逻辑回归分类器"}} sklearn/inspection -.-> lab-49169{{"鸢尾花数据集上的逻辑回归分类器"}} ml/sklearn -.-> lab-49169{{"鸢尾花数据集上的逻辑回归分类器"}} end

加载数据集并进行预处理

我们将使用scikit-learn库来加载鸢尾花数据集。该数据集包含3个类别,每个类别有50个实例,每个类别代表一种鸢尾属植物。每个实例有4个特征:萼片长度、萼片宽度、花瓣长度和花瓣宽度。

import matplotlib.pyplot as plt
from sklearn.linear_model import LogisticRegression
from sklearn import datasets
from sklearn.inspection import DecisionBoundaryDisplay

## 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data[:, :2]  ## 我们只取前两个特征。
Y = iris.target

创建逻辑回归分类器实例并拟合数据

我们将创建一个逻辑回归分类器实例并拟合数据。

## 创建逻辑回归分类器实例并拟合数据。
logreg = LogisticRegression(C=1e5)
logreg.fit(X, Y)

在散点图上显示决策边界

我们将使用scikit-learn库中的DecisionBoundaryDisplay在散点图上显示决策边界。

_, ax = plt.subplots(figsize=(4, 3))
DecisionBoundaryDisplay.from_estimator(
    logreg,
    X,
    cmap=plt.cm.Paired,
    ax=ax,
    response_method="predict",
    plot_method="pcolormesh",
    shading="auto",
    xlabel="Sepal length",
    ylabel="Sepal width",
    eps=0.5,
)

## 同时绘制训练点
plt.scatter(X[:, 0], X[:, 1], c=Y, edgecolors="k", cmap=plt.cm.Paired)

plt.xticks(())
plt.yticks(())

plt.show()

总结

在本实验中,我们使用逻辑回归分类器根据鸢尾花数据集(Iris dataset)的前两个特征及其标签进行分类。我们使用scikit-learn库加载并预处理了数据集,创建了逻辑回归分类器的实例,并对数据进行了拟合。最后,我们在散点图上显示了决策边界。