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

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

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

具体实现
(一)环境
语言环境: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)

image.png
2. 数据划分:

# 数据划分  
X = dataset.iloc[:, [0, 1, 2, 3]].values  # 数据集第1-4列为X  
Y = dataset.iloc[:, 4].values             # 数据集第5列为Y
  1. 模型训练:
from sklearn import tree  
  
clf = tree.DecisionTreeClassifier()  # 决策树模型  
clf = clf.fit(X, Y)     # 用数据训练决策树模型  
r = tree.export_text(clf)  
print("训练后的模型:", r)

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

# 用训练后的模型来预测一下结果  
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)

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值