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

如何拟合Ridge模型?执行时遇KeyError: 'target'错误求助

解决Ridge模型拟合时的KeyError: 'target'问题
  • 第一步:确认数据集的所有列名
    错误根源是weather数据集(或切片后的train数据)中不存在名为target的列。先打印所有列名排查:

    print(weather.columns.tolist())
    

    这会输出数据集的全部列,你可以从中找到实际需要作为预测目标的列名。

  • 第二步:修正目标列的引用
    根据第一步得到的列名,替换代码中的train["target"]:

    • 如果是列名拼写错误(比如大小写、空格、符号差异),直接修正为正确列名;
    • 如果原本就没有定义target列,明确你要预测的变量(比如某个未在predictors列表中的气象指标),用对应的列名替代。
  • 第三步:验证训练集的列完整性
    切片后的train数据可能因索引问题丢失列(概率极低,但可排查),打印train的列确认:

    print(train.columns)
    

    确保目标列存在于train中。

  • 修正后的示例代码
    假设实际目标列名为"Indoor Target Temperature",代码调整如下:

    from sklearn.linear_model import Ridge
    reg = Ridge(alpha=.1)
    
    predictors = ["Temperature from the first internal sensor", "Outside temperature", "CPU Temperature", "Temperature from the second internal sensor", "Air Pressure", "Humidity"]
    # 替换为你实际的目标列名
    target_column = "Indoor Target Temperature"
    
    train = weather.loc[:"Thu 17 Feb 2022 08:57:02 PM"]
    test = weather.loc["Thu 01 Dec 2022 10:00:02 AM":]
    
    # 先检查列是否存在再拟合
    if target_column in train.columns:
        reg.fit(train[predictors], train[target_column])
        print("Ridge模型拟合完成")
    else:
        print(f"错误:训练集中不存在列 {target_column}")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 09:40:25