版权声明:本文为博主原创文章,未经博主允许不得转载。
我的开发环境是 Jupyter lab,所用的库和版本大家参考:
Python 3.7.1(你的版本至少要3.4以上)
Scikit-learn 0.20.0 (你的版本至少要0.20)
Graphviz 0.8.4 (没有画不出决策树哦,安装代码conda install python-graphviz)
Numpy 1.15.3, Pandas 0.23.4, Matplotlib 3.0.1, SciPy 1.1.0)
在这里,我们使用SKlearn构建三种不同分布的数据,然后在这些数据集上测试一下决策树的效果,让大家更好地理解决策树。下图就是三种表现结果,后面会详细介绍实现过程~
1. 导入需要的库
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.datasets import make_moons, make_circles, make_classification
from sklearn.tree import DecisionTreeClassifier
2. 生成三种数据集
我们先从sklearn自带的数据库中生成三种类型的数据集:1)月亮型数据,2)环形数据,3)二分型数据
#make_classification库生成随机的二分型数据
X, y = make_classification(n_samples=100, #生成100个样本
n_features=2, #包含2个特征,即生成二维数据
n_redundant=0, #添加冗余特征0个
n_informative=2