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


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

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

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

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

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

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

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

  • 相关阅读:
    STM32使用PWM+DMA方式驱动WS2812灯珠
    【JavaScript 算法】链表操作:从基础到进阶
    华为防火墙基础自学系列 | VdPdNd概述
    <二>Qt斗地主游戏开发:过场动画的实现
    功率放大器的主要指标有哪些呢
    常见 HTTP 状态码详解与Nginx 文件上传大小限制
    苹果笔记本电脑能玩哪些游戏 苹果电脑可以玩的单机游戏推荐
    命令行运行没问题,单独pycharm就报错
    win11怎么回去win10?四种方法教你!
    Day1:数据结构&算法之顺序表
  • 原文地址:https://blog.csdn.net/2301_79675943/article/details/139756510