Шаг 23.
Введение в машинное обучение с использованием Python. Введение. Первый пример... . Построение первой модели: оценка качества модели

    На этом шаге мы рассмотрим способ оценки правильности полученных результатов.

    Это тот самый момент, когда нам понадобится созданный ранее тестовый набор. Эти данные не использовались для построения модели, но мы знаем правильные сорта для каждого ириса в тестовом наборе.

    Таким образом, мы можем сделать прогноз для каждого ириса в тестовом наборе и сравнить его с фактической меткой (уже известным сортом). Мы можем оценить качество модели, вычислив правильность (accuracy) - процент цветов, для которых модель правильно спрогнозировала сорта:

[In 23]:
y_pred = knn.predict(X_test)
print("Прогнозы для тестового набора:\n {}".format(y_pred))
Прогнозы для тестового набора:
[2 1 0 2 0 2 0 1 1 1 2 1 1 1 1 0 1 1 0 0 2 1 0 0 2 0 0 1 1 0 2 1 0 2 2 1 0 2]

[In 24]:
print("Правильность на тестовом наборе: {:.2f}".format(
            np.mean(y_pred == y_test)))
Правильность на тестовом наборе: 0.97

    Кроме того, мы можем использовать метод score объекта knn, который вычисляет правильность модели для тестового набора:

[In 25]:
print("Правильность на тестовом наборе: {:.2f}".format(knn.score(X_test, y_test)))
Правильность на тестовом наборе: 0.97

    Правильность этой модели для тестового набора составляет около 0.97, что означает, что мы дали правильный прогноз для 97% ирисов в тестовом наборе. При некоторых математических допущениях, это означает, что мы можем ожидать, что наша модель в 97% случаев даст правильный прогноз для новых ирисов. Для нашего ботаника-любителя этот высокий уровень правильности означает, что наша модель может быть достаточно надежной в использовании. В следующих шагах мы обсудим, как можно улучшить эффективность модели, и с какими подводными камнями можно столкнуться при настройке модели.

    На следующем шаге мы рассмотрим итоги и перспективы.




Предыдущий шаг Содержание Следующий шаг