跳转至内容
  • 社区首页
  • 版块
  • 最新
  • 标签
  • 热门
折叠

GitHub中文论坛

  1. 主页
  2. 版块
  3. Github & Git
  4. 傅里叶变换-支持向量回归

傅里叶变换-支持向量回归

已定时 已固定 已锁定 已移动 Github & Git
2 帖子 2 发布者 12.1k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 27562587042 离线
    27562587042 离线
    2756258704
    写于 最后由 编辑
    #1

    求傅里叶变换-支持向量回归的代码

    1 条回复 最后回复
    0
    • A 离线
      A 离线
      ammu95
      写于 最后由 编辑
      #2
      import numpy as np
      from sklearn.svm import SVR
      from scipy.fft import fft
      
      # 创建示例数据
      x = np.linspace(0, 2 * np.pi, 100)  # 输入数据
      y = np.sin(x)  # 目标数据
      
      # 进行傅里叶变换
      X = fft(x)  # 对输入数据进行傅里叶变换
      Y = fft(y)  # 对目标数据进行傅里叶变换
      
      # 将变换结果作为支持向量回归的输入
      X = np.abs(X[:len(X) // 2])  # 只保留一半频谱(对称性质)
      Y = np.abs(Y[:len(Y) // 2])  # 只保留一半频谱(对称性质)
      
      # 创建并拟合支持向量回归模型
      model = SVR(kernel='rbf', C=1.0, epsilon=0.2)
      model.fit(X.reshape(-1, 1), Y)
      
      # 预测
      X_test = np.linspace(0, np.max(X), 100).reshape(-1, 1)
      Y_pred = model.predict(X_test)
      
      # 绘制结果
      import matplotlib.pyplot as plt
      plt.plot(X, Y, label='Original')
      plt.plot(X_test, Y_pred, label='SVR')
      plt.xlabel('Frequency')
      plt.ylabel('Amplitude')
      plt.legend()
      plt.show()
      

      这段代码首先生成一个示例数据集 x 和 y,然后对输入数据 x 和目标数据 y 进行傅里叶变换得到频谱 X 和 Y。接下来,使用支持向量回归模型 SVR 对频谱数据进行拟合,其中使用了径向基函数(RBF)作为核函数,并指定了一些超参数(如 C 和 epsilon)。最后,通过在频谱范围内生成测试数据 X_test,使用训练好的模型进行预测,并将原始数据和预测结果进行可视化比较。

      请注意,这只是一个简单的示例,实际使用时可能需要根据具体的问题进行参数调整、数据预处理等操作。另外,代码中使用了 numpy、scikit-learn 和 matplotlib 库,如果未安装这些库,请使用 pip install 或其他适当的方法进行安装。

      1 条回复 最后回复
      0
      回复
      • 在新帖中回复
      登录后回复
      • 从旧到新
      • 从新到旧
      • 最多赞同


      • 登录

      • 第一个帖子
        最后一个帖子
      0
      • 社区首页
      • 版块
      • 最新
      • 标签
      • 热门