【问题标题】:calculating recall & precision using RBF SVC model m使用 RBF SVM 模型 m 计算召回率和精度
【发布时间】:2019-05-15 16:46:59
【问题描述】:

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

(使用 y_test 和 X_test 计算准确率和召回率。)

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

(使用 y_test 和 X_test 计算准确率和召回率。)

【问题讨论】:

    标签: python-3.x


    【解决方案1】:

    假设定义了 Model 'm',下面是如何进行 Grid 搜索:

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

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

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

    4- 在“X_test”上使用函数 predict 计算“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))
    

    【讨论】:

      猜你喜欢
      • 2015-12-05
      • 2012-11-26
      • 2023-01-05
      • 2021-09-01
      • 2014-11-20
      • 1970-01-01
      • 2019-12-14
      • 2016-07-26
      • 2020-02-23
      相关资源
      最近更新 更多