2024年最新php大厂面试题,Python决策树鸢尾花类别分类(2),2024年最新字节跳动java研发面试题 社招

收集整理了一份《2024年最新Python全套学习资料》免费送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

正文

target = iris.target;

print(“data”,data); #属性值

print(“target”,target); #结果




输出  

![在这里插入图片描述](https://img-blog.csdnimg.cn/2020051811013765.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDIzNTEwOQ==,size_16,color_FFFFFF,t_70)  

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200518110151912.png)  

划分测试集和训练集和



#画分测试机和训练集 训练测试7:3

x_train,x_test,y_train,y_test = train_test_split(data,target,test_size=0.3,random_state=1);




决策树参数说明



1.criterion:string, optional (default=“mse”)

        它指定了切分质量的评价准则。默认为'mse'(mean squared error)。

2.splitter:string, optional (default=“best”)

        它指定了在每个节点切分的策略。有两种切分策咯:

        (1).splitter='best':表示选择最优的切分特征和切分点。

        (2).splitter='random':表示随机切分。

3.max_depth:int or None, optional (default=None)

         指定树的最大深度。如果为None,则表示树的深度不限,直到

         每个叶子都是纯净的,即叶节点中所有样本都属于同一个类别,

         或者叶子节点中包含小于min_samples_split个样本。

4.min_samples_split:int, float, optional (default=2)

         整数或者浮点数,默认为2。它指定了分裂一个内部节点(非叶子节点)

         需要的最小样本数。如果为浮点数(0到1之间),最少样本分割数为ceil(min_samples_split * n_samples)

5.min_samples_leaf:int, float, optional (default=1)

         整数或者浮点数,默认为1。它指定了每个叶子节点包含的最少样本数。

         如果为浮点数(0到1之间),每个叶子节点包含的最少样本数为ceil(min_samples_leaf * n_samples)

6.min_weight_fraction_leaf:float, optional (default=0.)

         它指定了叶子节点中样本的最小权重系数。默认情况下样本有相同的权重。

7.max_feature:int, float, string or None, optional (default=None)

         可以是整数,浮点数,字符串或者None。默认为None。

         (1).如果是整数,则每次节点分裂只考虑max_feature个特征。

         (2).如果是浮点数(0到1之间),则每次分裂节点的时候只考虑int(max_features * n_features)个特征。

         (3).如果是字符串'auto',max_features=n_features。

         (4).如果是字符串'sqrt',max_features=sqrt(n_features)。

         (5).如果是字符串'log2',max_features=log2(n_features)。

         (6).如果是None,max_feature=n_feature。

8.random_state:int, RandomState instance or None, optional (default=None)

         (1).如果为整数,则它指定了随机数生成器的种子。

         (2).如果为RandomState实例,则指定了随机数生成器。

         (3).如果为None,则使用默认的随机数生成器。

9.max_leaf_nodes:int or None, optional (default=None)

         (1).如果为None,则叶子节点数量不限。

         (2).如果不为None,则max_depth被忽略。

10.min_impurity_decrease:float, optional (default=0.)

         如果节点的分裂导致不纯度的减少(分裂后样本比分裂前更加纯净)大于或等于min_impurity_decrease,则分裂该节点。

         个人理解这个参数应该是针对分类问题时才有意义。这里的不纯度应该是指基尼指数。

         回归生成树采用的是平方误差最小化策略。分类生成树采用的是基尼指数最小化策略。

         加权不纯度的减少量计算公式为:

         min_impurity_decrease=N_t / N * (impurity - N_t_R / N_t * right_impurity

                            - N_t_L / N_t * left_impurity)

         其中N是样本的总数,N_t是当前节点的样本数,N_t_L是分裂后左子节点的样本数,

         N_t_R是分裂后右子节点的样本数。impurity指当前节点的基尼指数,right_impurity指

         分裂后右子节点的基尼指数。left_impurity指分裂后左子节点的基尼指数。

11.min_impurity_split:float

         树生长过程中早停止的阈值。如果当前节点的不纯度高于阈值,节点将分裂,否则它是叶子节点。

         这个参数已经被弃用。用min_impurity_decrease代替了min_impurity_split。

12.presort: bool, optional (default=False)

         指定是否需要提前排序数据从而加速寻找最优切分的过程。设置为True时,对于大数据集

         会减慢总体的训练过程;但是对于一个小数据集或者设定了最大深度的情况下,会加速训练过程。



使用GridSearchCV自动调参 比如我们调min\_samples\_leaf和max\_depth



from sklearn.model_selection import GridSearchCV

tree_param_grid = {‘min_samples_leaf’:[1,2,3,4,5,6,7,8,9,10],‘max_depth’:[2,3,4,]};

grid = GridSearchCV(sklTree.DecisionTreeClassifier(),param_grid=tree_param_grid,cv=5);

grid.fit(x_train,y_train);

print(‘best_params_’,grid.best_params_);

print(‘best_score_’,grid.best_score_);




输出  

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200518111239541.png)  

所以我们选择 max\_depth=3,min\_samples\_leaf=1,的组合



训练





### 最后

> **🍅 硬核资料**:关注即可领取PPT模板、简历模板、行业经典书籍PDF。  
> **🍅 技术互助**:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。  
> **🍅 面试题库**:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。  
> **🍅 知识体系**:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)**
![img](https://img-blog.csdnimg.cn/img_convert/4ec4d5512e79314fad29773ea7255b37.png)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
,不再深入研究,那么很难做到真正的技术提升。**

**如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)**
[外链图片转存中...(img-OwfYs0gi-1713823843925)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值