Введение
В машинном обучении важно оценивать качество предсказаний, сделанных моделью. Это помогает понять, насколько хорошо модель работает, и можно ли доверять ей при making точных предсказаний. Библиотека scikit-learn предоставляет несколько метрик и методов оценки, чтобы количественно оценить качество предсказаний.
В этом лабе мы исследуем три различных API, предоставляемые scikit-learn для оценки модели: метод оценки Estimator, параметр scoring и функции метрик.
Советы по ВМ
После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь задавать вопросы Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Метод оценки Estimator
Метод оценки Estimator - это стандартный критерий оценки, предоставляемый scikit-learn для каждого оценщика. Он вычисляет оценку, представляющую качество предсказаний модели. Вы можете найти дополнительную информацию об этом в документации по каждому оценщику.
Вот пример использования метода score для оценщика:
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_digits
X, y = load_digits(return_X_y=True)
clf = LogisticRegression()
clf.fit(X, y)
score = clf.score(X, y)
print("Score:", score)
Параметр scoring
Scikit-learn предоставляет параметр scoring в нескольких инструментах оценки модели, таких как кросс-валидация и поиск по сетке. Параметр scoring контролирует метрику, применяемую к оценщикам в ходе оценки.
Вот пример использования параметра scoring с кросс-валидацией:
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_digits
X, y = load_digits(return_X_y=True)
clf = LogisticRegression()
scores = cross_val_score(clf, X, y, cv=5, scoring='accuracy')
print("Scores:", scores)
Функции метрик
Модуль metrics библиотеки scikit-learn реализует несколько функций для оценки ошибки предсказания для конкретных целей. Эти функции можно использовать для вычисления качества предсказаний, сделанных моделью.
Вот пример использования функции accuracy_score из модуля metrics:
from sklearn.metrics import accuracy_score
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
clf = LogisticRegression()
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
Резюме
В этом лабе мы узнали о трех различных API, предоставляемых scikit-learn для оценки модели: метод оценки Estimator, параметр scoring и функции метрик. Эти API позволяют нам оценить качество предсказаний, сделанных моделью, и понять, насколько хорошо модель работает.