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

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

python 复制代码
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()

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

python 复制代码
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')  # 保存热力图到当前目录

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

python 复制代码
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里了。

相关推荐
EQUINOX121 分钟前
3b1b线性代数基础
人工智能·线性代数·机器学习
Kacey Huang42 分钟前
YOLOv1、YOLOv2、YOLOv3目标检测算法原理与实战第十三天|YOLOv3实战、安装Typora
人工智能·算法·yolo·目标检测·计算机视觉
加德霍克42 分钟前
【机器学习】使用scikit-learn中的KNN包实现对鸢尾花数据集或者自定义数据集的的预测
人工智能·python·学习·机器学习·作业
Light Gao1 小时前
AI赋能未来:Agent能力与AI中间件平台对行业的深远影响
人工智能·ai·中间件·大模型
沉木渡香1 小时前
[2025分类&时序异常检测指标R-AUC与VUS]
分类·数据挖掘·时序异常检测·vus·r-auc
骇客野人1 小时前
【人工智能】循环神经网络学习
人工智能·rnn·学习
速融云2 小时前
汽车制造行业案例 | 发动机在制造品管理全解析(附解决方案模板)
大数据·人工智能·自动化·汽车·制造
AI明说3 小时前
什么是稀疏 MoE?Doubao-1.5-pro 如何以少胜多?
人工智能·大模型·moe·豆包
XianxinMao3 小时前
重构开源LLM分类:从二分到三分的转变
人工智能·语言模型·开源
Elastic 中国社区官方博客4 小时前
使用 Elasticsearch 导航检索增强生成图表
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索