279001911 发表于 2020-4-17 23:05:11

求一份在python中进行支持向量回归(SVR)模型预测的案例分析

具体要求:
(1)基于SVR模型的预测
(2)代码能正确运行
(3)有讲解最好(没有也行)

wjhdexiaoxiaoha 发表于 2020-4-18 08:48:05

import pandas as pd
from sklearn.svm import SVR
import matplotlib.pyplot as plt
import numpy as np


# 待拟合的函数
def my_func(x):
    return 5*np.array(x)+6


# 返回根据待拟合函数产生的x,y
def gen_x_and_y(x=, a=1, fx=my_func, er=0.1):
    X = []
    Y = []
    y = fx(x)
    for i in range(a):
      X = X + x
      fy = y + er*np.random.randn(len(x))
      fy = list(fy)
      Y = Y + fy
    X = np.array(X)[:, np.newaxis]
    Y = np.array(Y)
    return X, Y


X, Y = gen_x_and_y(x=)# 把数据分别给X和Y

model = SVR(kernel='rbf', degree=3, gamma='auto_deprecated', C=1.0, epsilon=0.1)# 模型参数,我全是乱射的,所以拟合效果不好
model.fit(X, Y)# 拟合

yp = model.predict(X)# 为了检查拟合的好坏,画出预测值与实际值的散点图

x = np.linspace(0, 70, 1000)# 为了进行对比,将y=x这条直线画出,方便对比预测结果
y = x


plt.scatter(Y, yp)# 画出预测值与实际值散点图
plt.plot(x, y)# 画出y=x这条直线

plt.show()

279001911 发表于 2020-4-18 19:09:59

wjhdexiaoxiaoha 发表于 2020-4-18 08:48
import pandas as pd
from sklearn.svm import SVR
import matplotlib.pyplot as plt


大佬,我想请问一下,前面数据如果是Excel表格的形式该怎么处理,比如一个表格内只有两列,一列是日期,另一列是销售额或是客流量之类的,那么我该如何在SVR中导入并处理数据,然后做出测试集的拟合及预测呢

wjhdexiaoxiaoha 发表于 2020-4-19 09:09:03

279001911 发表于 2020-4-18 19:09
大佬,我想请问一下,前面数据如果是Excel表格的形式该怎么处理,比如一个表格内只有两列,一列是日期, ...

import pandas as pd

data = pd.read_excel(r'路径', sheet_name=表的名)

X = data.iloc[:, 0]
Y = data.iloc[:, 1]

279001911 发表于 2020-4-19 20:08:04

wjhdexiaoxiaoha 发表于 2020-4-19 09:09
import pandas as pd

data = pd.read_excel(r'路径', sheet_name=表的名)


大佬,能具体一点吗?这一小段和上面给的有点衔接不上呀
页: [1]
查看完整版本: 求一份在python中进行支持向量回归(SVR)模型预测的案例分析