使用RBF SVC模型m计算召回率和精度

时间:2019-02-01 09:25:41

标签: python-3.x

1-使用已经定义的RBF SVC模型m,对参数C和gamma进行网格搜索,以查找值[0.01,0.1,1,10]。网格搜索应找到最适合召回的模型。该模型的召回率比精度高多少? (计算召回率-精确到小数点后三位)

(使用y_test和X_test计算精度和召回率。)

2-使用已经定义的RBF SVC模型m,对参数C和gamma进行网格搜索,以查找值[0.01,0.1,1,10]。网格搜索应找到最优化精度的模型。该模型的精度比召回率好多少? (计算精度-召回3个小数位)

(使用y_test和X_test计算精度和召回率。)

1 个答案:

答案 0 :(得分:0)

假设已定义模型'm',以下是进行网格搜索的方法:

1-初始化Grid参数c和Gamma。

2-使用(模型(m),初始化参数,运行网格搜索,并将得分设置为“召回”)-对于第二个问题,您将其设置为“精度”。

3-使用训练数据(X_train和y_train)拟合模型。

4-使用“ X_test”上的预测函数计算“ y_scores”。

5-计算精确度和查全率。

以下是使用scikit学习的代码:

from sklearn.metrics import recall_score, precision_score
from sklearn.model_selection import GridSearchCV

grid_params = {'gamma': [0.01, 0.1, 1, 10],'C': [0.01, 0.1, 1, 10]}
grid_recall = GridSearchCV(m, param_grid = grid_params , scoring = 'recall')
grid_recall.fit(X_train, y_train)
y_scores = grid_recall.predict(X_test)

print('Difference: ', recall_score(y_test, y_scores) -  precision_score(y_test, y_scores))