Mein Code sieht folgendermaßen aus:
Code: Alles auswählen
predictions = cross_val_predict(model,X_data, y_data, cv = 10)
predict_proba = cross_val_predict(model,X_data, y_data, cv = 10, method="predict_proba")
scoring = {"Recall": make_scorer(recall_score,y_true=y_data, y_pred=predictions, pos_label=positive_class_label),
"Precision": make_scorer(precision_score,y_true=y_data, y_pred=predictions, pos_label=positive_class_label),
"F2_Score": make_scorer(fbeta_score,y_true=y_data, y_pred=predictions, beta = 2, pos_label=positive_class_label),
"F0,5_Score": make_scorer(fbeta_score,y_true=y_data, y_pred=predictions, beta = 0.5, pos_label=positive_class_label),
"Balanced_acc": make_scorer(balanced_accuracy_score,y_true=y_data, y_pred=predictions),
"PR_AUC": make_scorer(average_precision_score,y_true=y_data, y_score=predict_proba[:,positive_class_label],
pos_label=positive_class_label, needs_threshold=True)}
scores = cross_validate(model, X_data, y_data, scoring=scoring, cv=6)
Dem Parameter "y_ture" von "recall_score" nur einmal was übergeben. Wieso erhalte ich die Fehlermeldung.File "/home/hpc/iwfa/iwfa017h/.local/lib/python3.8/site-packages/sklearn/model_selection/_validation.py", line 767, in _score
scores = scorer(estimator, X_test, y_test)
File "/home/hpc/iwfa/iwfa017h/.local/lib/python3.8/site-packages/sklearn/metrics/_scorer.py", line 107, in __call__
score = scorer._score(cached_call, estimator, *args, **kwargs)
File "/home/hpc/iwfa/iwfa017h/.local/lib/python3.8/site-packages/sklearn/metrics/_scorer.py", line 268, in _score
return self._sign * self._score_func(y_true, y_pred, **self._kwargs)
TypeError: recall_score() got multiple values for argument 'y_true'
Dadurch werden alle sind die Werte für die Metricen alle gleich NaN.
Vielen Dank im Voraus!
LG