Наука за данните

Логистична регресия в Python

Логистична регресия в Python
Логистичната регресия е алгоритъм за класификация на машинното обучение. Логистичната регресия също е подобна на линейната регресия. Но основната разлика между логистичната регресия и линейната регресия е, че изходните стойности на логистичната регресия са винаги двоични (0, 1), а не числови. Логистичната регресия всъщност създава връзка между независими променливи (една или повече от една) и зависими променливи. Зависимата променлива е двоична променлива, която има предимно два случая:

Ключовото значение на логистичната регресия:

  1. Независимите променливи не трябва да са мултиколинеарност; ако има някаква връзка, то тя трябва да е много малко.
  2. Наборът от данни за логистичната регресия трябва да бъде достатъчно голям, за да се получат по-добри резултати.
  3. В набора от данни трябва да има само тези атрибути, което има някакво значение.
  4. Независимите променливи трябва да съответстват на log шансове.

За изграждане на модела на логистична регресия, ние използваме scikit-learn библиотека. Процесът на логистична регресия в python е даден по-долу:

  1. Импортирайте всички необходими пакети за логистична регресия и други библиотеки.
  2. Качете набора от данни.
  3. Разберете независимите променливи от набора от данни и зависимите променливи.
  4. Разделете набора от данни на данни за обучение и тест.
  5. Инициализирайте логистичния модел на регресия.
  6. Поставете модела с набора от данни за обучение.
  7. Предскажете модела, използвайки данните от теста и изчислете точността на модела.

Проблем: Първите стъпки са да съберем набора от данни, върху който искаме да приложим Логистична регресия. Наборът от данни, който ще използваме тук, е за набор от данни за прием на MS. Този набор от данни има четири променливи и от които три са независими променливи (GRE, GPA, work_experience), а една е зависима променлива (допусната). Този набор от данни ще покаже дали кандидатът ще получи прием или не в престижен университет въз основа на техния GPA, GRE или work_experience.

Етап 1: Импортираме всички необходими библиотеки, необходими за програмата python.

Стъпка 2: Сега зареждаме нашия набор от данни за приемане на ms, използвайки функцията read_csv pandas.

Стъпка 3: Наборът от данни изглежда по-долу:

Стъпка 4: Проверяваме всички налични колони в набора от данни и след това задаваме всички независими променливи на променлива X и зависими променливи на y, както е показано на екрана по-долу.

Стъпка 5: След като зададем независимите променливи на X и зависимите променливи на y, сега отпечатваме тук, за да проверим X и y с помощта на функцията head pandas.

Стъпка 6: Сега ще разделим целия набор от данни на обучение и тест. За целта използваме метода train_test_split на sklearn. Дадохме 25% от целия набор от данни на теста, а останалите 75% от набора от данни - на обучението.

Стъпка 7: Сега ще разделим целия набор от данни на обучение и тест. За целта използваме метода train_test_split на sklearn. Дадохме 25% от целия набор от данни на теста, а останалите 75% от набора от данни - на обучението.

След това създаваме модела на логистична регресия и събираме данните за обучение.

Стъпка 8: Сега нашият модел е готов за прогнозиране, така че сега предаваме данните от теста (X_test) на модела и получихме резултатите. Резултатите показват (y_predictions), че стойности 1 (допуснати) и 0 (неприети).

Стъпка 9: Сега отпечатваме доклада за класификация и матрицата за объркване.

Докладът за класификация показва, че моделът може да предскаже резултатите с точност от 69%.
Матрицата за объркване показва общите подробности за данните X_test като:
TP = истински положителни стойности = 8
TN = Истински отрицателни = 61
FP = фалшиви положителни резултати = 4
FN = Фалшиви отрицания = 27

И така, общата точност според confusion_matrix е:

Точност = (TP + TN) / Общо = (8 + 61) / 100 = 0.69

Стъпка 10: Сега ще проверим резултата чрез печат. И така, ние просто отпечатваме първите 5 елемента на X_test и y_test (действителна истинска стойност), използвайки функцията head pandas. След това отпечатваме и първите 5 резултата от прогнозите, както е показано по-долу:

Ние комбинираме и трите резултата в лист, за да разберем прогнозите, както е показано по-долу. Можем да видим, че с изключение на 341 X_test данни, които са били true (1), прогнозата е false (0) else. И така, нашите прогнозни модели работят 69%, както вече показахме по-горе.

Стъпка 11: И така, ние разбираме как се правят прогнозите на модела върху невидимия набор от данни като X_test. И така, ние създадохме само произволно нов набор от данни, използвайки рамка с данни на pandas, предадохме го на обучения модел и получихме резултата, показан по-долу.

Пълният код в python, даден по-долу:

Кодът за този блог, заедно с набора от данни, е достъпен на следната връзка
https: // github.com / shekharpandey89 / логистична регресия

5 най-добри аркадни игри за Linux
В днешно време компютрите са сериозни машини, използвани за игри. Ако не можете да получите новия висок резултат, ще разберете какво имам предвид. В т...
Битка за Уеснот 1.13.6 Разработка освободена
Битка за Уеснот 1.13.6, издаден миналия месец, е шестата версия за разработка в 1.13.x серия и предоставя редица подобрения, най-вече на потребителски...
Как да инсталирате League Of Legends на Ubuntu 14.04
Ако сте фен на League of Legends, това е възможност за вас да тествате League of Legends. Имайте предвид, че LOL се поддържа на PlayOnLinux, ако сте п...