目录
引言
决策树的主要特点
决策树的构建过程
决策树的应用
数据集
代码实现
决策树(Decision Tree)是一种常用的分类与回归方法,其中最为人所知的是其在分类问题上的应用。决策树模型呈树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,每个叶节点代表一种分类结果。它使用递归的方法将数据集划分成若干个子集,从而构建出一棵决策树。
决策树的构建主要基于贪心算法,它遵循“分而治之”的原则,通过不断地选择最优特征对数据集进行划分,直到满足某个停止条件(如:所有样本都属于同一类别,或者没有更多的特征可供选择等)。
构建决策树的关键步骤包括:
决策树被广泛应用于各种领域,包括金融、医疗、市场营销、生物信息学等。例如,在金融领域,决策树可以用于信用评分、欺诈检测等;在医疗领域,决策树可以用于疾病诊断、治疗方案推荐等。
总的来说,决策树是一种简单而强大的机器学习算法,它能够以直观的方式展现数据的分类过程,并且具有良好的解释性和泛化能力
每条训练数据含有20个刻画声音特点的变量。数据还含有一个性 别标签,表示声音来自男性还是女性。
import pandas as pd from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score, precision_score, recall_score from sklearn.tree import export_graphviz import graphviz import matplotlib.pyplot as plt from sklearn import tree # 1. 获取voice.csv表中数据 data = pd.read_csv('D:/voice.csv') # 将标签转换为0和1 data['label'] = data['label'].map({'male': 1, 'female': 0}) # 2. 划分数据集 X = data.drop('label', axis=1) # 特征 y = data['label'] # 标签 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 3. 调用sklearn库中的决策树分类模型 clf = DecisionTreeClassifier() clf.fit(X_train, y_train) # 4. 计算决策树分类模型的准确率等度量指标 y_pred = clf.predict(X_test) accuracy = accuracy_score(y_test, y_pred) precision = precision_score(y_test, y_pred) recall = recall_score(y_test, y_pred) print("准确率:", accuracy) print("精确率:", precision) print("召回率:", recall) # 5. 显示构建的决策树 dot_data = export_graphviz(clf, out_file=None, feature_names=X.columns, filled=True) graph = graphviz.Source(dot_data) # 使用matplotlib绘制决策树 fig, ax = plt.subplots(figsize=(15, 10)) tree.plot_tree(clf, filled=True, feature_names=X.columns, ax=ax)
上一篇:【C++】vector的模拟实现