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.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wyzwanie
ŁatwyW 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
fitzlicza dla każdej wartościXnajczęściej występującą wartośćyi zapisuje wynik w zmiennejself.mode
Na przykład dla następującego zbioru danych:<strong>X</strong>A B A A B <strong>Y</strong>1 1 0 1 1 self.modepowinno zawierać:{"A": 1, "B": 1}- Metoda
predictotrzymuje listęX_testi zwraca listę o tej samej długości. Każda wartość na zwróconej liście jest przewidywaną wartościąyodpowiadającąX, uzyskaną na podstawieself.modewyuczonego w faziefit.
na przykład, jeśliself.modezawiera{"A": 1, "B": 1}iX_trainto['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 etykietyWszystkie lekcje w sekcji Wprowadzenie do uczenia maszynowego
Poćwicz samodzielnie: Kompilator Python online