NCU-机器学习-作业2:金鱼年龄预测

任务描述:

金鱼年龄的预测是现实生活中出现过的一项任务,给出一份金鱼的训练数据集,训练一个线性回归模型并对测试集中金鱼的年龄进行预测。

输入数据:

在train/目录下包含一个train.csv文件,其中每行表示一条金鱼的特征和年龄。文件中每行共有9列,前8列为金鱼的身体状况参数,最后一列表示该金鱼的年龄。

在test/目录下包含一个test.csv文件,与train.csv类似,只不过test.csv不包含金鱼的年龄数据,需要根据金鱼的身体状况参数给出预测。

输出数据:

程序需要生成一个result.csv文件,用于保存程序对金鱼年龄的预测结果。第一行固定为age,之后每一行为一个数值代表预测的金鱼年龄,表示程序对test.csv中对应行的金鱼年龄预测结果。

注:

评测信息中的'rank': '0.10350234624825604'表明测试集的RMSE=0.10350234624825604

输入样例:

n1,n2,n3,n4,n5,n6,n7,n8,age
1,0.455,0.365,0.095,0.514,0.2245,0.10099999999999999,0.15,15
1,0.35,0.265,0.09,0.2255,0.0995,0.0485,0.07,7
-1,0.53,0.42,0.135,0.677,0.2565,0.1415,0.21,9
0,0.33,0.255,0.08,0.205,0.0895,0.0395,0.055,7
-1,0.53,0.415,0.15,0.7775,0.237,0.1415,0.33,20

输出样例:

age
11.419235677462172
11.602508087480594
11.842765817087468
6.261259406734112
7.960520691911781
7.54970269783407

思路代码:

Tips:仅为样例代码,存在可优化部分。

# 导入所需库
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import StandardScaler

# 加载数据
train_df = pd.read_csv('train/train.csv')
test_df = pd.read_csv('test/test.csv')

# 数据预处理
X_train, y_train = train_df.iloc[:, :-1], train_df.iloc[:, -1]  # 特征和标签
X_test = test_df.iloc[:, :]

# 数据标准化
scaler = StandardScaler()
X_train, X_test = scaler.fit_transform(X_train), scaler.fit_transform(X_test)
y_train = list(y_train)

# 创建线性回归模型
model = LinearRegression()

# 训练模型
model.fit(X_train, y_train)

# 预测
y_pred_test = model.predict(X_test)

# 保存预测结果到result.csv
results = pd.DataFrame({'age': y_pred_test}, index=test_df.index)
results.to_csv('result.csv', index=False)

答案提交:

提交.py文件即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值