konkursy Kaggle: jak i od czego zacząć?

wstęp

czy posiadam umiejętności niezbędne do wzięcia udziału w zawodach?

Przynajmniej ja, jako student drugiego roku, kiedy bałem się Kaggle tylko przez wyobrażenie sobie poziom trudności, który oferuje. Ten strach był podobny do mojego strachu przed wodą. Mój strach przed wodą nie pozwoliłby mi na naukę pływania. Później jednak nauczyłem się: „dopóki nie wejdziesz do wody, nie zrozumiesz, jak głęboka jest”. Podobna filozofia dotyczy Kaggle. Nie kończ dopóki nie spróbujesz!

Kaggle, dom nauki o danych, zapewnia globalną platformę dla konkursów, rozwiązań dla klientów i job board. Oto chwyt Kaggle, te konkursy nie tylko sprawiają, że myślisz po wyjęciu z pudełka, ale także oferuje atrakcyjne nagrody pieniężne.

jednak ludzie wahają się wziąć udział w tych konkursach. Oto kilka głównych powodów:

  1. bagatelizują poziom swoich umiejętności, zdobytej wiedzy i technik.
  2. niezależnie od poziomu umiejętności, wybierają problem oferując najwyższą nagrodę pieniężną.
  3. nie zrównują poziomu umiejętności z poziomem trudności problemu.

myślę, że ten problem emanuje dla samego Kaggle. Kaggle.com nie dostarcza żadnych informacji, które mogą pomóc ludziom wybrać najbardziej odpowiedni problem dopasowany do ich zestawu umiejętności. W rezultacie stało się żmudnym zadaniem dla początkujących/pośrednich, aby zdecydować się na odpowiedni problem, aby rozpocząć.

czego dowiesz się z tego artykułu?

w tym artykule otworzyliśmy impas wyboru odpowiedniego problemu kaggle zgodnie z zestawem umiejętności, narzędzi & technik. Tutaj zilustrowaliśmy każdy problem kaggle z poziomem trudności i poziomem umiejętności wymaganych do jego rozwiązania.

w drugiej części zdefiniowaliśmy właściwe podejście do rozwiązania problemu kaggle w następujących przypadkach:

Przypadek 1 : mam doświadczenie w kodowaniu, ale jestem nowy w uczeniu maszynowym.

Przypadek 2 : Jestem w branży analitycznej od ponad 2 lat, ale nie czuję się komfortowo w R/Python

Przypadek 3 : jestem dobry w kodowaniu i uczeniu maszynowym, potrzebuję czegoś trudnego do pracy

przypadek 4 : jestem nowicjuszem zarówno w uczeniu maszynowym, jak i w języku kodowania, ale chcę się nauczyć

lista problemów Kaggle

Titanic : Machine Learning from disaster

cel: klasyczny popularny problem, aby rozpocząć podróż z uczeniem maszynowym. Dostajesz zestaw atrybutów pasażerów na pokładzie i musisz przewidzieć, kto przeżyłby po zatankowaniu statku.

poziom trudności

a) umiejętności uczenia maszynowego – łatwe

b) umiejętności kodowania – łatwe

c) zdobywanie umiejętności domenowych-łatwe

d) dostępne samouczki – bardzo wszechstronne

2. Pierwszy krok z Julią

cel: jest to problem z identyfikacją znaków na obrazku Google Street view za pomocą nadchodzącego narzędzia Julia.

poziom trudności na każdym z atrybutów :

A) umiejętności uczenia maszynowego – łatwe

b) umiejętności kodowania – średnie

c) zdobywanie umiejętności domenowych-łatwe

d) Dostępny Tutorial – wszechstronny

rozpoznawanie cyfr

cel: otrzymujesz dane z pikselami na odręcznych cyfrach i musisz jednoznacznie powiedzieć, co to jest cyfra. Jest to klasyczny problem utajonego modelu Markowa.

poziom trudności każdego z atrybutów :

A) umiejętności uczenia maszynowego – średnie

b) umiejętności kodowania – średnie

c) zdobywanie umiejętności domenowych-łatwe

d) Dostępny Tutorial – dostępny, ale bez trzymania ręki

worek słów poznaj worek popcornu

cel: otrzymujesz zestaw recenzji filmów i musisz znaleźć sentyment ukryte w tych stwierdzeniach. Celem niniejszego Oświadczenia o problemie jest wprowadzenie do pakietu Google-Word2Vec.

to fantastyczny pakiet, który pomaga przekształcić słowa w skończoną przestrzeń wymiarową. W ten sposób możemy budować analogie tylko patrząc na wektor. Jednym z bardzo prostych przykładów jest to, że Twój algorytm może wydobyć analogie takie jak: król – Mężczyzna + Kobieta da Ci królową.

poziom trudności każdego z atrybutów:

a) umiejętności uczenia maszynowego – trudne

b) umiejętności kodowania – średnie

c) zdobywanie umiejętności domenowych-łatwe

d) Dostępny Tutorial – dostępny, ale bez trzymania ręki

5. Denoising Dirty Documents

cel: być może znasz technologię znaną jako OCR. Po prostu konwertuje dokumenty odręczne na dokumenty cyfrowe. Nie jest to jednak idealne rozwiązanie. Twoim zadaniem jest wykorzystanie uczenia maszynowego, aby uczynić go doskonałym.

poziom trudności każdego z atrybutów:

A) umiejętności uczenia maszynowego – trudne

b) umiejętności kodowania – trudne

c) zdobywanie umiejętności domenowych-trudne

d) Dostępny Tutorial – nie

San Francisco Crime Classification

cel: przewidzieć kategorię przestępstw, które miały miejsce w mieście nad zatoką.

poziom trudności każdego z atrybutów :

A) umiejętności uczenia maszynowego – bardzo trudne

b) umiejętności kodowania – bardzo trudne

c) zdobywanie umiejętności domenowych-trudne

d) Dostępny Tutorial – nie

Przewidywanie czasu / Lokalizacji taksówki

cel: istnieją dwa problemy oparte na tych samych zestawach danych. Dostajesz kontrolera taksówki i masz przewidzieć, dokąd jedzie taksówka lub czas potrzebny na ukończenie podróży.

poziom trudności na każdym z atrybutów :

a) umiejętności uczenia maszynowego – łatwe

b) umiejętności kodowania – trudne

c) zdobywanie umiejętności domenowych-średnie

d) Dostępny Tutorial – kilka dostępnych kodów benchmarkowych

Rekrutacja na Facebooku – człowiek lub bot

cel: jeśli masz zęba, aby zrozumieć nowy domena, musisz rozwiązać ten. Otrzymujesz dane licytacji i oczekuje się, że sklasyfikuj oferenta do bota lub człowieka. Ma to najbogatsze źródło danych dostępne spośród wszystkich problemów na Kaggle.

poziom trudności każdego z atrybutów :

A) umiejętności uczenia maszynowego – średnie

b) umiejętności kodowania – średnie

c) zdobywanie umiejętności domenowych-średnie

d) Dostępny Tutorial – brak wsparcia, ponieważ jest to konkurs rekrutacyjny

Uwaga: w tym artykule nie opisałem konkursów Kaggle oferujących nagrody pieniężne, ponieważ wszystkie są związane z konkretnym konkursem.domena. Daj mi znać swoje podejście do nich w sekcji komentarzy poniżej.

przyjrzymy się teraz odpowiedniemu podejściu dla osób mających różny zestaw umiejętności na różnych etapach życia, aby rozpocząć swoją podróż!

Przypadek 1: Mam doświadczenie w kodowaniu, ale jestem nowy w uczeniu maszynowym.

Krok 1: Pierwszy problem, który powinieneś podjąć, to: przewidywanie trajektorii taksówki. Powodem jest to, że problem ma złożony zbiór danych, który zawiera format JSON w jednej z kolumn, która informuje o zestawie współrzędnych, które odwiedziła taksówka. Jeśli jesteś w stanie to rozbić, uzyskanie wstępnego oszacowania docelowego miejsca docelowego lub czasu nie wymaga uczenia maszynowego. W związku z tym możesz użyć siły kodowania, aby znaleźć swoją wartość w tej branży.

Krok 2: następnym krokiem powinno być podjęcie: Titanic. Powód jest taki, że już teraz zrozumiesz, jak obsługiwać złożone zbiory danych. Dlatego teraz jest idealny czas na zrobienie zdjęcia z czystych problemów uczenia maszynowego. Z dużą ilością dostępnych rozwiązań / skryptów, będziesz w stanie zbudować dobre rozwiązanie.

Krok 3: Jesteś teraz gotowy na coś dużego. Spróbuj Rekrutacji Na Facebooku. Pomoże Ci to docenić, jak zrozumienie domeny może pomóc w jak najlepszym wykorzystaniu uczenia maszynowego.

gdy masz wszystkie te elementy na miejscu, dobrze jest spróbować każdego problemu na Kaggle.

Przypadek 2: pracuję w branży analitycznej od ponad 2 lat, ale nie czuję się komfortowo w R / Python

Krok 1: powinieneś zacząć od zrobienia zdjęcia na Titanicu. Powód jest taki, że już wiesz, jak zbudować algorytm predykcyjny. Powinieneś teraz starać się uczyć języków takich jak R i Python. Z dużą ilością dostępnych rozwiązań / skryptów, będziesz w stanie zbudować różnego rodzaju modele zarówno w języku R, jak i Python. Ten problem pomoże Ci również zrozumieć kilka zaawansowanych algorytmów uczenia maszynowego.

Krok 2: następnym krokiem powinna być Rekrutacja na Facebooku. Powód jest, biorąc pod uwagę prostotę struktury danych i bogactwo treści, będziesz mógł dołączyć do odpowiednich tabel i stworzyć algorytm predykcyjny na tym. Pomoże to również docenić, w jaki sposób zrozumienie domeny może pomóc w jak najlepszym wykorzystaniu uczenia maszynowego.

: Jesteś teraz gotowy na coś zupełnie innego niż Twoja strefa komfortu. Przeczytaj problemy, takie jak wykrywanie retinopatii cukrzycowej, kliknięcia reklam kontekstowych Avinto, Klasyfikacja przestępstw i znajdź domenę, która Cię interesuje. Teraz spróbuj zastosować to, czego się nauczyłeś do tej pory.

teraz jest czas, aby spróbować czegoś bardziej złożonego do kodowania. Spróbuj przewidywania trajektorii taksówki lub Denoising brudne dokumenty. Gdy już masz wszystkie te elementy na miejscu, możesz teraz spróbować dowolnego problemu na Kaggle.

Przypadek 3: jestem dobry w kodowaniu i uczeniu maszynowym, potrzebuję czegoś wymagającego do pracy

Krok 1: Masz wiele opcji na Kaggle. Pierwszą opcją jest opanowanie nowego języka, takiego jak Julia. Możesz zacząć od pierwszego kroku z Julią. Powód jest taki, że da ci to dodatkową ekspozycję na to, co Julia może zrobić oprócz Pythona lub R.

Krok 2: drugą opcją jest rozwijanie umiejętności z dodatkową domeną. Możesz spróbować Avito Context, Search Relevance lub Facebook-człowiek vs. Bot.

przypadek 4: jestem nowicjuszem zarówno w uczeniu maszynowym, jak i w języku kodowania, ale chcę się nauczyć

Krok 1: powinieneś rozpocząć swoją podróż kaggle z Titanicem. Pierwszym krokiem jest nauka języków takich jak R i Python. Z dużą ilością dostępnych rozwiązań / skryptów, będziesz w stanie zbudować różnego rodzaju modele zarówno w języku R, jak i Python. Ten problem pomoże Ci również zrozumieć kilka algorytmów uczenia maszynowego.

Krok 2: Następnie należy podjąć: rekrutację na Facebooku. Powód jest, biorąc pod uwagę prostotę struktury danych i bogactwo treści, będziesz mógł dołączyć do odpowiednich tabel i stworzyć algorytm predykcyjny na tym. Pomoże to również docenić, w jaki sposób zrozumienie domeny może pomóc w jak najlepszym wykorzystaniu uczenia maszynowego.

gdy skończysz z tymi, możesz następnie podjąć problemy zgodnie z Twoim zainteresowaniem.

kilka hacków, aby być uczciwą konkurencją na Kaggle

nie jest to wyczerpująca lista hacków, ale ma zapewnić dobry początek. Obszerna lista zasługuje na nowy post sam w sobie:

  1. upewnij się, że przesłałeś rozwiązanie (nawet przykładowe przesłanie wykona to zadanie) przed ostatnią datą zgłoszenia, jeśli chcesz wziąć udział w konkursie w przyszłości.
  2. zrozum domenę, zanim przejdziesz do danych. Na przykład w bot vs. human, musisz zrozumieć, jak działa platforma licytacyjna online przed rozpoczęciem podróży z danymi.
  3. Stwórz własny algorytm oceny, który może naśladować wynik testu Kaggle. Prosta weryfikacja krzyżowa 10-krotna ogólnie działa dobrze.
  4. spróbuj wyrzeźbić jak najwięcej funkcji z danych pociągu – Inżynieria funkcji jest zwykle częścią, która popycha cię z góry 40 percentyla do góry 10 percentyla.
  5. pojedynczy model generalnie nie daje Ci miejsca w top 10. Musisz zrobić wiele modeli i połączyć je razem. Może to być wiele modeli z różnymi algorytmami lub różnym zestawem zmiennych.

koniec notatki

istnieje wiele korzyści, które zdałem sobie sprawę po pracy nad problemami Kaggle. Nauczyłem się R / Pythona w locie. Uważam, że jest to najlepszy sposób, aby nauczyć się tego samego. Również interakcja z ludźmi z forum dyskusyjnego na temat różnych problemów pomoże ci uzyskać głębszą wiedzę na temat uczenia maszynowego i domeny.

w tym artykule zilustrowaliśmy różne problemy Kaggle i podzieliliśmy ich podstawowe atrybuty na poziom trudności. Podjęliśmy się również różnych spraw z życia wziętych i stworzyliśmy odpowiednie podejście do udziału w Kaggle.

brałeś udział w jakimś problemie? Czy zauważyłeś jakieś znaczące korzyści, robiąc to samo? Daj nam znać swoje przemyślenia na temat tego przewodnika w sekcji komentarzy poniżej.

jeśli podoba Ci się to, co właśnie przeczytałeś & chcesz kontynuować naukę analityki, Subskrybuj nasze e-maile, Śledź nas na Twitterze lub Polub naszą stronę na Facebooku.

możesz również przeczytać ten artykuł w naszej aplikacji mobilnej

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.