我目前正在使用svc来分隔两类数据(下面的功能是命名数据,标签是条件)。在使用gridSearchCV拟合数据后,我获得了大约.7的分类分数,我对这个数字非常满意。之后我使用grid.best_estimator_.decision_function()从每个类的数据中获取超平面的相对距离,并将它们绘制在一个箱线图和一个直方图中,以便更好地了解它有多少重叠。我的问题是,在直方图和箱形图中,这些看起来完全可以分离,我知道情况并非如此。我确定我正在调用decision_function(),但不确定如何真正做到这一点。
svc=SVC(kernel='linear,probability=True,decision_function_shape='ovr')
cv=KFold(n_splits=4,shuffle=True)
svc=SVC(kernel='linear,probability=True,decision_function_shape='ovr')
C_range=[1,.001,.005,.01,.05,.1,.5,5,50,10,100]
param_grid=dict(C=C_range)
grid=GridSearchCV(svc,param_grid=param_grid, cv=cv,n_jobs=4,iid=False, refit=True)
grid.fit(data,condition)
print grid.best_params
print grid.best_score_
x=grid.best_estimator_.decision_function(data)
plt.hist(x)
sb.boxplot(condition,x)
sb.swarmplot
在直方图和箱形图中,看起来几乎所有的点都具有完全正或负的距离,而它们之间没有任何距离。