sklearn对鸢尾花数据集进行分类,输出分类结果。(每行代码要写上注释,解释本行代码的作用)
时间: 2025-07-05 11:10:30 浏览: 1
### 使用 `sklearn` 实现鸢尾花数据集分类
下面展示的是使用 `sklearn` 库中的逻辑回归模型对鸢尾花数据集进行多类别分类的 Python 代码示例,其中包含了详细的注释来帮助理解每一步骤的作用。
```python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, classification_report
# 加载鸢尾花数据集并查看其描述
data = load_iris()
print(data.DESCR)
# 将特征矩阵 X 和标签向量 y 分离出来
X = data.data
y = data.target
# 对数据集进行标准化处理,使各维度具有相同的尺度范围
scaler = StandardScaler().fit(X)
X_scaled = scaler.transform(X)
# 划分训练集和测试集,75%的数据作为训练样本,其余25%用来评估模型性能
X_train, X_test, y_train, y_test = train_test_split(
X_scaled, y, test_size=0.25, random_state=42)
# 创建逻辑回归实例对象,并指定参数multi_class='multinomial'以支持多类别分类任务
clf = LogisticRegression(multi_class='multinomial', solver='lbfgs')
# 训练模型,在此过程中调整权重以便最小化损失函数值
clf.fit(X_train, y_train)
# 预测新输入样本所属类别;这里是对之前划分出来的验证集中每一个观测点做预测
predictions = clf.predict(X_test)
# 输出预测结果以及真实标签之间的对比情况
for pred, actual in zip(predictions[:10], y_test[:10]):
print(f"Predicted class: {pred}, Actual class: {actual}")
# 打印最终得到的平均准确率指标
accuracy = accuracy_score(y_true=y_test, y_pred=predictions)
print("\nAccuracy:", round(accuracy * 100, 2), "%")
# 展示更全面的表现评价报告,包括精确度(Precision)、召回率(Recall)等统计信息
report = classification_report(y_test, predictions)
print(report)
```
这段代码实现了完整的机器学习工作流,从加载数据到预处理再到构建与评估模型。通过设置 `multi_class="multinomial"` 参数,可以确保所使用的逻辑回归能够有效地解决多类别的分类问题[^1]。
阅读全文
相关推荐


















