【发布时间】:2016-04-01 05:22:37
【问题描述】:
这是代码的粘贴:SVM sample code
我检查了这个问题的其他几个答案......似乎这个问题的特定迭代有点不同。
首先,我的输入是标准化的,每个点有五个输入。这些值的大小都是合理的(健康的 0.5 秒和 0.7 秒等——很少接近零或接近 1 的数字)。
我有大约 70 x 输入对应于它们的 70 y 输入。 y 输入也被归一化(它们是我的函数在每个时间步之后的百分比变化)。
我初始化我的 SVR(和 SVC),训练它们,然后用 30 个样本外输入对其进行测试...并为每个输入获得完全相同的预测(并且输入的变化量合理—— 0.3、0.6、0.5 等)。我认为分类器(至少)会有一些差异化......
这是我得到的代码:
# train svr
my_svr = svm.SVR()
my_svr.fit(x_training,y_trainr)
# train svc
my_svc = svm.SVC()
my_svc.fit(x_training,y_trainc)
# predict regression
p_regression = my_svr.predict(x_test)
p_r_series = pd.Series(index=y_testing.index,data=p_regression)
# predict classification
p_classification = my_svc.predict(x_test)
p_c_series = pd.Series(index=y_testing_classification.index,data=p_classification)
以下是我的输入示例:
x_training = [[ 1.52068627e-04 8.66880301e-01 5.08504362e-01 9.48082047e-01
7.01156322e-01],
[ 6.68130520e-01 9.07506250e-01 5.07182647e-01 8.11290634e-01
6.67756208e-01],
... x 70 ]
y_trainr = [-0.00723209 -0.01788079 0.00741741 -0.00200805 -0.00737761 0.00202704 ...]
y_trainc = [ 0. 0. 1. 0. 0. 1. 1. 0. ...]
x_test 矩阵 (5x30) 在输入的幅度和方差方面与x_training 矩阵相似...y_testr 和 y_testc 也是如此。
目前,所有测试的预测完全相同(回归为 0.00596,分类为 1...)
如何让 SVR 和 SVC 函数吐出相关预测?或者至少根据输入做出不同的预测......
至少,分类器应该能够做出选择。我的意思是,即使我没有为回归提供足够的维度......
【问题讨论】:
-
您需要提供一个独立的、可运行的示例,其中包含实际演示问题的示例数据。
-
好的。一秒(或大约 10 分钟 =)
-
@BrenBarn 有一个指向代码粘贴箱的链接。我包括了完整的数据...
-
@bordeo,你能帮我解决这个问题吗? stackoverflow.com/questions/40357805/…
标签: python scikit-learn sklearn-pandas