Python 如何使用决策树在Python中构建分类器?

Python 如何使用决策树在Python中构建分类器?

决策树是随机森林算法的基本构建模块。它被认为是机器学习中最流行的算法之一,并用于分类目的。它们非常受欢迎,因为它们很容易理解。

决策树给出的决策可以用于解释为什么做出了某个预测。这意味着过程的内外将清晰可见。它们还是诸如Bagging、Random forests和Gradient boosting等集合方法的基础。它们还被称为CART,即分类和回归树。它可以被视为二叉树(在数据结构和算法中研究的树)。

树中的每个节点表示一个单独的输入变量,而叶节点(也称为终端节点)包含输出变量。这些叶节点用于进行节点上的预测。创建决策树时,基本思想是将给定空间分成多个部分。将所有值放在一起,尝试不同的分割,以获得更低的代价和最佳的预测值。这些值是以贪婪的方式选择的。

直到树的最大深度达到之前,这些节点的分裂将持续进行。使用决策树的想法是根据特定的特征值将输入数据集划分为较小的数据集,直到每个目标变量属于一个单一的类别。进行此分割以获得每一步的最大信息增益。

每个决策树都以根开始,这是进行第一次分裂的地方。应该制定一种有效的方法来确保定义节点。

这就是Gini值的作用。Gini被认为是最常用的用于衡量不平等的测量之一。不平等指的是节点中每个子集可能属于的目标类别(输出)。

因此,在每次拆分后计算Gini值。基于Gini值/不平等值,可以定义信息增益。

DecisionTreeClassifier用于执行多类分类。

下面是相应的语法。

class sklearn.tree.DecisionTreeClassifier(*, criterion='gini',)
Python

以下是例子 –

阅读更多:Python 教程

示例

from sklearn import tree
from sklearn.model_selection import train_test_split
my_data = [[16,19],[17,32],[13,3],[14,5],[141,28],[13,34],[186,2],[126,25],[176,28],
[131,32],[166,6],[128,32],[79,110],[12,38],[19,91],[71,136],[116,25],[17,200], [15,25], [14,32],[13,35]]
target_vals =['Man','Woman','Man','Woman',
'Woman','Man','Woman','Woman',
'Woman','Woman','Woman','Man','Man',
'Man','Woman', 'Woman', 'Woman',
'Woman','Man','Woman','Woman']
data_feature_names = ['Feature_1','Feature_2']
X_train, X_test, y_train, y_test = train_test_split(my_data, target_vals, test_size = 0.2, random_state = 1)
clf = tree.DecisionTreeClassifier()
print("正在调用决策树分类器")
DTclf = clf.fit(my_data,target_vals)
prediction = DTclf.predict([[135,29]])
print("预测值是")
print(prediction)
Python

输出

正在调用决策树分类器
预测值是
['Woman']
Python

说明

  • 将必要的包导入环境。
  • 使用该代码基于特征值分类目标值的值。
  • 定义特征向量和目标值。
  • 使用‘train_test_split’函数将数据分成训练集和测试集。
  • 调用DecisionTreeClassifier并将数据拟合到模型中。
  • 使用‘predict’函数预测特征值的值。
  • 在控制台上显示输出结果。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册