You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在多元Lasso回归中关联特征名称展示预测变量重要性?

Lasso回归特征重要性关联与分析方案

一、关联特征名称与重要性数值(确保对应关系)

你的importance数组形状为(30,26),对应30个目标变量、26个预测变量,scikit-learn模型在训练时会严格保留输入数据的列顺序,因此:

  • 预测变量的系数顺序与X_train的列顺序完全一致
  • 目标变量的系数顺序与y_train的列顺序完全一致

可以用Pandas将数值与名称绑定,生成可读性强的表格:

import pandas as pd

# 获取特征名称与目标变量名称(假设X_train、y_train是带列名的DataFrame)
feature_names = X_train.columns.tolist()
target_names = y_train.columns.tolist()

# 构建重要性DataFrame:行=目标变量,列=预测特征,值=重要性绝对值
importance_df = pd.DataFrame(
    data=importance,
    index=target_names,
    columns=feature_names
)

# 查看示例(比如前3个目标变量的Top3重要特征)
print(importance_df.head(3).T.sort_values(by=target_names[:3], ascending=False).head(3))

二、推荐的重要性指标

  1. 绝对值系数:你当前使用的指标,适合线性模型,直接反映标准化后特征对目标变量的线性影响强度,绝对值越大影响越显著。
  2. 非零系数占比:统计每个特征在多少个目标变量中系数非零(Lasso的特征选择特性),能体现特征的通用性:
    # 计算每个特征在目标变量中的非零重要性次数
    feature_non_zero_count = (importance_df != 0).sum(axis=0).sort_values(ascending=False)
    print(feature_non_zero_count)
    
  3. 标准化重要性(归一化):将每个目标变量的特征重要性归一化到[0,1]区间,方便跨目标变量对比特征相对重要性:
    normalized_importance = importance_df.div(importance_df.sum(axis=1), axis=0)
    

三、分析建议

  • 分目标变量聚焦关键特征:对每个目标变量,排序重要性后取Top N(如Top5)特征,区分「专属特征」和「通用特征」(多个目标变量的共同重要特征)。
  • 可视化辅助分析:
    • 用热力图展示importance_df,直观呈现特征-目标变量的关联强度分布;
    • 对单个目标变量,用条形图展示Top特征的重要性绝对值。
  • 验证稳定性:更换CV折或调整alpha范围,检查重要特征是否稳定,避免因数据波动导致的虚假重要性。
  • 探索特征组合:对高度相关的重要特征,尝试构建交互项(如feature1 * feature2),重新训练模型验证是否能提升预测效果,但需注意共线性问题。
  • 结合领域知识校验:数值上的重要特征需符合业务逻辑,若出现与领域认知不符的重要特征,需排查是否存在共线性、数据噪声或样本偏差。

内容的提问来源于stack exchange,提问作者querent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 01:00:11