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

В тази статия ще откриете как да разглеждате подготовката на данни като стъпка в по-широк проект за машинно обучение за прогнозно моделиране. След като завършите тази статия, ще знаете:

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

Да започваме:

Тази статия е разделена на три части; те са:

  1. Процес на приложно машинно обучение
  2. Какво е подготовка на данни
  3. Как да изберем техники за подготовка на данни

Процес на приложно машинно обучение

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

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

Въпреки че вашият проект е уникален, стъпките по пътя към добър или дори най-добър резултат обикновено са едни и същи от проект до проект. Това понякога се нарича процес на приложен машинно обучение, процес на наука за данни или по-старото имеоткриване на знания в бази данни (KDD). Процесът на приложно машинно обучение се състои от последователност от стъпки. Харесва ми да дефинирам процеса, като използвам четирите стъпки на високо ниво:

  • Стъпка 1: Дефинирайте проблема: Тази стъпка е свързана с научаването на достатъчно за проекта, за да изберете рамката на задачата за прогнозиране. Дали е, например, класификация или регресия, или друг тип проблем от по-висок ред? Това включва събиране на данни, за които се смята, че са полезни за правене на прогноза и определяне на формата, която ще приеме прогнозата. Може също така да включва разговори със заинтересовани страни по проекта и други хора с дълбок опит в областта. Тази стъпка също така включва внимателна проверка на данните и може би тяхното изучаване с обобщена статистика и визуализация на данни.
  • Стъпка 2: Подгответе данни:Тази стъпка се отнася до трансформирането на необработените данни, които са събрани във форма, която може да се използва при моделиране. Техниките за предварителна обработка на данни обикновено се отнасят до добавяне, изтриване или трансформиране на данни от обучителния набор.
  • Стъпка 3: Оценяване на модели:Тази стъпка включва оценка на модели за машинно обучение на вашия набор от данни. Това изисква да проектирате стабилна тестова система, използвана за оценка на вашите модели, така че резултатите, които получавате, да могат да се вярват и да се използват за избор между моделите, които сте оценили. Това включва задачи като избор на метрика за изпълнение за оценка на уменията на модел, установяване на базова линия или праг на производителност, с който всички оценки на модела могат да бъдат сравнени, и техника за повторно вземане на проби за разделяне на данните в комплекти за обучение и тестове, за да се симулира как ще се използва окончателният модел.
  • Стъпка 4: Финализиране на модела:Тази стъпка включва избор и внедряване на краен модел. Това се нарича избор на модел и може да доведе до по-нататъшно оценяване на кандидат модели върху набор от данни за валидиране на задържане, както и избор въз основа на други специфични за проекта критерии, като сложност на модела. И накрая, вероятно ще има задачи, свързани с производството на модела, като например интегрирането му в софтуерен проект или производствена система и проектиране на график за наблюдение и поддръжка на модела.

Сега, след като сме запознати с процеса на приложно машинно обучение и къде е подготовката на данни в този процес, нека разгледаме по-подробно типовете задачи, които могат да бъдат изпълнени.

Какво е подготовка на данни

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

  • Алгоритмите за машинно обучение изискват числени данни.
  • Някои алгоритми за машинно обучение налагат изисквания към данните.
  • Статистическият шум и грешките в данните може да се наложи да бъдат коригирани.
  • От данните могат да бъдат извлечени сложни нелинейни зависимости.

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

Има общи или стандартни задачи, които можете да използвате или изследвате по време на етапа на подготовка на данни в проект за машинно обучение. Тези задачи включват:

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

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

Може да е по-сложно, отколкото изглежда на пръв поглед. Например, различните входни променливи може да изискват различни методи за подготовка на данни. Освен това различни променливи или подгрупи от входни променливи може да изискват различни последователности от методи за подготовка на данни.

Как да изберем техники за подготовка на данни

Как да разберем какви техники за подготовка на данни да използваме в нашите данни? Отговорът на „Кои методи за проектиране на функции са най-добри?“ е, както при много статистически проблеми, зависи. Това зависи конкретно от използвания модел и истинската връзка с резултата.

На пръв поглед това изглежда труден въпрос, но когато разгледаме етапа на подготовка на данните в контекста на целия проект, става по-ясно. Фазите преди и след етапа на подготовка на данните в проект за прогнозно моделиране обясняват подготовката на данните, която може да е необходима. Проблемът трябва да бъде дефиниран преди подготовката на данните.

Ето някои фактори, които трябва да имате предвид при избора на техника за подготовка на данни:

  • Типът на данните, с които разполагате. Някои техники са по-подходящи за определени типове данни от други. Например, ако имате текстови данни, можете да използвате техника като нормализиране на текста, за да изчистите данните и да улесните анализирането им.
  • Целите на вашия проект. Какво искате да постигнете с подготовката на вашите данни? Ако искате да създадете модел за машинно обучение, ще трябва да използвате техника, която ще ви помогне да идентифицирате функциите, които са най-важни за вашия модел.
  • Ресурсите, с които разполагате. Някои техники за подготовка на данни са по-скъпи от други от други. Ако имате ограничени ресурси, може да искате да изберете техника, която е по-малко взискателна.

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

Резюме

В тази статия открихте как да разглеждате подготовката на данни като стъпка в по-широк проект за машинно обучение за прогнозно моделиране. По-конкретно научихте:

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