第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)

相关推荐
万事可爱^2 小时前
HDBSCAN:密度自适应的层次聚类算法解析与实践
算法·机器学习·数据挖掘·聚类·hdbscan
若兰幽竹6 小时前
【机器学习】多元线性回归算法和正规方程解求解
算法·机器学习·线性回归
Watermelo6177 小时前
从DeepSeek大爆发看AI革命困局:大模型如何突破算力囚笼与信任危机?
人工智能·深度学习·神经网络·机器学习·ai·语言模型·自然语言处理
计算机软件程序设计7 小时前
深度学习在图像识别中的应用-以花卉分类系统为例
人工智能·深度学习·分类
北_鱼8 小时前
支持向量机(SVM):算法讲解与原理推导
算法·机器学习·支持向量机
IT古董12 小时前
【漫话机器学习系列】100.L2 范数(L2 Norm,欧几里得范数)
人工智能·机器学习
亲持红叶12 小时前
sklearn中的决策树-分类树:重要参数
决策树·分类·sklearn
B站计算机毕业设计超人12 小时前
计算机毕业设计Python+DeepSeek-R1高考推荐系统 高考分数线预测 大数据毕设(源码+LW文档+PPT+讲解)
大数据·python·机器学习·网络爬虫·课程设计·数据可视化·推荐算法
lcw_lance13 小时前
人工智能(AI)的不同维度分类
人工智能·分类·数据挖掘
夏莉莉iy13 小时前
[MDM 2024]Spatial-Temporal Large Language Model for Traffic Prediction
人工智能·笔记·深度学习·机器学习·语言模型·自然语言处理·transformer