data=pd.read_csv("housing.txt",sep="\s+",header=None)
data #观察一下文件
具体代码如下:
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import Ridge, RidgeCV
from sklearn.metrics import mean_squared_error
import pandas as pd
import numpy as np
#导入数据
data=pd.read_csv("housing.txt",sep="\s+",header=None)
# 导入数据并选择特征和目标变量
x = data.iloc[:, 0:12] # 特征
y = data.iloc[:, 13] # 目标变量
# 特征标准化
scaler = StandardScaler()
x = scaler.fit_transform(x)
# 划分训练集和测试集
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=2, test_size=0.2)
# 创建RidgeCV模型并选择最佳的alpha值
model = RidgeCV(alphas=(0.001, 0.01, 0.1, 1, 10, 100))
model.fit(x_train, y_train)
# 进行预测
y_pred = model.predict(x_test)
# 计算均方误差(MSE)
error_mse = mean_squared_error(y_test, y_pred)
print(f"均方误差为:{error_mse}")
"""
均方误差为:20.66700578734402
"""