DSP2017: Pierwsze kroki w projekcie – raport 1

DSP2017

Krótko o tematyce projektu

Jak pisałem ostatnio, dzisiaj będzie pierwsza notka raportowa o projekcie i kilka informacji dodatkowych. Najważniejszą i chyba najtrudniejszą kwestię stanowiła decyzja dotycząca wyboru danych, czyli praktycznie całego tematu wokół którego będzie kręcił się projekt. Zależało mi na tym by to o czym piszę było interesujące dla zwykłego ludka, więc odrzuciłem pomysły związane z przetwarzaniem obrazu lub dźwięków (w czym uczenie maszynowe może znacznie pomóc). Zdecydowałem, że powinienem szukać zbioru danych związanych z socjologią i na kaggle znalazłem trzy ,w mojej opinii bardzo ciekawe, zbiory danych.

Pierwszy nazywa się “World Happiness Report 2016” i zawiera obrobione już wyniki ankiety na temat poczucia szczęścia. Drugi “New coder survey” przedstawia wyniki ankiety przeprowadzonej wśród ludzi nowych w zawodzie programisty. Trzeci “Young People Survey” to również wyniki ankiety przeprowadzonej wśród młodych ludzi i pytającej o ich preferencje muzyczne i filmowe, o światopogląd, hobby i zainteresowania itd.

Wstępny opis danych, którymi będę się zajmował

Najciekawszy(zwłaszcza po zajrzeniu “do środka”) wydał mi się trzeci zbiór “Young People Survey” i to właśnie ten postanowiłem wziąć na tapetę.

Dane które się w nim znajdują to odpowiedzi na 150 pytań, które zostały zebrane w 2013 roku od 1010 ankietowanych młodych ludzi w przedziale wiekowym <15, 30>. Wszyscy ankietowani byli Słowakami. Dane mają postać tabeli, gdzie wiersz odpowiada jednemu ankietowanemu, a kolumna to odpowiedź na jedno pytanie. Odpowiedzi są w dwóch postaciach: tak/nie, oraz w skali od 1 do 5, gdzie 1 oznacza całkowity brak zgody z pytaniem, a 5 odpowiedź zdecydowanie twierdzącą.

Pytania, które zostały użyte w ankiecie można podzielić na kilka grup:

  • Preferencje muzyczne
  • Preferencje filmowe
  • Hobby i zainteresowania
  • Fobie
  • Nawyki zdrowotne
  • Cechy, opinie, światopogląd
  • Wydawanie pieniędzy
  • Dane demograficzne

Jeżeli ktoś jest zainteresowany to tutaj może znaleźć wspomniany dataset, a także jego opis.

Narzędzia

Pierwszą część projektu, czyli analizę danych i samo uczenie maszynowe, zamierzam robić wykorzystując Pythona i bibliotekę Scikit-Learn. Jako edytor posłuży mi Jupyter Notebook. Dlaczego Python a nie C# lub F#? Przyczyna jest prozaiczna  – nie mam za dużo okazji żeby pisać coś w tym języku, a przyda mi się trochę praktyki, co by nie zardzewieć :). Sama biblioteka scikit-learn jest prosta i przejrzysta nawet dla laika, a do tego bardzo rozbudowana. Jupyter Notebook jest natomiast ciekawym edytorem dla projektów naukowych. W łatwy sposób można pokazać w nim swój tok rozumowania. Czytelność przede wszystkim :).

Drugą część projektu, czyli aplikację webową, będę robił przypuszczalnie w ASP.NET Core. Ale do tego momentu zostało jeszcze sporo czasu.

Plany na najbliższy tydzień

Przede wszystkim będę chciał się zająć analizą danych. być może będzie też potrzeba by w pewien sposób je uprościć, czy wyczyścić (np. zamienić brakujące wartości, czy usunąć tożsame kolumny, jeżeli takie się znajdują w moim zbiorze). Oprócz tego będę chciał mieć przygotowanych kilka pytań, na których odpowiedzi mógłbym szukać wykorzystując uczenie maszynowe.

W kolejnym poście będę chciał trochę rozwinąć temat przygotowania danych zanim będą mogły zostać podane do algorytmu uczącego (w kontekście Machine Learning Workflow), ale gdzieś tam czeka jeszcze do opisania kolejny code smell, więc nie obiecuje co będzie najpierw. Tymczasem… do roboty :).

 

2 myśli na temat “DSP2017: Pierwsze kroki w projekcie – raport 1

    1. Hej,
      Sam dopiero od niedawna interesuję się tematem uczenia maszynowego, ale postaram się w niedalekiej przyszłości umieścić wpis o rozpoznawaniu obrazów – zdaję sobie sprawę, że jest to atrakcyjny temat :). Natomiast jeżeli nie chce Ci się czekać to wydaje mi się, że powinieneś zainteresować się tematem głęboko splotowych(nie wiem czy tak się to tłumaczy – deep convolutional) sieci neuronowych. Gładkie wprowadzenie dla takich “zwykłych ludków” jak my, oferuje seria wpisów, które znalazłem tutaj:
      https://medium.com/@ageitgey/machine-learning-is-fun-80ea3ec3c471

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *