机器学习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

叶子节点的索引

相关推荐
陈天伟教授7 分钟前
人工智能应用-机器听觉:15. 声纹识别的应用
人工智能·神经网络·机器学习·语音识别
板面华仔31 分钟前
机器学习入门(三)——决策树(Decision Tree)
人工智能·决策树·机器学习
源于花海1 小时前
迁移学习的前沿知识(AI与人类经验结合、传递式、终身、在线、强化、可解释性等)
人工智能·机器学习·迁移学习·迁移学习前沿
机 _ 长1 小时前
YOLO26 改进 | 基于特征蒸馏 | 知识蒸馏 (Response & Feature-based Distillation)
python·深度学习·机器学习
龙山云仓2 小时前
No140:AI世间故事-对话康德——先验哲学与AI理性:范畴、道德律与自主性
大数据·人工智能·深度学习·机器学习·全文检索·lucene
名为沙丁鱼的猫7294 小时前
【MCP 协议层(Protocol layer)详解】:深入分析MCP Python SDK中协议层的实现机制
人工智能·深度学习·神经网络·机器学习·自然语言处理·nlp
香芋Yu4 小时前
【机器学习教程】第04章 指数族分布
人工智能·笔记·机器学习
依依yyy4 小时前
沪深300指数收益率波动性分析与预测——基于ARMA-GARCH模型
人工智能·算法·机器学习
纠结哥_Shrek6 小时前
外贸选品工程师的工作流程和方法论
python·机器学习
Coding茶水间6 小时前
基于深度学习的输电电力设备检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
开发语言·人工智能·深度学习·yolo·目标检测·机器学习