ML Atlas

Blog · Na start ·

Python do machine learningu: ile trzeba umieć na start

W skrócie

Mniej, niż się wydaje: zmienne, listy, pętla i funkcja, do tego kilka poleceń pandas i trzy metody scikit-learn. Klasy i algorytmy mogą poczekać.

Krótka odpowiedź

Na pierwszy model uczenia maszynowego wystarczą trzy warstwy Pythona:

  • Sam Python: zmienne, liczby i napisy, listy i słowniki, if, pętla for, własna funkcja, import.
  • pandas, czyli tabele: wczytać plik CSV, obejrzeć pierwsze wiersze, wybrać kolumny, przefiltrować wiersze, policzyć braki, zgrupować i uśrednić.
  • scikit-learn, czyli modele: podzielić dane na część do nauki i do sprawdzenia, a potem trzy metody: fit (ucz się), predict (zgadnij), score (ile trafiłeś).

Klasy, dekoratory, programowanie obiektowe, algorytmy z rozmów rekrutacyjnych dla programistów: to wszystko może poczekać. Nie dlatego, że jest nieważne, tylko dlatego, że pierwszy projekt go nie potrzebuje.

Ile to godzin

Najkrótsza znana nam droga to darmowe kursy Kaggle Learn, w przeglądarce, z ćwiczeniami w kodzie. Kaggle sam szacuje ich długość:

  • „Python”: 5 godzin, 7 lekcji (od zmiennych do bibliotek zewnętrznych),
  • „Pandas”: 4 godziny, 6 lekcji (wczytywanie, wybieranie, grupowanie, braki danych),
  • „Intro to Machine Learning”: 3 godziny, 7 lekcji (pierwszy model, walidacja, przeuczenie, las losowy).

Razem 12 godzin (to nasza suma). To czas kursów, a nie czas do samodzielności. Do tego, żeby bez podpowiedzi napisać i ocenić własny model, licz raczej tygodnie niż godziny, bo potrzebne są powtórki i własne błędy.

Czego naprawdę używasz w pierwszym projekcie

Pierwszy projekt to zwykle te same kroki. Każdemu odpowiada kilka linijek kodu:

  1. Wczytaj dane: df = pd.read_csv(adres), potem df.head(), żeby zobaczyć, co jest w kolumnach.
  2. Wyczyść: df.isna().sum() pokazuje braki, df.dropna(subset=[...]) usuwa wiersze bez potrzebnych pomiarów.
  3. Wybierz cechy i etykietę: X = df[["kolumna_1", "kolumna_2"]], y = df["odpowiedz"].
  4. Podziel: train_test_split(X, y, test_size=0.3) chowa część danych do sprawdzenia.
  5. Ucz i sprawdź: model.fit(X_train, y_train), a potem model.score(X_test, y_test).

Pełny przykład z prawdziwymi danymi i wynikiem, który możesz sprawdzić, jest we wpisie Pierwszy projekt ML na otwartych danych krok po kroku.

Zwróć uwagę, czego tu nie ma: żadnej pętli po wierszach, żadnej własnej klasy, żadnego wzoru. pandas i scikit-learn robią ciężką robotę. Twoje zadanie to wiedzieć, o co zapytać dane, i umieć przeczytać wynik.

Gdzie ludzie się zacinają

  • Nie na składni, tylko na danych. Typowy pierwszy błąd to brakujące wartości albo kolumna z liczbami zapisana jako tekst. Dlatego w pandas najważniejsze są polecenia do oglądania danych: head, info, describe, isna.
  • Instalacja. Na start jej nie rób. Notatniki w przeglądarce, Google Colab albo notatniki Kaggle, mają pandas i scikit-learn od razu. Google pisze w pytaniach o Colab, że jest on darmowy i nie wymaga instalowania czegokolwiek. Potrzebne jest konto, które zakładasz sam.
  • Kopiowanie bez czytania. Kod z internetu albo od czatu AI zwykle działa, ale łatwo w nim przeoczyć, że model sprawdzano na tych samych danych, na których się uczył. Uczysz się Pythona po to, żeby umieć przeczytać kod i zauważyć taki błąd, nawet jeśli pisze go za Ciebie maszyna.

A jeśli nie chcę jeszcze programować?

Też można. Kurs ML od zera w ML Atlas nie wymaga kodu: każda lekcja ma eksperyment w przeglądarce na prawdziwych danych, a kod w Pythonie jest w zwijanej warstwie „W kodzie (Python)” dla chętnych. Wiele osób woli najpierw zrozumieć, co model robi, a dopiero potem uczyć się, jak to zapisać. To dobra kolejność.

Zacznij od lekcji Cały proces w 15 minut, od pytania do oceny: ten sam projekt, który wyżej opisaliśmy w kodzie, przejdziesz suwakami.

Co dalej

Źródła

Tagi: python pandas scikit-learn na-start

W Atlasie