首页 AI前沿 Web开发 机器学习 深度学习 Go编程 Python编程 网络技术 区块链 时间序列 闲情逸致 我的网站

决策树鸢尾花数据集分类

实现了一个基于决策树的鸢尾花数据集分类任务,整体结构清晰,步骤完整。这段代码主要完成了以下工作:

  • 导入了必要的库(数据集、模型选择、决策树分类器和评估指标)
  • 加载鸢尾花数据集并拆分特征 (X) 和目标变量 (y)
  • 将数据集划分为训练集 (70%) 和测试集 (30%)
  • 创建并训练决策树分类器
  • 使用训练好的模型对测试集进行预测
  • 计算并输出模型的准确率

决策树模型在鸢尾花数据集上通常会表现得很好,因为这个数据集特征明显且类别可分性强。运行这段代码时,你应该会得到一个较高的准确率(通常在 95% 以上)。

如果想进一步优化模型,你可以尝试调整决策树的参数,如max_depth、min_samples_split等,来防止过拟合并可能获得更稳定的性能。

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score

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

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 创建决策树分类器
#clf = DecisionTreeClassifier()
# 使用参数调整的决策树
clf = DecisionTreeClassifier(max_depth=3, min_samples_split=5, random_state=42)
clf.fit(X_train, y_train)

# 预测
y_pred = clf.predict(X_test)

# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"决策树准确率: {accuracy}")

数据集基本信息

鸢尾花数据集(Iris dataset)是机器学习和统计学习领域中最经典的数据集之一,由英国统计学家和生物学家罗纳德·费希尔(Ronald Fisher)在1936年的论文中首次提出,常用于分类算法的演示和测试。

  • 样本数量:150个
  • 类别数量:3种鸢尾花(目标变量)
    • 山鸢尾(Iris setosa)
    • 变色鸢尾(Iris versicolor)
    • 维吉尼亚鸢尾(Iris virginica)
  • 每个类别样本数:各50个

特征变量(4个数值型特征,单位:厘米)

  1. 花萼长度(sepal length)
  2. 花萼宽度(sepal width)
  3. 花瓣长度(petal length)
  4. 花瓣宽度(petal width)

数据集特点

  • 属于多类别分类问题(3个类别)
  • 特征与类别具有较强的相关性(例如花瓣长度可有效区分山鸢尾与其他品种)
  • 数据分布相对均衡,无严重缺失值
  • 特征维度低(仅4维),可视化容易

适用场景

  • 分类算法入门演示(如决策树、KNN、逻辑回归等)
  • 特征选择与数据可视化练习
  • 模型评估与参数调优实验

由于其简单性和典型性,鸢尾花数据集成为机器学习初学者的"Hello World",几乎所有机器学习库(如scikit-learn、TensorFlow等)都内置了该数据集,方便快速上手实践。

posted @ 2025-08-14 18:19  gosamuel  阅读(100)  评论(0)    收藏  举报
© 2025 Woloveai | 版权所有 如有侵权,请联系删除。