为什么我的SVR拟合需要这么长的时间才能完成?

2024-03-28 14:22:10 发布

您现在位置:Python中文网/ 问答频道 /正文

大家好,世界好。这是我第一个堆栈溢出问题,任何帮助都太好了!你知道吗

我正在尝试创建一个简单的支持向量回归(SVR)模型,用于使用本地股票和sklearn.svmSVR进行股票预测。你知道吗

train是我的训练数据帧 数据帧的列只有日期和收盘价

GSCV()是一个函数,它返回使用GridSearchCV得到的最优Cgamma

        train["Date"]=pd.to_datetime(train["Date"])
        dates = pd.DataFrame.to_numpy(train["Date"]).reshape(-1,1)
        closing_prices = (pd.DataFrame.to_numpy(train[' Close'])).reshape(-1,1)

        c,g = GSCV('rbf',dates, closing_prices)
        svr_rbf = SVR('rbf', C=c, gamma = g, cache_size=20000)

        c,g = GSCV('linear',dates, closing_prices)
        svr_lin = SVR(kernel= 'linear', C= c, gamma = g,cache_size=20000)

        c,g = GSCV('poly',dates, closing_prices)
        svr_poly = SVR(kernel= 'poly', C= c, degree= 2, gamma = g,cache_size=20000)

        svr_rbf.fit(dates, closing_prices)
        svr_lin.fit(dates, closing_prices)
        svr_poly.fit(dates, closing_prices)

我想提一下,我有两种类型的数据集:低方差股票和高方差股票。当喂食低方差股票时,模型会立即终止,尽管整个过程都有一个恒定的预测。另一方面,高方差股票导致我的非终止问题。你知道吗

我的实验需要根据2、4、6、8、10年的数据建立模型。我最多有2100多个数据点,但即使只有400多个数据点,代码似乎也不会终止。这一开始是不是太多了?你知道吗

我试过了 1使用StandardScaler缩放数据 2设置cache=20000以期加速

感谢所有的意见!你知道吗


Tags: 数据模型cachetrain股票pricesdatesclosing
1条回答
网友
1楼 · 发布于 2024-03-28 14:22:10

因为这里没有无限循环之类的东西,代码应该在某个时间点终止或给出错误,所以第一个问题:您是否一直运行到最后?你知道吗

你可以测量你的RAM,以了解它是否需要很高的计算成本。你知道吗

否则这里有一个线程可以帮助:How to speed up sklearn SVR?

相关问题 更多 >