NCU-机器学习-作业4:基于XGboost的收入分类预测

ops/2024/10/24 12:25:26/

输入数据:

在train/目录下包含一个train.csv文件,其中每行表示数据的一条记录。文件中每行共有18列,列income为收入分类(0表示小于等于50k,1表示大于50k)。其余各列为数据对象的各项参数特征(连续属性:age、fnlwgt、education-num、capital-gain;workclass、capital-loss、hours-per-week;离散属性:education、marital-status、occupation、relationship、race、sex、native-country)。训练数据集可在教学资料中下载,微文件名:xgboost-train.csv。

在test/目录下包含一个test.csv文件,与train.csv类似,只不过test.csv不包含income列,您需要根据参数给出预测。

输出数据:

您的程序需要生成一个result.csv文件,用于保存您程序的预测结果。第一行固定为income,之后每一行为一个1或0的值表示预测结果。

评价指标:

准确率。

输入样例:

age,workplace,id,education,education_num,marital_status,occupation,relationship,race,sex,capital_gain,capital_loss,hours_per_week,native_country,income
39, State-gov,77516, Bachelors,13, Never-married, Adm-clerical, Not-in-family, White, Male,2174,0,40, United-States,0
50, Self-emp-not-inc,83311, Bachelors,13, Married-civ-spouse, Exec-managerial, Husband, White, Male,0,0,13, United-States,0
38, Private,215646, HS-grad,9, Divorced, Handlers-cleaners, Not-in-family, White, Male,0,0,40, United-States,0

输出样例:

income
1
0
0
0
1

代码:

import pandas as pd
import xgboost as xgb# 加载数据
train_data = pd.read_csv('train/train.csv')
test_data = pd.read_csv('test/test.csv')# 分离特征和标签
X_train = train_data.drop('income', axis=1)
y_train = train_data['income']
X_test = test_data
# print(X_test)# 独热编码类别型特征
X_train = pd.get_dummies(X_train)
X_test = pd.get_dummies(X_test)# 确保训练集和测试集有相同的列
X_test = X_test.reindex(columns=X_train.columns, fill_value=0)# 训练XGBoost模型
xgb_model = xgb.XGBClassifier(objective='binary:logistic')
xgb_model.fit(X_train, y_train)# 预测测试数据
predictions = xgb_model.predict(X_test)# 将预测结果写入CSV文件
result_df = pd.DataFrame({'income': predictions})
result_df.to_csv('result.csv', index=False)

Tips:仅为样例代码。


http://www.ppmy.cn/ops/128079.html

相关文章

安全芯片 OPTIGA TRUST M 使用介绍与示例(基于STM32裸机)

文章目录 目的资料索引硬件电路软件框架介绍数据存储框架移植框架使用 使用示例示例地址与硬件连接通讯测试功能测试 总结 目的 OPTIGA TRUST M 是英飞凌推出的安全芯片,芯片通提供了很多 slot ,用于存放各类安全证书、密钥、用户数据等,内置…

线程的同步

目录 引入 认识条件变量 快速认识接口​编辑 认识条件变量​编辑 测试代码​编辑 生产消费模型 为何要使用生产者消费者模型 理解 编写生产消费模型 BlockingQueue 单生产单消费 多生产多消费 引入 同步:在保证数据安全的前提下,让线程…

新王Claude 3.5的6大应用场景

Anthropic AI深夜发布了备受期待的Claude 3.5系列更新,包括了全新升级的Claude 3.5 Sonnet和首发的Claude 3.5 Haiku。 Claude 3.5 Sonnet能够理解细微的指令和上下文,识别并纠正自身错误,还能从复杂数据中生成深入的分析和洞察。 结合最先进…

蓝桥杯注意事项

蓝桥杯注意事项 比赛注意事项 能暴力枚举就暴力枚举,能用简单的思路做就尽量用简单的思路做。认真审核题目的题意和输入输出的要求,避免因为误解题意而导致题目错误。对于提供多组测试样例或者需要对一个过程重复进行循环的代码,要时刻记住…

k8s备份恢复(velero)

velero简介 velero官网: https://velero.io/ velero-github: https://github.com/vmware-tanzu/velero velero的特性 备份可以按集群资源的子集,按命名空间、资源类型标签选择器进行过滤,从而为备份和恢复的内容提供高度的灵活…

基础实验4-2.2 列出叶结点

基础实验4-2.2 列出叶结点 分数 25 全屏浏览 切换布局 作者 陈越 单位 浙江大学 对于给定的二叉树,本题要求你按从上到下、从左到右的顺序输出其所有叶结点。 输入格式: 首先第一行给出一个正整数 n(≤10),为树中…

安全见闻(5)——开阔眼界,不做井底之蛙

安全见闻五:人工智能 内容预览 ≧∀≦ゞ 安全见闻五:人工智能声明导语一、人工智能基础机器学习基础机器学习的典型工作流程1. 数据收集2. 数据预处理3. 模型选择与训练4. 模型评估与优化5. 模型应用 深度学习基础深度学习基本原理1. 神经网络基础2. 多层…

13.3 Linux_网络编程_多路复用I/O接入多客户端

select函数 函数声明 int select(int nfds, fd_set *readfds,fd_set *writefds,fd_set *exceptfds, struct timeval *timeout); 返回值:成功返回有数据的文件描述符,失败返回-1 nfds:最大的文件描述符,值为readfds,writefds,…