187
правок
Изменения
→Полнота (англ. Recall)
<font color="green"># код для для подсчета точности и полноты:</font>
'''import''' numpy '''as''' np'''from''' sklearn.datasets '''import''' fetch_openml '''from''' sklearn.model_selection '''import''' cross_val_predict '''from ''' sklearn.metrics '''import ''' precision_score, recall_score '''from''' sklearn.linear_model '''import''' SGDClassifier mnist = fetch_openml('mnist_784'', version=1) X, y = mnist["data"], mnist["target"] 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) # True для всех пятерок, False для в сех остальных цифр. Задача опознать пятерки y_test_5 = (y_test == 5) sgd_clf = SGDClassifier(random_state=42) #классификатор на основе метода стохастического градиентного спуска (Stochastic Gradient Descent SGD) sgd_clf.fit(X_train, y_train_5) #обучаем классификатор распозновать пятерки на целом обучающем наборе y_train_pred = cross_val_predict(sgd_clf, X_train, y_train_5, cv=3) # print(confusion_matrix(y_train_5, y_train_pred)) # array([[53892, 687] # [ 1891, 3530]]) print(precision_score(y_trainy_train_5, y_train_pred)) # == 3530 / (3530 + 687) '''print(recall_score(y_trainy_train_5, y_train_pred)) # == 3530 / (3530 + 1891) 0.8370879772350012 0.6511713705958311
=== F-мера (англ. F-score) ===