我一直在尝试用Python语言实现支持向量回归的时间序列预测工具。我使用scikit-learn中的SVR模块进行非线性支持向量回归。但我对未来事件的预测有严重的问题。回归线很好地拟合了原始函数(来自已知数据),但只要我想预测未来的步骤,它就会返回上一个已知步骤的值。
我的代码如下所示:
import numpy as np
from matplotlib import pyplot as plt
from sklearn.svm import SVR
X = np.arange(0,100)
Y = np.sin(X)
svr_rbf = SVR(kernel='rbf'
我试图使用SVR来预测某一特性。我使用以下代码创建模型:
from sklearn.svm import SVR
from sklearn.preprocessing import StandardScaler
X = data
# this is the outcome variable
y = data.iloc[:, 10].values
sc_X = StandardScaler()
sc_y = StandardScaler()
X2 = sc_X.fit_transform(X)
y = sc_y.fit_transform(y.reshape(-1, 1))
# my_c
我正在尝试根据过去5年的数据来预测未来7天的股票价格。数据如下所示
我正在尝试对此数据集应用支持向量回归。我已经使用data.Date = pd.to_datetime(data.Date)将date列转换为pandas datetime,但仍然收到以下错误
float() argument must be a string or a number, not 'Timestamp'。
我的代码如下
from sklearn.svm import SVR
adaniPorts = data[data.Symbol == 'ADANIPORTS']
fr
首先,在这个论坛上有一些问题和这个非常相似,但相信我,没有一个匹配的,所以请不要重复。
我遇到过使用scikit的sklearn的两种线性回归方法,我不能理解这两种方法之间的区别,特别是在第一个代码中有一个调用train_test_split()的方法,而在另一个代码中调用的是直接拟合方法。
我正在用多种资源学习,这个单一的问题让我非常困惑。
首先是使用SVR的
X = np.array(df.drop(['label'], 1))
X = preprocessing.scale(X)
y = np.array(df['label'])
X_train,
我正在创建一个基本的应用程序来预测日n+1股票的“收盘价”,给出了使用Python和Scikit-learn的股票n的特性。
我的dataframe中的一个示例行看起来如下(2000行)
Open Close High Low Volume
0 537.40 537.10 541.55 530.47 52877.98
类似于这段视频,他使用的是“日期”和“公开价格”。在本例中,日期是功能,开放价格是目标。
在我的示例中,我的数据集中没有“日期”值,而是希望使用Open、High、Low数据作为特性,因为我认为
我正在此上进行支持向量回归,我认为我正在启动SVR,可能在调用变量或使用内核的方式上出错。MWE的代码相当长,因此我对其进行了大量注释,并突出显示了相关部分
# Import libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import scikit_posthocs as sp
import seaborn as sns
from sklearn.preprocessing import MinMaxScaler
from sklearn.model_selection im
我是一个建模技术的新手,我正在尝试比较SVR和线性回归。我已经使用f(x) = 5x+10线性函数来生成训练和测试数据集。到目前为止,我已经编写了以下代码片段:
import csv
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
with open('test.csv', 'r') as f1:
train_dataframe = pd.read_csv(f
我正在尝试使用支持向量回归来执行一个简单的时间序列预测。
我正在尝试理解提供的答案。
我修改了Tom的代码以反映所提供的答案:
import numpy as np
from matplotlib import pyplot as plt
from sklearn.svm import SVR
X = np.arange(0,100)
Y = np.sin(X)
a = 0
b = 10
x = []
y = []
while b <= 100:
x.append(Y[a:b])
a += 1
b += 1
b = 10
while b <= 90:
我在sklearn-糖尿病数据集上实现了一些ML算法,除了SVR之外,所有这些算法在测试子集上的R^2都约为0.45。然而,当我做SVR时,我在测试子集上得到了0.16的R^2分数。我想知道这是因为SVR对于数据集来说是一个糟糕的算法选择,还是因为我没有正确地实现它。我的程序如下: import pandas as pd
import numpy as np
import matplotlib as plt
from sklearn import model_selection
from sklearn.linear_model import LinearRegression
from sk
我试图建立线性回归模型来预测列表中的下一个数字。因此,它创建一个数组,将60个值存储到x_train,下一个存储到y_train。然后将一个向上存储的60个值移动到x_train,另一个移动到y_train。这会重复,直到它完成了80%的数据集。fit函数工作得很好,但是当我使用.predict()函数时,它从dataset的60x值中得到一个新列表,它返回这个错误:ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature (n?,k),(k,m?)->