Решение задачи классификации. Логистическая регрессия

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Python
  • 21 21 страница
  • 4 + 4 источника
  • Добавлена 01.04.2023
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Содержание
Введение 2
1. Необходимые инструменты 4
2. Постановка задачи классификации 6
3. Вероятностное обоснование 8
4. Обучение модели 9
5. Регуляризация 10
6. Предсказание с помощью логистической регрессии 11
7. Мультиномиальная логистическая регрессия 13
8. Практическая часть 15
Заключение 16
Список литературы 17
Приложение 1. 18
Приложение 2. 20
Приложение 3. 21

Фрагмент для ознакомления

Пусть , тогда вероятность принадлежности -го объекта к каждому из классов:(8)Это выражение может быть записано через функцию softmax, которая является прямым обобщением функции :(9)Таким образом, общее количество параметров равно . Классификация по модели проводится аналогично модели бинарной классификации – выбирается класс с наибольшим значением функции softmax. При этом в некоторых задачах полезным будет вывести несколько классов с наибольшей вероятностью и дать пользователю выбрать из них наилучший экспертной оценкой. Пример решения классификации с 3 классами с помощью модели мультиклассовой логистической регрессии представлен на рисунке 3.Рисунок 3. Решение задачи классификации с 3 классами.Практическая частьЗаключениеВ ходе выполнения работы была изучена важная проблема машинного обучения – задача классификации объектов. Подробно разобран один из наиболее популярных подходов – модель логистической регрессии. Было разобрано вероятностное обоснование модели, способы борьбы с переобучением и рассмотрен обобщенный случай логистической регрессии для задачи с несколькими классами. На языке python с помощью библиотеки sklearn были реализовано обучение моделей для классификации объектов.Список литературыИнтернет ресурс scikit-learnURL: https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html(дата обращения 17.02.2023).Bishop, Christopher M. Pattern Recognition and Machine Learning. New York :Springer, 2006.Интернет ресурс habr.com URL: https://habr.com/ru/company/io/blog/265007/(дата обращения 17.02.2023).К.В. Воронцов Курс “Машинное обучение” 2019, URL: https://www.youtube.com/watch?v=VBmfuf11N-M(дата обращения 17.02.2023)Приложение 1.Листинг программы 1.import matplotlib.pyplot as pltimport numpy as npfrom scipy.special import expitfrom sklearn.linear_model import LinearRegression, LogisticRegressionxmin, xmax = -5, 5n_samples = 100np.random.seed(0)X = np.random.normal(size=n_samples)y = (X > 0).astype(float)X[X > 0] *= 4X += 0.3 * np.random.normal(size=n_samples)X = X[:, np.newaxis]clf = LogisticRegression(C=1e5)clf.fit(X, y)plt.figure(1, figsize=(4, 3))plt.clf()plt.scatter(X.ravel(), y, label="example data", color="black", zorder=20)X_test = np.linspace(-5, 10, 300)loss = expit(X_test * clf.coef_ + clf.intercept_).ravel()plt.plot(X_test, loss, label="Logistic Regression Model", color="red", linewidth=3)ols = LinearRegression()ols.fit(X, y)plt.plot( X_test, ols.coef_ * X_test + ols.intercept_, label="Linear Regression Model", linewidth=1,)plt.axhline(0.5, color=".5")plt.ylabel("y")plt.xlabel("X")plt.xticks(range(-5, 10))plt.yticks([0, 0.5, 1])plt.ylim(-0.25, 1.25)plt.xlim(-4, 10)plt.legend( loc="lower right", fontsize="small",)plt.tight_layout()plt.show()Приложение 2.Листингпрограммы 2.from sklearn import datasets, neighbors, linear_modelX_digits, y_digits = datasets.load_digits(return_X_y=True)X_digits = X_digits / X_digits.max()n_samples = len(X_digits)X_train = X_digits[: int(0.9 * n_samples)]y_train = y_digits[: int(0.9 * n_samples)]X_test = X_digits[int(0.9 * n_samples) :]y_test = y_digits[int(0.9 * n_samples) :]knn = neighbors.KNeighborsClassifier()logistic = linear_model.LogisticRegression(max_iter=1000)print("KNN score: %f" % knn.fit(X_train, y_train).score(X_test, y_test))print( "LogisticRegression score: %f" % logistic.fit(X_train, y_train).score(X_test, y_test))Приложение 3.Листингпрограммы 3import matplotlib.pyplot as pltfrom sklearn.linear_model import LogisticRegressionfrom sklearn import datasetsfrom sklearn.inspection import DecisionBoundaryDisplayiris = datasets.load_iris()X = iris.data[:, :2] Y = iris.targetlogreg = LogisticRegression(C=1e5)logreg.fit(X, Y)_, ax = plt.subplots(figsize=(4, 3))DecisionBoundaryDisplay.from_estimator( logreg, X, cmap=plt.cm.Paired, ax=ax, response_method="predict", plot_method="pcolormesh", shading="auto", xlabel="Sepal length", ylabel="Sepal width", eps=0.5,)plt.scatter(X[:, 0], X[:, 1], c=Y, edgecolors="k", cmap=plt.cm.Paired)plt.xticks(())plt.yticks(())plt.show()

Список литературы
1. Интернет ресурс scikit-learn URL: https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html
(дата обращения 17.02.2023).
2. Bishop, Christopher M. Pattern Recognition and Machine Learning. New York :Springer, 2006.
3. Интернет ресурс habr.com URL: https://habr.com/ru/company/io/blog/265007/
(дата обращения 17.02.2023).
4. К.В. Воронцов Курс “Машинное обучение” 2019, URL: https://www.youtube.com/watch?v=VBmfuf11N-M
(дата обращения 17.02.2023)

Вопрос-ответ:

Что такое логистическая регрессия?

Логистическая регрессия - это метод классификации, который использует логистическую функцию для предсказания вероятности принадлежности объекта к определенному классу.

Какие инструменты необходимы для решения задачи классификации с помощью логистической регрессии?

Для решения задачи классификации с помощью логистической регрессии, необходимо использовать инструменты для обработки данных, вычисления вероятностей, оптимизации параметров модели и оценки ее качества.

Как формулируется задача классификации при использовании логистической регрессии?

Задача классификации с помощью логистической регрессии заключается в том, чтобы построить модель, которая будет предсказывать вероятность принадлежности объекта к каждому из классов на основе его признаков.

Как осуществляется обучение модели логистической регрессии?

Обучение модели логистической регрессии происходит путем настройки параметров модели с использованием метода максимального правдоподобия или градиентного спуска.

Что такое регуляризация в логистической регрессии?

Регуляризация в логистической регрессии - это метод добавления штрафа за сложность модели, что помогает бороться с проблемой переобучения и улучшает обобщающую способность модели.

Какие инструменты необходимы для решения задачи классификации с помощью логистической регрессии?

Для решения задачи классификации с помощью логистической регрессии необходимы следующие инструменты: библиотека NumPy для работы с массивами данных, библиотека pandas для загрузки и предобработки данных, библиотека scikit-learn для обучения модели логистической регрессии, и библиотека matplotlib для визуализации результатов.

Как поставить задачу классификации?

Постановка задачи классификации заключается в разделении объектов на заранее определенные классы. Например, это может быть задача определения, является ли электронное письмо спамом или не спамом. Входные данные в задаче классификации представляют собой набор признаков, а выходные данные - метки классов.

Каким образом логистическая регрессия обосновывает вероятностный подход в задаче классификации?

Логистическая регрессия использует логистическую функцию для преобразования линейной комбинации признаков в вероятность принадлежности к классам. Это позволяет интерпретировать выход модели как вероятности принадлежности объекта к каждому из классов. Данный вероятностный подход обосновывает логистическая регрессия в задаче классификации.

Как происходит обучение модели логистической регрессии?

Обучение модели логистической регрессии происходит путем минимизации функции потерь, такой как логистическая функция потерь, с использованием методов оптимизации, например, градиентного спуска. Модель обучается на обучающем наборе данных, где для каждого объекта известны значения признаков и метка класса. Цель обучения - найти оптимальные веса модели, которые минимизируют функцию потерь и обеспечивают хорошую точность предсказаний.