Изменения

Перейти к: навигация, поиск
Матрица ошибок (англ. Сonfusion matrix)
<font color="green"># код для матрицы ошибок</font>
'''# Пример классификатора, способного проводить различие между всего лишь двумя
'''# классами, "пятерка" и "не пятерка' из набор данных MNIST
'''import''' numpy '''as''' np
'''from''' sklearn.datasets '''import''' fetch_openml
'''from''' sklearn.model_selection '''import''' cross_val_predict
'''from''' sklearn.metrics '''import''' confusion_matrix
'''importfrom''' pandas sklearn.linear_model '''asimport''' pdSGDClassifier mnist = fetch_openml('mnist_784''n , version=1) X, y = mnist["data"], mnist["target"] # some_digit = X[0] # признаки цифры пять y = confusion_matrixy.astype(np.uint8) X_train, X_test, y_train, y_test = X[:60000], X[60000:], y[:60000], ay[60000:] y_train_5 = (y_train == 5) # 1-й способTrue для всех пятерок, False для в сех остальных цифр. Задача опознать пятерки y_test_5 = (y_test == 5) '''n sgd_clf = SGDClassifier(random_state= pd42) #классификатор на основе метода стохастического градиентного спуска (Stochastic Gradient Descent SGD) sgd_clf.crosstabfit(yX_train, ay_train_5) # 2-й способобучаем классификатор распозновать пятерки на целом обучающем наборе '''# Вычисление TNДля расчета матрицы ошибок сначала понадобится иметь набор прогнозов, FPчтобы их можно было сравнивать с фактическими целями # Можно получить прогнозы и на тестовом наборе. Но мы пока тестовый набор не трогаем. Тестовый набор используем только в самом конце проекта # после того, FNкак будет готов классификатор, TP готовый кзапуску '''TNy_train_pred = cross_val_predict(sgd_clf, FPX_train, FNy_train_5, TP cv= 3) print(confusion_matrix(yy_train_5, ay_train_pred)).ravel # array([[53892, 687] # [ 1891, 3530]])
=== Аккуратность (англ. Accuracy) ===
187
правок

Навигация