Редактирование: Оценка качества в задачах классификации и регрессии

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 55: Строка 55:
 
   y = y.astype(np.uint8)
 
   y = y.astype(np.uint8)
 
   X_train, X_test, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:]
 
   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_train_5 = (y_train == 5) # True для всех пятерок, False для в сех остальных цифр. Задача опознать пятерки
 
   y_test_5 = (y_test == 5)
 
   y_test_5 = (y_test == 5)
   sgd_clf = SGDClassifier(random_state=42)<font color="green"> # классификатор на основе метода стохастического градиентного спуска (англ. Stochastic Gradient Descent SGD)</font>
+
   sgd_clf = SGDClassifier(random_state=42) #классификатор на основе метода стохастического градиентного спуска (англ. Stochastic Gradient Descent SGD)
   sgd_clf.fit(X_train, y_train_5) <font color="green"># обучаем классификатор распозновать пятерки на целом обучающем наборе</font>
+
   sgd_clf.fit(X_train, y_train_5) #обучаем классификатор распозновать пятерки на целом обучающем наборе
 
   <font color="green"># Для расчета матрицы ошибок сначала понадобится иметь набор прогнозов, чтобы их можно было сравнивать с фактическими целями</font>
 
   <font color="green"># Для расчета матрицы ошибок сначала понадобится иметь набор прогнозов, чтобы их можно было сравнивать с фактическими целями</font>
 
   y_train_pred = cross_val_predict(sgd_clf, X_train, y_train_5, cv=3)
 
   y_train_pred = cross_val_predict(sgd_clf, X_train, y_train_5, cv=3)
Строка 74: Строка 74:
 
   y = y.astype(np.uint8)
 
   y = y.astype(np.uint8)
 
   X_train, X_test, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:]
 
   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_train_5 = (y_train == 5) # True для всех пятерок, False для в сех остальных цифр. Задача опознать пятерки
 
   y_test_5 = (y_test == 5)
 
   y_test_5 = (y_test == 5)
   y_train_perfect_predictions = y_train_5 <font color="green"># притворись, что мы достигли совершенства</font>
+
   y_train_perfect_predictions = y_train_5 # притворись, что мы достигли совершенства
 
   print(confusion_matrix(y_train_5, y_train_perfect_predictions))
 
   print(confusion_matrix(y_train_5, y_train_perfect_predictions))
 
   <font color="green"># array([[54579, 0],
 
   <font color="green"># array([[54579, 0],
Строка 126: Строка 126:
 
   # array([[53892, 687]
 
   # array([[53892, 687]
 
   #        [ 1891, 3530]])</font>
 
   #        [ 1891, 3530]])</font>
   print(accuracy_score(y_train_5, y_train_pred))<font color="green"> # == (53892 + 3530) / (53892 + 3530  + 1891 +687)</font>
+
   print(accuracy_score(y_train_5, y_train_pred)) # == (53892 + 3530) / (53892 + 3530  + 1891 +687)
 
    
 
    
 
   <font color="green"># 0.9570333333333333</font>
 
   <font color="green"># 0.9570333333333333</font>
Строка 303: Строка 303:
 
[[Файл:PR_curve.png]]
 
[[Файл:PR_curve.png]]
  
   <font color="green"># Код отрисовки Precison-recall кривой
+
   <font color="green"># Код отрисовки Precison-recall кривой</font>
 
   '''# На примере классификатора, способного проводить различие между всего лишь двумя классами
 
   '''# На примере классификатора, способного проводить различие между всего лишь двумя классами
   '''# "пятерка" и "не пятерка" из набора рукописных цифр MNIST</font>
+
   '''# "пятерка" и "не пятерка" из набора рукописных цифр MNIST
 
   '''from''' sklearn.metrics '''import''' precision_recall_curve
 
   '''from''' sklearn.metrics '''import''' precision_recall_curve
 
   '''import''' matplotlib.pyplot '''as''' plt
 
   '''import''' matplotlib.pyplot '''as''' plt

Пожалуйста, учтите, что любой ваш вклад в проект «Викиконспекты» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Викиконспекты:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Чтобы изменить эту страницу, пожалуйста, ответьте на приведённый ниже вопрос (подробнее):

Отменить | Справка по редактированию (в новом окне)

Шаблон, используемый на этой странице: