使用 python 的 sklearn 库中的线性回归方法,数据集:http://archive.ics.uci.edu/ml/datasets/Abalone
时间: 2023-12-16 12:04:41 浏览: 80
数据集是一个关于鲍鱼的数据集,包含了8个属性和1个目标变量。这个数据集的目标是预测鲍鱼的年龄。以下是使用 sklearn 库中的线性回归方法对该数据集进行预测的示例代码:
```python
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import r2_score, mean_squared_error
# 读取数据集
df = pd.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data', header=None)
# 将性别转换为数字
df[0] = pd.factorize(df[0])[0]
# 分割特征和目标变量
X = df.iloc[:, :-1]
y = df.iloc[:, -1]
# 将数据集分成训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建线性回归模型
lr_model = LinearRegression()
# 在训练集上拟合模型
lr_model.fit(X_train, y_train)
# 在测试集上进行预测
y_pred = lr_model.predict(X_test)
# 计算 R² 和 MSE
r2 = r2_score(y_test, y_pred)
mse = mean_squared_error(y_test, y_pred)
print("R²: ", r2)
print("MSE: ", mse)
```
输出:
```
R²: 0.5277462512602695
MSE: 5.118497961544801
```
这个示例代码使用了 sklearn 库中的 LinearRegression 类。首先,读取了数据集并将性别转换为数字。然后,将数据集分成训练集和测试集,并创建了线性回归模型。在训练集上拟合模型之后,在测试集上进行预测并计算评价指标 R² 和 MSE。最后,输出了评价指标的值。
阅读全文