• 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里了。

  • 相关阅读:
    MySQL如何获取binlog的开始时间和结束时间
    学习心得09:C++新特性
    java源码系列:链表是什么?数组和它有何不同?(2022-07-28更新完毕)
    探索Java设计模式:中介者模式
    leetcode:850. 矩形面积 II【扫描线 + 可重叠的累计长度差分数组】
    ACCESS实例2 资料管理4——资料管理的报表
    常用的故障分析工具
    【C语言】指针的进阶(四)—— 企业笔试题解析
    计算机找不到MSVCR120.dll,MSVCR120.dll丢失的三种解决方法
    erlang练习题(二)
  • 原文地址:https://blog.csdn.net/2301_79675943/article/details/139756510