机器学习sklearn:决策树的参数、属性、接口

决策树有八个参数:Criterion,两个随机性相关的参数(random_state,splitter),五个剪枝参数(max_depth, min_samples_split,min_samples_leaf,max_feature,min_impurity_decrease)

一个属性:feature_importances_

四个接口:fit,score,apply,predict

样例:

python 复制代码
import numpy as np
import pandas as pd
from PIL.ImageColor import colormap
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_wine
from sklearn import tree

wine = load_wine()

Xtrain, Xtest, Ytrain, Ytest = train_test_split(wine.data, wine.target, test_size=0.3)


clf = tree.DecisionTreeClassifier(criterion='entropy'
                                  , random_state=30
                                  , splitter='random'
                                  , min_samples_split=10
                                  , min_samples_leaf=10
                                  , max_depth=10)

clf = clf.fit(Xtrain, Ytrain)
clf.feature_importances_
clf.apply(Xtest)
clf.predict(Xtest)

一、参数

1、criterion

参数默认gini,还有entropy,想要高拟合就用entropy

2、random_state

设置数字就是固定随机选择的种子,每次运行都一样

3、splitter

默认是"best",高拟合

担心拟合高了或特征太多就用"random"

4、max_depth

树生长的最大深度,通常是限制拟合过高的情况

5、min_samples_split,min_samples_leaf

要到min_samples_split个样本才会考虑继续分裂,分裂后的子节点不能少于min_samples_leaf

6、max_features

特征个数

二、属性

1、feature_importances_

显示每个特征的重要性

三、接口

1、fit

训练

2、score

正确率

3、predict

预测结果是哪一组

4、apply

叶子节点的索引

相关推荐
ZZHow10241 小时前
神经网络与深度学习笔记_Day1
人工智能·pytorch·笔记·python·深度学习·神经网络·机器学习
在所不辞兄2 小时前
【人工智能驱动的电催化研究-01】人工智能是什么?AI、机器学习、深度学习和神经网络之间有什么区别?
人工智能·深度学习·神经网络·机器学习·有限元仿真·电化学·电催化
罗西的思考13 小时前
【轻量化复刻大模型 / KIMI K3】KDA(Kimi Delta Attention):并行
人工智能·算法·机器学习
方方洛17 小时前
ray教程-23-附录C-术语表
人工智能·分布式·机器学习
程序猿编码18 小时前
解决 LLM 算力浪费,一套统一 KV 管理层实现缓存复用
人工智能·神经网络·机器学习·缓存·llm·大模型推理
Blockbuater_drug20 小时前
《经典机器学习实战》第 1 课:导论——是什么、简史、负责任 AI 与标准流程
机器学习·scikit-learn·监督学习·数据清洗·过拟合·训练集测试集·公平性
武天旭21 小时前
AI安全--AI大模型的关键技术组成
人工智能·深度学习·安全·机器学习
程序猿编码1 天前
RK3588 NPU LLM 推理引擎:自研底层算子,性能碾压原厂 SDK
机器学习·llm·rk3588·大模型推理
Godspeed Zhao1 天前
从零开始学AI21——决策树
算法·决策树·机器学习
Dovis(誓平步青云)1 天前
启元 T1 Pro 视觉伺服实践:基于 HSV 阈值与针孔测距的启元机器人寻物实现
开发语言·人工智能·机器学习·二次开发