Fork me on GitHub

Sklearn基础-分类模型对比(逻辑回归 vs 随机森林)01

一、逻辑回归 vs 随机森林

点击查看代码
# 导入必要的库
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report
import pandas as pd  # 导入pandas用于美化输出(可选,但推荐)

# 1. 数据加载
iris = load_iris()
X, y = iris.data, iris.target

# 2. 定义中文名称映射
# iris.target_names 原本是 ['setosa', 'versicolor', 'virginica']
# 我们把它换成中文
target_names_chinese = ['山鸢尾', '变色鸢尾', '维吉尼亚鸢尾']

# 3. 数据分割
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 4. 模型训练
lr = LogisticRegression(max_iter=1000)
lr.fit(X_train, y_train)
lr_pred = lr.predict(X_test)

# 5. 生成报告(此时 target_names 已经是中文了)
report = classification_report(y_test, lr_pred, target_names=target_names_chinese, output_dict=True)

# --- 下面是处理表头为中文的技巧 ---
# 将报告转换为 DataFrame 表格形式,方便重命名列
df_report = pd.DataFrame(report).transpose()

# 修改列名为中文
df_report.columns = ['精确率', '召回率', 'F1值', '支持数']

# 打印结果
print("逻辑回归评估报告 (中文版):")
print(df_report)


# 3. 定义随机森林模型
# n_estimators=50:找 50 个专家(决策树)来投票
rf = RandomForestClassifier(n_estimators=50, random_state=42)

# 4. 训练模型(让 50 个专家看课本学习)
rf.fit(X_train, y_train)

# 5. 预测(让专家做期末考试卷)
rf_pred = rf.predict(X_test)

# 6. 评估(老师拿着标准答案 y_test 批改试卷)
print("随机森林评估报告:\n", classification_report(y_test, rf_pred))

image

二、实战总结

1. 实验概述

本实验基于经典的鸢尾花数据集,对比了逻辑回归随机森林两种算法在多分类任务中的表现。通过数据分割、模型训练及多维度评估,验证了不同算法在处理分类问题时的有效性。

2. 核心流程

  1. 数据准备:加载鸢尾花数据,按 7:3 比例划分为训练集与测试集(random_state=42 保证结果可复现)。
  2. 模型构建
    • 逻辑回归:设置 max_iter=1000 确保收敛,作为线性基准模型。
    • 随机森林:集成 50 棵决策树(n_estimators=50),利用集成学习提升预测能力。
  3. 结果评估:使用 Pandas 格式化输出中文评估报告,重点关注精确率、召回率及 F1 值。

3. 实验结论

  • 表现:在测试集上,两个模型均达到了 100% 的准确率(F1-score = 1.0)。
  • 分析:鸢尾花数据集特征线性可分性强,逻辑回归足以完美处理;随机森林同样表现优异,验证了其强大的拟合能力。
  • 启示:并非所有问题都需要复杂模型。在数据规律清晰时,简单的线性模型(如逻辑回归)不仅计算效率高,且具备良好的解释性。

4. 关键收获

  • 掌握了 sklearn 的标准建模流程(切分-训练-预测-评估)。
  • 理解了 random_state 在实验复现中的重要性。
  • 学会了使用 Pandas 美化输出中文评估报告。
posted @ 2026-01-14 22:46  橘子偏爱橙子  阅读(2)  评论(0)    收藏  举报