187
правок
Изменения
→ROC-кривая
Показывает долю ложно положительных примеров (англ. '''false positive rate, FPR''') в сравнении с долей истинно положительных примеров (англ. '''true positive rate, TPR''').
[[Файл:ROC_curveROC_2.jpg|500pxpng]]
: <math> TPR = \dfrac{TP}{TP+FN} = Recall</math>
<font color="green"># Код отрисовки ROC-кривой</font>
'''sns# На примере классификатора, способного проводить различие между всего лишь двумя классами '''# "пятерка" и "не пятерка" из набор данных MNIST '''from''' sklearn.metrics '''import''' roc_curve '''import''' matplotlib.set(font_scale=1pyplot '''as''' plt '''import''' numpy '''as''' np '''from''' sklearn.5)datasets '''import''' fetch_openml '''snsfrom''' sklearn.set_color_codes("muted")model_selection '''import''' cross_val_predict '''pltfrom''' sklearn.figure(figsizelinear_model '''import''' SGDClassifier mnist =fetch_openml(10'mnist_784', 8)version=1) '''fprX, tpry = mnist["data"], thresholds mnist["target"] y = roc_curvey.astype(np.uint8) X_train, X_test, y_train, y_test= X[:60000], lr.predict_proba(X_test)X[60000:], y[:60000],1y[60000:] y_train_5 = (y_train == 5) # True для всех пятерок, pos_labelFalse для в сех остальных цифр. Задача опознать пятерки y_test_5 =1(y_test == 5) '''lw sgd_clf = SGDClassifier(random_state= 242) #классификатор на основе метода стохастического градиентного спуска (Stochastic Gradient Descent SGD) '''pltsgd_clf.plotfit(X_train, y_train_5) #обучаем классификатор распозновать пятерки на целом обучающем наборе y_train_pred = cross_val_predict(sgd_clf, X_train, y_train_5, cv=3) y_scores = cross_val_predict(sgd_clf, X_train, y_train_5, cv=3, method="decision_function") fpr, tpr, lwthresholds =lwroc_curve(y_train_5, y_scores) def plot_roc_curve(fpr, tpr, label='ROC curve 'None): ''' plt.plot([0fpr, 1]tpr, [0linewidth=2, 1]label=label) ''' plt.xlimplot([0.0, 1.0]) '''plt.ylim(, [0.0, 1.05], 'k--')# dashed diagonal ''' plt.xlabel('False Positive Rate, FPR (1 - specificity)') ''' plt.ylabel('True Positive Rate, TPR (Recall)') ''' plt.title('ROC curve') ''' plt.savefig("ROC.png") '''plot_roc_curve(fpr, tpr) plt.show()
=== Precison-recall кривая ===