187
правок
Изменения
→ROC-кривая
Один из способов сравнения классификаторов предусматривает измерение '''площади под кривой''' (англ. '''Area Under the Curve {{---}} AUC'''). Безупречный классификатор будет иметь площадь под ROC-кривой ('''ROC-AUC'''), равную 1, тогда как чисто случайный классификатор - площадь 0.5.
<font color="green"># Код отрисовки ROC-кривой</font>
'''# На примере классификатора, способного проводить различие между всего лишь двумя классами
'''# "пятерка" и "не пятерка" из набора рукописных цифр MNIST</font>
'''from''' sklearn.metrics '''import''' roc_curve
'''import''' matplotlib.pyplot '''as''' plt
y = y.astype(np.uint8)
X_train, X_test, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:]
y_train_5 = (y_train == 5) <font color="green"># True для всех пятерок, False для в сех остальных цифр. Задача опознать пятерки</font>
y_test_5 = (y_test == 5)
sgd_clf = SGDClassifier(random_state=42) <font color="green">#классификатор на основе метода стохастического градиентного спуска (Stochastic Gradient Descent SGD)</font>
sgd_clf.fit(X_train, y_train_5) #обучаем классификатор распозновать пятерки на целом обучающем наборе
y_train_pred = cross_val_predict(sgd_clf, X_train, y_train_5, cv=3)