机器学习项目实战——10决策树算法之动物分类
2024-06-10 13:46:34
对于决策树的参数可以多次做网格搜索,更加细致的分类,可以使准确率更好。
整体代码:
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决策树算法之动物分类相关推荐
- 【机器学习项目实战10例目录】项目详解 + 数据集 + 完整源码
前言 大家好,我是阿光. 本专栏整理了<机器学习项目实战10例>,内包含了各种不同的入门级机器学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集. 正在更新中~ ✨
- 【机器学习项目实战10例】(九):基于特征工程完成对贷款数据集Lending Club的预处理
- 【机器学习项目实战10例】(七):基于逻辑回归方法完成垃圾邮件过滤任务
- python智慧城市_智慧城市背景下Python机器学习项目实战案例分享
首先,何为智慧城市?智慧城市的"智慧"源自何处? 智慧城市的特征在于运用大数据和数字技术提高居民生活质量. 机构获得的数据越全面.越实时,它们就越有能力观测事件发生的详情.分析需求 ...
- 机器学习项目实战(五) 住房价格预测
机器学习项目实战系列 住房价格预测 目录 机器学习项目实战系列 住房价格预测 一.概述 二.分析数据 1.数据导入 2.基础统计运算 3.特征观察 4.建立模型 5.分析模型表现 (1)学习曲 ...
- 智慧城市背景下Python机器学习项目实战案例分享
首先,何为智慧城市?智慧城市的"智慧"源自何处? 智慧城市的特征在于运用大数据和数字技术提高居民生活质量. 机构获得的数据越全面.越实时,它们就越有能力观测事件发生的详情.分析需求 ...
- 【机器学习项目实战】Python基于协同过滤算法进行电子商务网站用户行为分析及服务智能推荐
说明:这是一个机器学习实战项目(附带数据+代码+文档+代码讲解),如需数据+代码+文档+代码讲解可以直接到文章最后获取. 1.项目背景 电子商务网站数量迅速上升,将电子商务网站浏览者变为实际消费者,满 ...
- 【机器学习项目实战】Python实现聚类(Kmeans)分析客户分组
说明:这是一个机器学习实战项目(附带数据+代码),如需数据+完整代码可以直接到文章最后获取. 1.问题定义 在日常银行.电商等公司中,随着时间的推移,都会积累一些客户的数据.在当前的大数据时代.人工智 ...
- Python机器学习(三)--决策树算法
Python机器学习(三)--决策树算法 原创 2014年07月14日 13:57:55
最新文章
- MIT Molecular Biology 笔记5 转录机制
- 自定义YUM软件仓库----FTP网络YUM源-----网络YUM源的配置
- ubuntu启动,而且找不到win10启动项!
- 《简明 PHP 教程》00 开篇
- FPGA水滴穿石(目录篇)
- 高性能Mysql(第三版)笔记
- Java常见gis开源框架,开源gis大全java
- 4x4矩阵键盘工作原理及扫描程序_4*4 矩阵键盘工作原理
- 计算机在微表情的应用,一种有效的微表情自动识别方法
- 5.17 图层面板的使用 [原创Ps教程]
- 如何批量给文件重命名?
- 抽象代数之第一群同构定理的证明
- 用友GRP-U8Cloud V11.0 V11.21 行政业务高校 G C版
- 特征重要性工具SHAP
- 阻碍NFT进一步发展的绊脚石都有哪些?从6个方面切入分析
- 《缠中说禅108课》84:本 ID 理论一些必须注意的问题
- 用C语言实现一个简单的扫雷游戏
- fiddler工作原理
- 3GPP 38.885 V2X解决方案
- 小时候我常常纠结,北大和清华到底上哪个好?后来事实证明,我想的有点多……...