Преносимите компютри на Python вече са златен стандарт за инструменти за машинно обучение (ML)/наука за данни/разработка на изкуствен интелект. Те са превъзходството на програмиста на Python.

Тази статия говори за стъпки, стандарти, процедури и процеси, които програмистите на Python може да искат да следват, които възнамеряват да създадат бележник за подготовка на ML модел. Тази статия е предназначена за начинаещи и нови учащи, които са започнали пътешествието в машинното обучение. Ще говорим само за теорията, за да можете лесно да започнете да структурирате вашите тетрадки с увереност. Моля, използвайте връзката тази, за да изтеглите примерен шаблон на бележник.

Вашите опции за създаване на бележник

Това ще бъде първият въпрос, който ще имате — Къде можете да създадете първите си бележници. Е, те са доста на брой опции, които имате. Те са изброени по-долу в реда на необходимите усилия и наличните предимства:

  1. Kaggle: това е онлайн услуга, всичко, което трябва да направите, е да създадете акаунт, като предоставите имейла си и го активирате. Ще извлечете огромни ползи от Kaggle, тъй като това е платформата, където можете да въртите вашите бележници, да ги управлявате директно онлайн, да черпите вдъхновения от колеги ентусиасти в машинното обучение/общност, да проверявате често срещани проблеми, най-добрите възможни решения. Тази опция не включва никакви разходи, за да започнете. Kaggle ще ви предоставя месечно 10 часа време от своята платформа, което да използвате безплатно.
  2. Google Collab: Google Collab е подобен на Kaggle и предлага онлайн бележник/създаване на модели. Можете да създадете и запазите своя бележник във вашия GDrive. В момента Collab пропуска участието на общността, но съм сигурен, че това ще набере скорост в близко бъдеще. Започването и с тази опция не изисква разходи.
  3. Anaconda — с тази опция вие ще настроите вашата локална среда за разработка на python. Може да се настрои чрез инсталиране на Anaconda binary от уебсайта. Предимството на Anaconda е, че е достъпно за Windows, Mac и Linux и може да се използва за разработка на Python и R с еднаква лекота.

Заглавка

Използвайте този раздел, за да предоставите бизнес контекст за вашия бележник на Python. Предоставете информация за проблемния бизнес домейн. Можете да обсъдите ключови елементи от проблема и подхода за решение.

Този раздел трябва да зареди необходимите библиотеки на Python като следните:

  1. Numpy — използва се за числени изчисления
  2. Панди — Обекти с данни като Dataframes
  3. Matplotlib — Изграждане на графики и визуализации
  4. Seaborn — Изграждане на графики и визуализации, моля, имайте предвид, че тази библиотека е базирана на Matplotlib, но предоставя по-изпипани визуализации.

Можете да използвате множество оператори на Python за импортиране на библиотеки или можете също да импортирате свързани библиотеки в единични оператори. Това е индивидуална практика/вкус и не причинява проблеми/проблеми с производителността, така че сте свободни да избирате.

Средите на Python се доставят предварително заредени с библиотеки. Някои библиотеки обаче са специални и обикновено не са пакетирани от стандартни пакети на Python. В случай, че имате нужда от специални библиотеки, можете да инсталирате такива.

Това може да се направи чрез използване на стандартни команди „pip“ в клетките на бележника или може да се направи чрез командния ред отново с помощта на команди „pip“ (но тогава ще трябва да ги импортирате в заглавката на вашия бележник на python.

Проучвателен анализ на данни

Този раздел или фаза е по-скоро проверка на качеството и качествата на наличните данни. Трябва да бъде част от всеки бележник на Python. Всички трябва да се грижим за основния изчислителен принцип — „Боклук в – боклук навън“. Ако качеството на данните не е добро, никога няма да получим добри прозрения. Започва с код на Python, който се опитва да зареди данни в обекти с данни на Python като рамки с данни, списъци, речници и да провери ключови елементи от данни като обем от данни, брой атрибути, типове данни — като числови, категориални и поредни данни.

В идеалния случай трябва да прегледате всяка променлива в наличните набори от данни, това ще ви улесни в по-късните стъпки, свързани с почистването на данни с помощта на импутации и премахване на данни.

За да продължите напред, винаги е добре да направите известна предварителна обработка на данните, като промяна на формата. Числата, показани като тип данни на обект, трябва да бъдат преобразувани в числа

Следващата стъпка би била да разберем дали имаме нулеви данни и техния процент в общите данни, откривайки наличието на извънредни стойности и може да се извърши с много основни и прости функции на Python.

Почистване на данни

Следващата стъпка е фазата на почистване на данните и тя ще включва премахване на данни от първоначалния набор от дати. Тази фаза е от съществено значение, тъй като може да не се нуждаем от всички данни за нашия прогнозен анализ. Като цяло можем да започнем да вземаме променливи решения за отпадане въз основа на следните правила:

  1. Излишни колони като дати, ако имаме налични ден, месец и година в отделни колони.
  2. Премахнете колоните, които се състоят от сериен номер за всеки запис, тъй като обектите с данни на Python като рамката с данни ще генерират собствени ключове вътрешно за всеки запис.
  3. Можем да премахнем колони, които съдържат текстова информация, ако намерението ни не е да правим анализ на настроението. Пример за такива колони са колоните Забележки/Описание.
  4. Можем да премахнем всички колони, които може да имат повече от 10% нулеви/липсващи данни. Тъй като високият процент нулеви данни е труден за приписване и ако бъде приписан, това може да доведе до грешни прогнози.
  5. Можем да премахнем променливи, които няма да имат бизнес значение. Всеки анализатор на данни трябва да говори с бизнеса си, преди да вземе такива решения за изтриване.
  6. Следващата стъпка е да направите известна корелация между наличните променливи и да разберете дали данните все още имат някои тясно свързани колони. Такива колони не добавят допълнителна стойност в по-късния процес на изграждане на модела. Следователно може да се премахне безопасно, ако бъде открита много висока корелация.

Извършване на едномерен, двумерен и многовариантен анализ

Този етап има за цел да разбере наличната информация в базовия набор от данни/кадър от данни и каква допълнителна информация може да бъде извлечена. Всяка характеристика се анализира поотделно, след това в комбинация от две или повече. Обикновено резултатът от тази фаза е:

  1. Обща информация
  2. Изведени съотношения

Разделяне на данни

Този раздел е действителна фаза/етап във вашия бележник, където ще започнете с действителните стъпки към изграждането на модел. Този раздел ще извърши тестово разделяне на данни с помощта на стандартна функция на Python. Причината за извършване на разделяне на данни е проста - не искате да използвате всичките си данни в подготовката на модела. Процентът от данните се използва за обучение на модела — наричан набор от данни за обучение. Това са данните, на които вашият модел ще бъде фино настроен.

Останалите данни всъщност се съхраняват от другата страна за тестване на модела, след като бъде готов.

Изграждане на модел

Изграждането на модел е итеративен процес. Това вероятно ще бъде най-дългият раздел във вашия бележник на Python (не в шаблона). Ще използвате алгоритми, използващи стандартни библиотеки на Python като statsmodel, за да обучите модела си, да изберете променливи, които помагат при предсказуемите прозрения и да премахнете тези, които не предоставят помощ при предсказуемите прозрения. Моделът ще бъде обучен и резултатът R2 и VIF ще бъдат оценявани много внимателно при всяка итерация.

Могат да се използват различни алгоритми от контролирани техники като — линейни и логистични регресии или неконтролирани техники.

След като моделът стане достатъчно стабилен, той ще бъде тестван спрямо данните от теста.

Други прозрения

Това е последният раздел от тетрадката, където ще предоставите прозрения от изхода на вашия модел за машинно обучение, в този раздел препращаме/говорим за интерпретации от променливите в крайния модел, как моделът може да се приложи върху бизнес проблема.

Можете също да прочетете тази статия във връзка със следната статия за типове данни в проблем с машинно обучение: