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



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

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

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

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

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

1-初始化网格参数c和Gamma。

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

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

4-通过在"X_test"上使用函数预测来计算"y_scores"。

5-计算精度和召回率的分数。

以下是使用 scikit learn 来解决问题的代码:

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))

最新更新