2)获取数据集
from sklearn.datasets import load_irisiris = load_iris()#获取前两个特征,画图观察各个模型的区别data = http://www.kingceram.com/post/iris.data[:,:2]# 特征target = iris.target# 目标值
3)绘出原始数据的图形
plt.scatter(data[:,0],data[:,1],c=target)
![Python高级--决策树](http://img.gansulong.com/231120/153H2A00-2.png)
文章插图
4)使用决策树算法() 1、获取模型并训练
dtree = DecisionTreeClassifier()dtree.fit(data,target)
2、将整个画布作为测试数据查看分类效果 构建测试数据
xmin = data[:,0].min() - 0.5xmax = data[:,0].max() + 0.5ymin = data[:,1].min() - 0.5ymax = data[:,1].max() + 0.5
# 取遍范围x = np.linspace(xmin,xmax,100)y = np.linspace(ymin,ymax,100)# 网格化处理x和y 让他们做交叉xx,yy = np.meshgrid(x,y)X_test = np.c_[xx.flatten(),yy.flatten()]# 得到画布上的每一个点
3、使用去预测
y_ = dtree.predict(X_test)
4、绘图
导入cmap制定显示颜色
from matplotlib.colors import ListedColormapcmap1 = ListedColormap(['r','g','b'])plt.scatter(X_test[:,0],X_test[:,1],c=y_)plt.scatter(data[:,0],data[:,1],c=target,cmap=cmap1)# 先画背景 后画点
默认情况下的效果
![Python高级--决策树](http://img.gansulong.com/231120/153H2H32-3.png)
文章插图
5、调整最大深度查看显示效果
:决策树 决策的次数
dtree = DecisionTreeClassifier(max_depth=1)
![Python高级--决策树](http://img.gansulong.com/231120/153H225I-4.png)
文章插图
深度太小 容易欠拟合
dtree = DecisionTreeClassifier(max_depth=6)
![Python高级--决策树](http://img.gansulong.com/231120/153H24244-5.png)
文章插图
![Python高级--决策树](http://img.gansulong.com/231120/153H23114-6.png)
文章插图
深度太大 容易过拟合
5)使用KNN算法
knn容易过拟合
1、获取模型并训练
knn = KNeighborsClassifier()knn.fit(data,target)
2、模型预测并绘图
y_ = knn.predict(X_test)plt.scatter(X_test[:,0],X_test[:,1],c=y_)plt.scatter(data[:,0],data[:,1],c=target,cmap=cmap1)
![Python高级--决策树](http://img.gansulong.com/231120/153H2L14-7.png)
文章插图
6)逻辑斯蒂回归算法
* 逻辑回归容易欠拟合*
1、获取模型并训练
lgc = LogisticRegression()lgc.fit(data,target)
2、模型预测并绘图
y_ = lgc.predict(X_test)plt.scatter(X_test[:,0],X_test[:,1],c=y_)plt.scatter(data[:,0],data[:,1],c=target,cmap=cmap1)
![Python高级--决策树](http://img.gansulong.com/231120/153H21H2-8.png)
文章插图
7)三种分类模型总结
处理分类问题
有明确的业务逻辑(反映到图上 是 很规整的散点) 这个时候适合用决策树
knn(容易过拟合)和lgc(容易欠拟合)
能不用knn 尽量不用knn 速度太慢 内存消耗太大
六、决策树处理回归问题
回归很少用决策树
使用回归预测一个椭圆
- 用 Python 开发一个【视频营销号】生成器
- 1 sklearn的学习笔记--决策树
- pythonpecan教程
- ccc-sklearn-1-决策树
- 机器学习 —— DecisionTree决策树
- TSP问题 python 实现出租车路径规划问题
- 机器学习实战2-决策树算法
- 【机器学习笔记】【决策树】【回归树】
- 一 Python自动化运维笔记:系统性能信息模块psutil
- 人工智能的世界,学Python将立于不败之地!