Kaggle比赛:成人人口收入分类

拿到数据首先查看数据信息和描述  

import pandas as pd  
import seaborn as sns  
import matplotlib.pyplot as plt  # 加载数据(保留原路径,但在实际应用中建议使用相对路径或环境变量)  
data = pd.read_csv(r"C:\Users\11794\Desktop\收入分类\training.csv", encoding='utf-8', encoding_errors='replace')  # 查看数据信息和描述  
data.info()

选择数值列进行相关性分析计算相关性矩阵绘制热力图  

import pandas as pd  
import seaborn as sns  
import matplotlib.pyplot as plt  # 加载数据(保留原路径,但在实际应用中建议使用相对路径或环境变量)  
data = pd.read_csv(r"C:\Users\11794\Desktop\收入分类\training.csv", encoding='utf-8', encoding_errors='replace')  # 绘制热力图  
# 选择数值列进行相关性分析  
numerical_columns = data.select_dtypes(include=['int64', 'float64']).columns
# 计算相关性矩阵  
correlation_matrix = data[numerical_columns].corr()  
# 绘制热力图  
plt.figure(figsize=(12, 10))  
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', linewidths=0.5)  
plt.title('Correlation Heatmap')  
plt.savefig('correlation_heatmap.png', bbox_inches='tight')  # 保存热力图到当前目录

随后就是数据分割 ,创建并训练模型,这里我选择用决策树分类器  

import pandas as pd    
from sklearn.model_selection import train_test_split    
from sklearn.tree import DecisionTreeClassifier  # 导入决策树分类器  
from sklearn.metrics import classification_report    
import matplotlib.pyplot as plt    
from sklearn.metrics import roc_curve, auc  
import numpy as np  # 加载数据(假设数据保存在CSV文件中)    
data = pd.read_csv(r"C:\Users\11794\Desktop\收入分类\training.csv", encoding='utf-8', encoding_errors='replace')   
test_data = pd.read_csv(r"C:\Users\11794\Desktop\收入分类\testing.csv", encoding='utf-8', encoding_errors='replace')    # 选择特征和目标变量    
X = data.drop(['id', 'Class'], axis=1)   
y = data['Class']  # 目标变量是'Class'列    # 数据分割    
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.01, random_state=42)    # 创建并训练模型    
# 使用决策树分类器  
model = DecisionTreeClassifier(max_depth=30, random_state=42)  # 修改此行  
model.fit(X_train, y_train)    # 预测测试集并评估模型    
y_pred = model.predict(X_test)    
print(classification_report(y_test, y_pred))  # 打印分类报告  # 选择test_data中的特征列    
test_X = test_data.drop(['id'], axis=1)    
# 使用训练好的模型进行预测    
test_y_pred = model.predict(test_X)

准确率直接1.0 我没在验证集验证,比赛的文件也分享在csdn里了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/29170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式技术学习——c51——串口

一、串口介绍。 串口是一个 通讯接口。成本低,容易使用,通信线路简单,可实现两个设备的相互通信 单片机的串口可以实现单片机于单片机,单片机与电脑,单片机与其他模块相互通信。 51单片机内部自带UART,通…

一句话的哲学 (上集)

一,成全别人,委屈自己,轻软和不好意思就是杀死自己的最好的方式。 养一群吸血鬼,成全了别人,委屈了自己,最后呢,还被别人当成了傻瓜。 二 背后议论你的狗什么品种都有人活在世上,总会…

Flutter图像编辑器应用:创造生动美丽的照片体验

介绍 引言 想象一下,在一个阳光明媚的下午,与家人或朋友漫步在风景如画的街道上。拿出手机,迫不及待地捕捉这一刻的美好,按下快门,留下了一张充满回忆的照片。 然而,回到家后发现照片的亮度有些偏暗&…

【完结】无代码网页爬虫软件——八爪鱼采集器入门基础教程

《八爪鱼采集器入门基础教程》大纲如下: 课程所提软件,八爪鱼采集器下载: 1.软件分享[耶]八爪鱼,爬取了几百条网站上的公开数据,不用学代码真的很方便。[得意]2.发现了一个很棒的软件,?不用学python也可…

周跳的探测及修复

前言: 本章节代码均在Gitee中开源: 导航工程: 导航工程及其有关的所有项目 - Gitee.comhttps://gitee.com/Ehundred/navigation-engineering/tree/master/%E5%8D%AB%E6%98%9F%E5%AF%BC%E8%88%AA%E5%8E%9F%E7%90%86/%E5%91%A8%E8%B7%B3%E6%8E%A2%E6%B5%…

工作学习记录

代码块含义大体解析: 1. QSqlDatabase mCurDatabase; QString driverName mCurDatabase.driverName(); 返回连接的驱动名。 如QSQLITE 2.sqlite数据库中查询是否存在表tableName select * from sqlite_master where type table and nametableName 3. QSqlQ…

关于到ORCL数据库实例的连接,哪个语句是正确的?

您的hq.us.example.com主机的tnsnames.ora中有以下条目。 ORCL (DESCRIPTION (ADDRESS_LIST (ADDRESS (PROTOCOL TCP)(HOST hq.us.example.com)(PORT 1521)) ) CONNECT_DATA (SERVICE_NAME ORCL.us.example.com) ) 你发出以下命令: Sqlplus H…

软件测试--性能测试

1.性能 时间:响应时间 资源:资源的消耗情况 2.性能测试 使用自动化工具,模拟不同场景,对软件各项性能指标进行测试和评估的过程 3.为什么做性能测试 1.评估系统能能力 2.寻找性能瓶颈,优化性能 4.什么时候做性…

深入解析Spring Boot的常用注解和组件(下)

在上一篇文章中,我们介绍了Spring Boot的常用注解及其应用场景。本文将继续探讨Spring Boot的常用组件及其在实际开发中的应用。## 2. Spring Boot的常用组件### 2.1 Spring Boot StarterSpring Boot Starter是Spring Boot项目的一部分,它提供了一组方便…

什么是Vue开发技术

概述 Vue.js 是一个用于构建用户界面的渐进式框架,它设计得非常灵活,可以轻松地被集成到任何项目中。 vue是视图的发音,其目的是帮助开发者易于上手,提供强大的功能构建复杂的应用程序 示例 以下是vue基本的语法概述 声明式渲…

探索C嘎嘎的奇妙世界:第一关---命名空间

1:命名空间 C就是延续C语言的一些不足进行改进和优化,也是一门值得我们深入探索和钻研的编程语言。它就像一个充满宝藏的宝库,等待着我们去发掘其中的奥秘和惊喜.那么就让我们来打开C的大门,进行探索吧!!! 首先,C要在C语言优化的第一个问题:命名冲突, 那么C语言是具…

探索未来工作新伙伴:机器人流程自动化(RPA)揭秘

想象一下,如果你的日常工作中那些繁琐、重复的任务,比如数据录入、文件整理、邮件发送等,都能自动完成,你将拥有更多时间专注于真正需要创造力和智慧的工作,是不是听起来就像拥有了一个私人助理?这并不是遥…

VUE3版本新特性

VUE3版本新特性 VUE3和VUE2的区别路由的使用vite安装项目新特性使用 1.VUE3和VUE2的区别 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece 于 2022 年 2 月 7 日星期一成为新的默认版本! Vue3性能更高,初次渲染快55%, 更新渲染快133% 。…

推荐 3 款小巧的文件压缩、投屏和快速启动软件,请收藏,避免找不到

Maya Maya是一款由博主25H开发的体积小巧、简单易用的快速启动工具。它的操作逻辑和界面设计几乎复刻了Rolan早期版本,功能上与Rolan几乎别无二致。Maya支持多文件拖拽添加启动、快捷键呼出、自动多列显示等功能。此外,Maya还具备lnk文件解析功能。 May…

多目标粒子群算法(MOPSO):原理讲解与代码实现 Matlab代码免费获取

声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 目录 粒子群算法 多目标粒子群算法 一、外部档案…

059、Python 函数练习:用函数实现求两个数的最大公约数和最小公倍数

普及:写程序有两个终极原则:高内聚,低耦合。 所谓高内聚指的是一个模块或类内部各个元素(方法、属性等)彼此关联紧密,共同完成一个特定的任务或目标。具有高内聚的模块或类内的元素之间联系紧密&#xff0…

JDBC和数据库连接池

JDBC配置文档 数据库文档链接ssl配置文档PostgresInitializing the Driver | pgJDBCInitializing the Driver | pgJDBCMySQLMySQL :: MySQL Connector/J Developer GuideMySQL :: MySQL Connector/J Developer Guide :: 6.3 Configuration Properties java数据库连接池配置文档…

Android11 以Window的视角来看FallbackHome的启动

在WMS中,使用WindowState代表着一个Window并维护着一个Window的"层级树",每个Window需要按照"层级"的规则进行排列。对于FallbackHome,其Window是挂载在home task上,而home task挂载在DefaultTaskDisplayArea…

python之日志(三)--将捕获的异常写入日志中

1.日志级别 import logging #日志模块 #默认下只会从第3级开始打印 logging.debug(DEBUG级别) #1级 logging.info(INFO级别) #2级 logging.warning(WARNING级别) #3级 logging.error(ERROR级别) #4级 logging.critical(CRITICAL级别) #5级 默认第1和第2级的日志不会打印 …

解决 uniapp h5 页面在私有企微iOS平台 间歇性调用uni api不成功问题(uni.previewImage为例)。

demo <template><view class"content"><image class"logo" src"/static/logo.png"></image><button click"previewImage">预览图片</button></view> </template><script> //打…