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

相关推荐
刘海东刘海东10 分钟前
结构型智能科技的关键可行性——信息型智能向结构型智能的转变(修改提纲)
人工智能·算法·机器学习
路溪非溪1 小时前
机器学习之线性回归
人工智能·机器学习·线性回归
遇雪长安3 小时前
差分定位技术:原理、分类与应用场景
算法·分类·数据挖掘·rtk·差分定位
是Dream呀3 小时前
基于连接感知的实时困倦分类图神经网络
神经网络·分类·数据挖掘
Blossom.1183 小时前
机器学习在智能制造业中的应用:质量检测与设备故障预测
人工智能·深度学习·神经网络·机器学习·机器人·tensorflow·sklearn
巴伦是只猫4 小时前
【机器学习笔记 Ⅱ】1 神经网络
笔记·神经网络·机器学习
烟锁池塘柳04 小时前
【深度学习】强化学习(Reinforcement Learning, RL)主流架构解析
人工智能·深度学习·机器学习
AI数据皮皮侠7 小时前
中国区域10m空间分辨率楼高数据集(全国/分省/分市/免费数据)
大数据·人工智能·机器学习·分类·业界资讯
张德锋7 小时前
Pytorch实现天气识别
机器学习
Wilber的技术分享9 小时前
【机器学习实战笔记 14】集成学习:XGBoost算法(一) 原理简介与快速应用
人工智能·笔记·算法·随机森林·机器学习·集成学习·xgboost