当前位置:   article > 正文

Python机器学习之决策树分类_python调用决策树分类器‘

python调用决策树分类器‘
  1. #机器学习之决策树分类
  2. #导入所需的库
  3. import pandas as pd
  4. import numpy as np
  5. from imblearn.over_sampling import SMOTE
  6. from sklearn.model_selection import train_test_split
  7. from sklearn.tree import DecisionTreeClassifier
  8. #读取文件
  9. dataset=pd.read_csv(r"H:/Code_Test/Python/data.csv")
  10. #选择数据 x为除最后一列的所有数据 y为最后一列数据
  11. x=dataset.iloc[:,:-1].values
  12. y=dataset.iloc[:,-1].values
  13. #使用SMOTE算法采样
  14. sm=SMOTE()
  15. x_data,y_data=sm.fit_resample(x,y)
  16. #设置训练集和测试集
  17. x_train,x_test,y_train,y_test=train_test_split(x_data,y_data,test_size=0.2,random_state=11)
  18. #设置分类器 其中1和0表示不同的分类标签
  19. d1=DecisionTreeClassifier(criterion='entropy',max_depth=5)
  20. d1.fit(x_train,y_train)
  21. #预测结果
  22. y_pred=d1.predict(x_test)
  23. print(y_pred)
  24. #评价结果80.48780487804879
  25. from sklearn.metrics import accuracy_score
  26. ac=accuracy_score(y_test,y_pred)*100
  27. print(ac)

代码使用了imblearn包中的SMOTE算法来对数据进行过采样。SMOTE代表合成少数类过采样技术,是解决机器学习中不平衡数据的常用技术之一。

fit_resample()方法用于对数据进行过采样。它接受两个参数:xy,分别代表特征矩阵和目标变量。fit_resample()方法返回两个数组,x_datay_data,分别表示过采样后的特征矩阵和目标变量。

决策树分类器对象,其中包含了两个参数:criterionmax_depth

criterion参数用于设置划分节点的质量度量准则,这里设置为熵(Entropy)。熵是衡量数据集纯度的一种指标,用于衡量样本的不确定性,当熵越高时,数据集的不确定性也越高,反之亦然。

max_depth参数用于设置决策树的最大深度,即从根节点到叶节点的最长路径长度。设置最大深度是为了避免过拟合,当决策树的深度达到最大深度时,算法就会停止分裂,这样可以减少模型复杂度,提高模型的泛化能力。

在二分类问题中,通常用1和0来表示不同的分类标签。

通常情况下,我们将1作为"正例"或"阳性"的标签,代表模型预测的是该样本属于某种类别或事件发生的可能性很高。

而0则通常被作为"负例"或"阴性"的标签,代表模型预测的是该样本不属于某种类别或事件发生的可能性很低。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/330892
推荐阅读
相关标签
  

闽ICP备14008679号