栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

预测:使用SVR模块的未来事件的时间序列预测

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

预测:使用SVR模块的未来事件的时间序列预测

好的,下面的svm函数有问题:

第二行

win = ...
未使用,将导致错误。删除它。

def predict_win(X, y, x):    win = np.reshape(X,(len(X), 1))  # <----This line    svr_lin = SVR(kernel= 'linear', C= 1e3)    svr_poly = SVR(kernel= 'poly', C= 1e3, degree= 2)    svr_rbf = SVR(kernel= 'rbf', C= 1e3, gamma= 0.1)     svr_rbf.fit(X, y)     svr_lin.fit(X, y)    svr_poly.fit(X, y)    plt.scatter(X, y, color= 'black', label= 'Data')     plt.plot(y, svr_rbf.predict(X), color= 'red', label= 'RBF model')     plt.plot(y,svr_lin.predict(X), color= 'green', label= 'Linear model')     plt.plot(y,svr_poly.predict(X), color= 'blue', label= 'Polynomial model')     plt.xlabel('X, other features')    plt.ylabel('win')    plt.title('Support Vector Regression')    plt.legend()    plt.show()    return svr_rbf.predict(x)[0], svr_lin.predict(x)[0], svr_poly.predict(x)[0]

其次,我不知道为什么有读取CSV的完整功能。忽略它并使用熊猫。这是将起作用的示例代码:

from sklearn import svmimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltdef predict_win(X,y,x):    svr_lin = svm.SVR(kernel='linear',C=1e3)    svr_poly = svm.SVR(kernel='poly',C=1e3, degree=2)    svr_rbf = svm.SVR(kernel='rbf',C=1e3,gamma=0.1)    svr_rbf.fit(X,y)    svr_lin.fit(X,y)    svr_poly.fit(X,y)    plt.plot(y,svr_rbf.predict(X),color='red',label='RBF model')    plt.plot(y,svr_lin.predict(X),color='green',label='Linear model')    plt.plot(y,svr_poly.predict(X),color='blue', label='Polynomial model')    plt.xlabel('X, other features')    plt.ylabel('win')    plt.title('Support Vector Regression')    plt.legend()    plt.show()    return [svr_rbf.predict(x)[0],svr_lin.predict(x)[0],svr_poly.predict(x)[0]]df = pd.read_csv('data.csv')data_np_array = df.valuesy = np.ndarray.copy(data_np_array[:,6])Xleft = np.ndarray.copy(data_np_array[:,:6])Xright = np.ndarray.copy(data_np_array[:,7:])X = np.hstack((Xleft,Xright))x0 = np.ndarray.copy(X[0,:])xp = predict_win(X,y,x0)percent_off = [min(data_np_array[0,2],prediction)/max(data_np_array[0,2],prediction) for prediction in xp]

在中间步骤中,您需要清理导入的数据,将其从数据帧转换为numpy数组,将第7列复制为适合的回归值,从训练数据中删除它,并重建新的数组,然后再拟合为SVR。

df = pd.read_csv('data.csv')data_np_array = df.valuesy = np.ndarray.copy(data_np_array[:,6])Xleft = np.ndarray.copy(data_np_array[:,:6])Xright = np.ndarray.copy(data_np_array[:,7:])X = np.hstack((Xleft,Xright))

让我知道这些方法是否有效。我只是从上面的数据表中提取了几行。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/653515.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号