python - 套索回归预测平均值
问题描述
我正在尝试使用 Lasso 回归来预测非二进制分类输出:
首先我使用 pandas 读取数据,然后我的意思是估算缺失值并使用 StandardScaler() 标准化数据。我将数据分成训练和测试,进一步训练数据到训练和验证,然后针对不同的 alpha 训练模型。我计算 y_predicted 和 y_validated 之间的均方误差,选择的最佳模型始终是将所有值预测为均值或接近均值输出的模型。
X = pd.read_csv(X_path)
y = pd.read_csv(y_path)
X = X.fillna(X.mean())
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2, random_state=77)
sc=StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
X_train_,X_validate,y_train_,y_validate = train_test_split(X_train,y_train,test_size=0.2,random_state=77)
alphas=np.linspace(-1,1,50)
mse=np.zeros(len(alphas))
for i in range(0,len(alphas)):
lasso_reg = lasso(alpha=alphas[i])
lasso_reg.fit(X_train_,y_train_)
y_pred = lasso.predict(X_validate)
mse[i] = mean_squared_error(y_pred,y_validate)
我尝试更改 alphas 并在套索中进行标准化,但结果相同。有什么想法可能是错误的,或者有什么建议哪个评估指标更合适?
我的数据有点不平衡,它大致正态分布在 20-100 之间,其中大部分数据位于 40-65 之间。这会导致问题吗?
解决方案
推荐阅读
- java - Java - 使用两个对象之间的距离获取 0 - 255 之间的 alpha 值
- mysql - 仅获取列中的最大值和最小值 - SQL
- typescript - 为类型安全的 Mappers 捕获 Typescript 映射函数结果类型
- html - 是否可以使用 CSS ::after 伪元素生成 HTML div
- javascript - 在 React 应用程序中结合 SSR 和 CSR
- f# - 尝试比较每个子列表的长度(学习 lambda 和列表模块)
- node.js - 更新 API 服务器证书后出现“RequestError:错误:无法验证第一个证书”错误
- javascript - 使用循环生成表行时自动将行和列数据添加在一起
- ios - iOS自动登录,usserdefaults不起作用
- javascript - 表格固定标题:水平滚动时应该移动