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

相关推荐
2401_878624797 小时前
pytorch 自动微分
人工智能·pytorch·python·机器学习
胖达不服输7 小时前
「日拱一码」021 机器学习——特征工程
人工智能·python·机器学习·特征工程
小哥谈8 小时前
论文解析篇 | YOLOv12:以注意力机制为核心的实时目标检测算法
人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉
蓝婷儿9 小时前
Python 机器学习核心入门与实战进阶 Day 4 - 支持向量机(SVM)原理与分类实战
python·机器学习·支持向量机
杰夫贾维斯9 小时前
CentOS Linux 8 的系统部署 Qwen2.5-7B -Instruct-AWQ
linux·运维·人工智能·机器学习·centos
yzx99101310 小时前
AI大模型平台
大数据·人工智能·深度学习·机器学习
盛寒11 小时前
向量空间 线性代数
python·线性代数·机器学习
Better Rose11 小时前
人工智能与机器学习暑期科研项目招募(可发表论文)
人工智能·深度学习·机器学习·论文撰写
神经星星12 小时前
在线教程丨一句话精准P图,FLUX.1 Kontext可实现图像编辑/风格迁移/文本编辑/角色一致性编辑
人工智能·深度学习·机器学习
九章云极AladdinEdu16 小时前
华为昇腾NPU与NVIDIA CUDA生态兼容层开发实录:手写算子自动转换工具链(AST级代码迁移方案)
人工智能·深度学习·opencv·机器学习·华为·数据挖掘·gpu算力