我正在尝试评估功能和功能的影响力。参数C(SVM正则化)对预测时间的影响。我正在使用scikit-learn网站提出的code的修改版本。
以下是一些重要的代码行: 输入
'n_train': int(2000),
'n_test': int( 500),
'n_features': np.arange(10,100,10)
功能
SVC(kernel='linear', C=0.001)
SVC(kernel='linear', C=0.01)
SVC(kernel='linear', C=1)
SVC(kernel='linear', C=100)
预测
estimator.fit(X_train, y_train)
....
start = time.time()
estimator.predict(X_test)
runtimes[i] = time.time() - start
输出:Evolution of Prediction Time 我不明白为什么预测时间会逆转。根据许多资源(3和其他资源),延迟应该随着SVM函数的C参数而增加。
答案 0 :(得分:0)
具有更大的C将导致松弛变量的值更小。这意味着支持向量的数量将减少。运行预测时,需要计算每个支持向量的指标函数。
因此;较小的C - >更多支持向量 - >更多计算 - >预测速度较慢。