决策树实践

本文介绍了决策树中的CART分类和回归算法,并通过sklearn库展示了鸢尾花数据的决策树分类实践,详细阐述了实验流程,包括数据导入、预处理和画图展示。此外,讨论了决策树回归问题,强调了拟合函数和树深度对结果的影响,并提及了随机森林的实践应用。
摘要由CSDN通过智能技术生成

知识点补充
证明:
在这里插入图片描述
函数可以看成n 个优化函数之和
在这里插入图片描述在这里插入图片描述
2:CART 分类算法
在这里插入图片描述
3:CART 回归算法
在这里插入图片描述
决策树算法代码实践
实验一:sklearn自带鸢尾花数据决策树分类
基本流程:
1:数据导入 from sklearn.data import load_iris
2:数据预处理 3类花4中特征 特征两两一组分开
3:每一组做一次并画出分类结果图,对某一组画出决策树分支图

import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
from sklearn.tree import DecisionTreeClassifier,plot_tree
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split


if __name__=='__main__':
    mpl.rcParams['font.sans-serif'] = ['SimHei']
    mpl.rcParams['axes.unicode_minus'] = False
    iris_feature='花萼长度','花萼宽度','花瓣长度','花瓣宽度'
    path='..\\..\\..\\..\\..\\iris.data'
    data=pd.read_csv(path,header=None)
    x=data[list(range(4))]
    y=LabelEncoder().fit_transform(data[4])
    x_train_pre,x_test_pre,y_train,y_test = train_test_split(x,y,train_size=0.7,random_state=0)
    plt.figure(figsize=(6,6),facecolor='w')
    for Indexpair,pair in enumerate([[0,1],[0,2],[0,2],[1,2],[1,3],[2,3]]):
        x_train = x_train_pre[pair]
        x_test = x_test_pre[pair]
        model=DecisionTreeClassifier(max_depth=6,min_samples_leaf=3,criterion='entropy')
        model=model.fit(x_train,y_train)
        # 画图
        N,M=500,500
        x1_min,x2_min=x_train.min()
        x1_max, x2_max = x_train.max()
        t1=np.linspace(x1_min,x1_max,N)
        t2 = np.linspace(x2_min, x2_max, N)
        # 生成网格采样点
        x1,x2=np.meshgrid(t1,t2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值