如何用训练集和测试集对模型评估得到最后的指标,给出代码案例。已有训练集和测试集数据集
时间: 2024-09-17 16:00:55 浏览: 54
关于模型逆向攻击和梯度攻击+源代码+文档说明+数据集
在机器学习中,通常我们会将数据分为训练集和测试集两部分。训练集用于构建和优化模型,而测试集则用来评估模型的泛化能力,即模型在未见过的数据上的性能。以下是使用Python和Scikit-Learn库进行线性回归模型训练及评估的基本步骤:
```python
# 导入所需的库
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn import metrics
# 假设我们有一个包含特征x和目标变量y的数据框df
X = df['feature_column'].values.reshape(-1, 1) # 特征列
y = df['target_column'].values.reshape(-1, 1) # 目标列
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建并训练线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)
# 预测测试集的结果
y_pred = model.predict(X_test)
# 计算评估指标
mse = metrics.mean_squared_error(y_test, y_pred) # 均方误差
r2_score = metrics.r2_score(y_test, y_pred) # 决定系数 R^2
accuracy = None # 对于回归模型,一般不用准确率这个指标
print(f"Mean Squared Error (MSE): {mse}")
print(f"R^2 Score: {r2_score}")
#
阅读全文