Menu
Coddy logo textTech

Czym jest model ML

Lekcja 3 z 19 w kursie Wprowadzenie do uczenia maszynowego w Coddy.

Model uczenia maszynowego ma na celu przewidywanie na podstawie danych historycznych. Aby robić to skutecznie, model musi rozumieć właściwości statystyczne zbioru danych. Nie można osiągnąć tego zrozumienia, po prostu dostarczając modelowi algorytm lub funkcję matematyczną opisującą rozkład danych.

Zamiast tego model musi nauczyć się tych właściwości podczas trenowania. Co więcej, każdy zbiór danych ma unikalne właściwości statystyczne. Dlatego dla każdego odrębnego zbioru danych trzeba wytrenować osobny model.

 

Faza uczenia nazywa się fitting lub fit. Gdy model nauczy się rozkładu danych, możemy przekazać mu nowe dane, których nigdy wcześniej nie widział, i przewidzieć jego wynik. Ta faza nazywa się predicting lub predict.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

challenge icon

Wyzwanie

Łatwy

W tym wyzwaniu stworzymy najprostszy model uczenia maszynowego z nadzorem. Ten model nie jest w żaden sposób wykorzystywany w branży. Celem tego modelu jest raczej pokazanie, jak wyglądałby prawdziwy model uczenia maszynowego.

Utwórz model, który zwraca najczęściej występującą wartość y dla odpowiadających jej wartości X.

Instrukcje: 

  • Metoda fit zlicza dla każdej wartości X najczęściej występującą wartość y i zapisuje wynik w zmiennej self.mode
    Na przykład dla następującego zbioru danych:

    <strong>X</strong>ABAAB
    <strong>Y</strong>11011

    self.mode powinno zawierać: {"A": 1, "B": 1}

  • Metoda predict otrzymuje listę X_test i zwraca listę o tej samej długości. Każda wartość na zwróconej liście jest przewidywaną wartością y odpowiadającą X, uzyskaną na podstawie self.mode wyuczonego w fazie fit.
    na przykład, jeśli self.mode zawiera {"A": 1, "B": 1}  i X_train to ['A', 'B', 'C'], wynikiem powinno być: [1, 1, None]

Jak zaliczyć przypadki testowe:

Utwórz funkcję o nazwie train_and_predict, która otrzymuje listy X_train, y_train i X_test. Wykona ona następujące kroki:

  • Ucz się za pomocą metody fit, używając X_train i y_train 
  • przewidź etykiety dla X_test
  • zwróć przewidziane etykiety

Spróbuj swoich sił

import numpy as np
np.set_printoptions(legacy='1.13')

class SimpleModel:
    def __init__(self):
        self.mode = {}

    def fit(self, X, y):
        # Wpisz tutaj swój kod
        

    def predict(self, X):
        # Wpisz tutaj swój kod

def train_and_predict(X_train, y_train, X_test):
    model = SimpleModel()
    # Wytrenuj model na X_train i y_train
    
    # Przewidź etykiety dla X_test
    
    # Zwróć przewidziane etykiety

Wszystkie lekcje w sekcji Wprowadzenie do uczenia maszynowego

Poćwicz samodzielnie: Kompilator Python online