第L5周:机器学习:决策树(分类模型)

目标

  1. 决策树算法是一种在机器学习和数据挖掘领域广泛应用的强大工具,它模拟人类决策过程,通过对数据集进行逐步的分析和判定,最终生成一颗树状结构,每个节点代表一个决策或一个特征。决策树的核心思想是通过一系列问题将数据集划分成不同的类别或值,从而实现对未知数据的预测和分类。这一算法的开发灵感源自人类在解决问题时的思考方式,我们往往通过一系列简单而直观的问题逐步缩小解决方案的范围。决策树的构建过程也是类似的,它通过对数据的特征进行提问,选择最能区分不同类别的特征,逐渐生成树状结构,最终形成一个可用于预测的模型。

    1. 通过通过鸢尾花数据,训练一个决策树模型,之后应用该模型,可以根据鸢尾花的四个特征去预测它的类别。

具体实现
(一)环境
语言环境 :Python 3.10
编 译 器: PyCharm

**(二)具体步骤:

  1. 导入数据:

    导入数据

    url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"
    names = ['花萼-length', '花萼-width', '花瓣-length', '花瓣-width', 'class']

    dataset = pd.read_csv(url, names=names)
    print(dataset)

  1. 数据划分:

    数据划分

    X = dataset.iloc[:, [0, 1, 2, 3]].values # 数据集第1-4列为X
    Y = dataset.iloc[:, 4].values # 数据集第5列为Y

  2. 模型训练:

    from sklearn import tree

    clf = tree.DecisionTreeClassifier() # 决策树模型
    clf = clf.fit(X, Y) # 用数据训练决策树模型
    r = tree.export_text(clf)
    print("训练后的模型:", r)

  1. 用训练后的模型来预测一下结果:

    用训练后的模型来预测一下结果

    test_data = X[[0, 1, 50, 51, 100, 101, 102, 103], :] # 抽出数据集中指定第0、1、50...103行的所有数据
    print("测试数据如下:\n", test_data)
    pred_target_prob = clf.predict_proba(test_data) # 预测类别的概率
    print("预测类别的概率如下:\n", pred_target_prob)
    pred_target = clf.predict(test_data) # 预测类别
    print("预测的类别如下:\n", pred_target)

相关推荐
面包狗AI4S7 小时前
GitHub AI4S 项目观察(2026-09-07—2026-09-13)
人工智能·深度学习·机器学习
宣宣猪的小花园.9 小时前
【机器学习】过拟合与泛化:模型为什么会“刷题很强、实战失灵”
人工智能·算法·机器学习
江畔柳前堤11 小时前
On-Policy Distillation 全景深潜
人工智能·网络协议·目标检测·http·机器学习·chatgpt·重构
Q264336502311 小时前
【有i源码】基于大数据的城市交通流量与出行特征可视化分析平台-基于Hadoop的城市交通拥堵关联规则与异常检测研究
大数据·hadoop·机器学习·数据挖掘·数据分析·spark·数据可视化
尘世中一位迷途小书童13 小时前
我为什么在 Windows 上做了一个翻译软件:SnapLingo
前端·人工智能·机器学习
别动我齐刘海13 小时前
ROS2 Jazzy + C++ 实战路线——基础学习1
c++·vscode·python·ubuntu·机器学习·自动驾驶·github
wuyk55514 小时前
3.ROS2 Humble 命令行操作详解【VMware Ubuntu22.04 实操】
物联网·机器学习·机器人
龙腾AI白云1 天前
孪生不止在工厂:能源、医疗与农业
人工智能·机器学习·scikit-learn·知识图谱
YFJ_mily1 天前
9.24早鸟通道即将关闭|IMRA2026智能制造机器人自动化IEEE会议|往届EI稳定检索,设有学生专属投稿权益
人工智能·机器学习·机器人·自动化·智能制造·rdlink研发家·马鞍山会议
renhongxia11 天前
数字孪生不止在工厂:能源、医疗与农业
人工智能·深度学习·算法·机器学习·数字孪生