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

无法从gmdh导入Regressor报错求助:基于GmdhPy的时序预测需求

解决gmdh库导入Regressor报错的问题

问题原因分析

你遇到的导入错误,核心原因是安装的gmdh库中不存在名为Regressor的类,且包结构与你预期的gmdhpy不符——通过pip install git+git://github.com/kvoyager/GmdhPy.git安装后,实际包名为gmdh,而非gmdhpy,且该库提供的回归器类是MultiLayerRegressor,并非Regressor。

解决方案

1. 修正导入语句

将你的导入代码替换为:

from gmdh import MultiLayerRegressor

或者指定子模块导入:

from gmdh.gmdh import MultiLayerRegressor

2. 验证库结构(可选)

若仍有疑问,可打开虚拟环境路径C:\Users\HP\PycharmProjects\pythonProject\venv\lib\site-packages\gmdh,查看:

  • __init__.py文件中暴露的类列表,确认MultiLayerRegressor是否在其中
  • gmdh.py文件中的具体类定义,确认可用的回归类

3. 时间序列预测适配

用该库做时间序列预测,需先将时间序列数据转换为监督学习格式(通过滑动窗口生成输入特征与目标值),示例代码如下:

import numpy as np
from gmdh import MultiLayerRegressor

# 示例时间序列数据
time_series = np.array([10, 20, 30, 40, 50, 60, 70, 80, 90])

# 滑动窗口生成特征与目标(窗口大小为3,用前3个值预测第4个)
def create_supervised_data(data, window_size):
    X, y = [], []
    for i in range(len(data) - window_size):
        X.append(data[i:i+window_size])
        y.append(data[i+window_size])
    return np.array(X), np.array(y)

X, y = create_supervised_data(time_series, window_size=3)

# 初始化并训练模型
model = MultiLayerRegressor()
model.fit(X, y)

# 预测下一个值
next_input = np.array([70, 80, 90]).reshape(1, -1)
prediction = model.predict(next_input)
print(f"预测值: {prediction[0]}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 20:07:43