模型训练与评估
在这一步中,你将使用 Python 的 scikit-learn 库,基于预处理后的数据构建机器学习模型,用于预测潜在水下宝藏的位置。你将训练并评估各种机器学习算法的性能,如决策树、随机森林和支持向量机。
在 ~/project/model_training.py
中:
## model_training.py
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error
## 从 "underwater_data.csv" 文件读取数据
data = pd.read_csv("/home/labex/project/underwater_data.csv")
## 将数据转换为 NumPy 数组
data = np.array(data)
## 提取特征矩阵 X 和目标变量 y
X = data[:, :-1] ## 使用所有行,除最后一列作为特征矩阵 X
y = data[:, -1] ## 使用所有行,最后一列作为目标变量 y
## 将预处理后的数据拆分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
## 初始化并训练随机森林回归器
model = RandomForestRegressor(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
## 评估模型性能
predictions = model.predict(X_test)
mse = mean_squared_error(y_test, predictions)
print(f"均方误差:{mse}")
运行脚本:
python model_training.py
终端应显示以下信息:
均方误差: 1.8009639999999907