Kaggle е добре познат уебсайт на общността за учени по данни, които се състезават в предизвикателствата на машинно обучение. Състезателното машинно обучение може да бъде чудесен начин да усъвършенствате уменията си, както и да демонстрирате уменията си. В тази статия ще предоставя 10 полезни съвета, за да започнете с Kaggle и да станете добри в конкурентното машинно обучение с Kaggle. Да се ​​потопим направо!

  1. Изберете среда за програмиране в областта на науката за данни. Има много среди за програмиране с машинно обучение, от които можете да избирате и в крайна сметка може да използвате много от тях, но за да започнете с Kaggle, трябва само да изберете една. Двете най-популярни среди са R и Python.

Търсенето на умения и в двете среди с отворен код нараства непрекъснато.

R произлиза от академична употреба за статистически приложения и има много дълга история, датираща от 1993 г. Python е език за програмиране с общо предназначение, също датиращ от началото на 90-те години.

Екосистемата и за двете среди е доста зряла: R има над 13 000 пакета, а Python има широко използвани библиотеки като scikit-learn, pandas, NumPy и др.

Съвсем наскоро Python се представи отлично в инструменти за дълбоко обучение като Theano, TensorFlow и Keras.

2. Упражнявайте се върху често използвани набори от тестови данни. След като усвоите езика, трябва да започнете да се упражнявате върху действителни набори от данни. Добра идея е да създадете някои реалистични упражнения, за да придобиете опит с прости, добре познати набори от данни. Полезно е да работите със серия от стандартни проблеми с машинното обучение с помощта на UCI Machine Learning Repository. Можете да гледате на всяко упражнение като на мини Kaggle състезание.

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

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

„Използвайте Google“, за да намерите решения за машинно обучение с конкретен набор от тестови данни, така че да можете да интерпретирате добре резултатите. Никога няма да повярвате колко хора са използвали набора от данни за ириса като пример.

3. Разгледайте много аспекти на трансформацията на данни. Трансформацията на данни (известна още като препирня с данни или обмяна на данни) включва различни форми на подготовка на данни, включително обединяване на данни, агрегиране на данни, почистване на данни, обработка на липсващи данни, постигане на последователност на данните и много повече . Тъй като трансформацията на данни често отнема до 70% от времето и бюджета на проект за наука за данни, струва си да натрупате много опит.

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

5. Научете как да използвате ансамбли. Ансамблите се отнасят до алгоритми за статистическо обучение, които постигат подобрена прогнозна производителност чрез конструиране на набор от класификатори и след това класифициране на нови точки от данни чрез претеглено гласуване на техните прогнози. Вместо да избират един модел, методите на ансамбъла комбинират множество модели по определен начин, за да отговарят на данните за обучение. Много наградени решения на Kaggle използват комплекти от множество модели.

6. Научете как да победите прекомерното оборудване. Прекомерното оборудване се отнася за модели, които се представят добре на комплекта за обучение, но не толкова добре на тестовия комплект. В системата Kaggle това се простира до резултатите, които виждате в класацията. Тези резултати са оценка на моделите върху произволна извадка от набор от данни за валидиране (обикновено 20% от набора от данни по размер), използвани за идентифициране на победителите в предизвикателството.

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

8. Разработете своя собствена кутия с инструменти на Kaggle. Изградете специална кутия с инструменти на Kaggle с различни инструменти, състоящи се от често използвани кодови последователности. С практиката ще станете ефективни, когато използвате тези инструменти. Освен това опитайте ръката си в изграждането на тръбопровод за данни, който зарежда данни, трансформира ги и надеждно оценява модел. Проектирайте тръбопровода така, че да може да се използва многократно, за да можете да го разположите в бъдещи състезания. Един начинаещ ще направи грешката да преоткрива едни и същи процеси отново и отново. По-скоро трябва да работите, за да рационализирате своя процес на Kaggle предизвикателство с методи за повторна употреба.

9. Упражнявайте се върху минали предизвикателства на Kaggle. Сега, когато притежавате добро ниво на познаване на вашите инструменти и как да ги използвате, е време да се упражнявате върху минали предизвикателства на Kaggle. Можете също така да публикувате кандидатски решения, така че да бъдат оценени в публичната и частната класация. Заслужава да се справите с редица предизвикателства на Kaggle от последните няколко години. Този съвет има за цел да ви помогне да научите как най-добрите изпълнители подхождат към конкурентно машинно обучение и да научите как да интегрирате техните методи във вашите собствени подходи. Опитайте се да влезете в главата на победителите в минали състезания и използвайте техните методи и инструменти. Добра идея е да изберете разнообразие от различни типове проблеми, които ви насърчават да придобиете нови техники. Опитайте се да постигнете резултат в топ 10% или по-добър в публичните или частните класации.

10. Започнете да се състезавате! Ако сте постигнали успех с всички горни съвети, вече сте готови да се състезавате в Kaggle. Помислете да работите върху едно предизвикателство в даден момент, докато постигнете добър резултат или срещнете пречка. Не забравяйте, че може да са състезания, но вие участвате, за да учите и споделяте знания (което ще доведе до ценно сътрудничество). Бъдете креативни, мислете извън кутията и се забавлявайте!

Ресурси

https://machinelearningmastery.com/get-started-with-kaggle/



— — —

Прочетете още статии за наука за данни на OpenDataScience.com, включително уроци и ръководства от нива за начинаещи до напреднали! Абонирайте се за нашия седмичен бюлетин тук и получавайте последните новини всеки четвъртък.