对于决策树的参数可以多次做网格搜索,更加细致的分类,可以使准确率更好。

整体代码:

import pandas as pd
import numpy as np
# pip install missingno
import missingno as msno
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection  import GridSearchCVdata = pd.read_csv('zoo.csv')print(data.head())# 查看数据形状
print(data.shape)
# (101, 18)# 查看数据类型分布
print(data.dtypes)print(data.describe())# 查看数据缺失情况
p=msno.bar(data)
plt.show()# 画热力图,数值为两个变量之间的相关系数
plt.figure(figsize=(20,20))
p=sns.heatmap(data.corr(), annot=True, annot_kws = { 'fontsize' : 15 },square=True)
plt.show()# 查看类别分布
print(pd.value_counts(data["class_type"]))# 获取训练数据和标签
x_data  = data.drop(['animal_name', 'class_type'], axis=1)
y_data = data['class_type']from sklearn.model_selection import train_test_split
# 切分数据集,stratify=y表示切分后训练集和测试集中的数据类型的比例跟切分前y中的比例一致
# 比如切分前y中0和1的比例为1:2,切分后y_train和y_test中0和1的比例也都是1:2
x_train,x_test,y_train,y_test = train_test_split(x_data, y_data, test_size=0.3, stratify=y_data)tree = DecisionTreeClassifier()
tree.fit(x_train, y_train)print(tree.score(x_test, y_test))
# 0.9032258064516129# 模型优化
param_grid = {'max_depth': [5,10,15,20,25],'min_samples_split': [2,3,4,5,6],'min_samples_leaf':[1,2,3,4]}
model = GridSearchCV(DecisionTreeClassifier(),  param_grid, cv=3, iid=True)
model.fit(x_train, y_train)
print(model.best_estimator_)
# max_depth=15,min_samples_leaf=1, min_samples_split=2,
print(model.score(x_test, y_test))
# 0.967741935483871param_grid = {'max_depth': [8,9,10,11,12],'min_samples_split': [2,3,4,5,6],'min_samples_leaf':[1,2,3,4]}
model2 = GridSearchCV(DecisionTreeClassifier(),  param_grid, cv=3, iid=True)
model2.fit(x_train, y_train)
print(model2.best_estimator_)
# max_depth=8,min_samples_leaf=1, min_samples_split=2,
print(model2.score(x_test, y_test))
# 1.0

机器学习项目实战——10决策树算法之动物分类相关推荐

  1. 【机器学习项目实战10例目录】项目详解 + 数据集 + 完整源码

    前言 大家好,我是阿光. 本专栏整理了<机器学习项目实战10例>,内包含了各种不同的入门级机器学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集. 正在更新中~ ✨

  2. 【机器学习项目实战10例】(九):基于特征工程完成对贷款数据集Lending Club的预处理

  3. 【机器学习项目实战10例】(七):基于逻辑回归方法完成垃圾邮件过滤任务

  4. python智慧城市_智慧城市背景下Python机器学习项目实战案例分享

    首先,何为智慧城市?智慧城市的"智慧"源自何处? 智慧城市的特征在于运用大数据和数字技术提高居民生活质量. 机构获得的数据越全面.越实时,它们就越有能力观测事件发生的详情.分析需求 ...

  5. 机器学习项目实战(五) 住房价格预测

    机器学习项目实战系列   住房价格预测 目录 机器学习项目实战系列   住房价格预测 一.概述 二.分析数据 1.数据导入 2.基础统计运算 3.特征观察 4.建立模型 5.分析模型表现 (1)学习曲 ...

  6. 智慧城市背景下Python机器学习项目实战案例分享

    首先,何为智慧城市?智慧城市的"智慧"源自何处? 智慧城市的特征在于运用大数据和数字技术提高居民生活质量. 机构获得的数据越全面.越实时,它们就越有能力观测事件发生的详情.分析需求 ...

  7. 【机器学习项目实战】Python基于协同过滤算法进行电子商务网站用户行为分析及服务智能推荐

    说明:这是一个机器学习实战项目(附带数据+代码+文档+代码讲解),如需数据+代码+文档+代码讲解可以直接到文章最后获取. 1.项目背景 电子商务网站数量迅速上升,将电子商务网站浏览者变为实际消费者,满 ...

  8. 【机器学习项目实战】Python实现聚类(Kmeans)分析客户分组

    说明:这是一个机器学习实战项目(附带数据+代码),如需数据+完整代码可以直接到文章最后获取. 1.问题定义 在日常银行.电商等公司中,随着时间的推移,都会积累一些客户的数据.在当前的大数据时代.人工智 ...

  9. Python机器学习(三)--决策树算法

    Python机器学习(三)--决策树算法 原创  2014年07月14日 13:57:55

最新文章

  1. MIT Molecular Biology 笔记5 转录机制
  2. 自定义YUM软件仓库----FTP网络YUM源-----网络YUM源的配置
  3. ubuntu启动,而且找不到win10启动项!
  4. 《简明 PHP 教程》00 开篇
  5. FPGA水滴穿石(目录篇)
  6. 高性能Mysql(第三版)笔记
  7. Java常见gis开源框架,开源gis大全java
  8. 4x4矩阵键盘工作原理及扫描程序_4*4 矩阵键盘工作原理
  9. 计算机在微表情的应用,一种有效的微表情自动识别方法
  10. 5.17 图层面板的使用 [原创Ps教程]
  11. 如何批量给文件重命名?
  12. 抽象代数之第一群同构定理的证明
  13. 用友GRP-U8Cloud V11.0 V11.21 行政业务高校 G C版
  14. 特征重要性工具SHAP
  15. 阻碍NFT进一步发展的绊脚石都有哪些?从6个方面切入分析
  16. 《缠中说禅108课》84:本 ID 理论一些必须注意的问题
  17. 用C语言实现一个简单的扫雷游戏
  18. fiddler工作原理
  19. 3GPP 38.885 V2X解决方案
  20. 小时候我常常纠结,北大和清华到底上哪个好?后来事实证明,我想的有点多……...

热门文章

  1. php网页在iis里打不开,asp的网站在iis上打不开
  2. Oracle 11g RAC 修改服务器各类ip地址【转载】
  3. SpringnMVC视图解析失败
  4. phpspreadsheet常用设置项
  5. 多目标优化中常用的绩效指标(Performance Indicator)(最全概括)
  6. 使用Selenium获取银行账户余额
  7. neo4j图数据库Cypher语句
  8. 打造中国版《头号玩家》?《夺命玩家》元宇宙概念小说走火
  9. 《2019腾讯区块链白皮书》全文发布,13次提及Facebook加密项目Libra(附下载)
  10. 微信小程序设置背景图片