(一)算法简介
决策树是一种树形结构,其中每一个内部节点表示在一个特征(属性)上的测试,每个分支代表一个测试输出,每个叶子节点代表一种类别。
(二)代码实例
使用决策树预测糖尿病
数据源: https://www.kaggle.com/uciml/pima-indians-diabetes-database#diabetes.csv
相关数据与代码下载:https://github.com/GreedyAIAcademy/Machine-Learning/tree/master/6.%20DecisionTree.RandomForest/homework
参考引用于:贪心学院
注意: 需要使用如下命令安装额外两个包用于画图
conda install python-graphviz
conda install pydotplus
导入数据包
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.metrics import roc_auc_score
from sklearn.metrics import classification_report
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn import tree
from sklearn import metrics
特征项命名与导入数据
col_names = ['pregnant', 'glucose', 'bp', 'skin', 'insulin', 'bmi', 'pedigree', 'age', 'label']
pima = pd.read_csv("pima-indians-diabetes.csv", header=None, names=col_names)
pima.head()
分析数据
- 768 条数据, 每一条数据包含 9 个特征
- 糖尿病发病率 35%
- ……
print(pima.shape)
# 特征数据类型.
pima.dtypes
label_rate = pima.label.value_counts() / len(pima)
label_rate
pima.describe()