Witaj w Module 9, @name! Darwin tutaj z Machine Learning - maszynowym uczeniem się! 🤖🧠
Analogia Safari: Machine Learning to jak trening zwierząt Safari - algorytm uczy się na przykładach, tak jak lew uczy się polować obserwując matkę. Im więcej przykładów, tym lepsze przewidywania!
Machine Learning (ML) to dziedzina AI, gdzie algorytmy uczą się wzorców z danych bez jawnego programowania reguł.
1# Tradycyjne programowanie
2def is_lion(animal):
3 if animal.has_mane and animal.color == 'golden':
4 return True
5 return False
6
7# Machine Learning
8# Model SAM uczy się rozpoznawać lwy na podstawie TYSIĘCY zdjęć
9# bez definiowania reguł - odkrywa je sam!Model uczy się na oznaczonych danych - zna prawidłowe odpowiedzi.
1# Dane treningowe z etykietami
2X_train = [
3 [180, 200, 4], # waga, długość, nogi
4 [5000, 400, 4],
5 [50, 150, 4],
6]
7y_train = ['lion', 'elephant', 'cheetah'] # etykiety
8
9# Model uczy się mapowania: cechy -> etykieta
10# Potem przewiduje dla nowych danychZastosowania:
Model sam odkrywa wzorce w nieoznaczonych danych.
1# Dane bez etykiet
2animals = [
3 [180, 200, 'savanna'],
4 [5000, 400, 'forest'],
5 [50, 150, 'savanna'],
6 [3000, 300, 'forest'],
7]
8
9# Model odkrywa grupy (klastry) samodzielnie
10# np. "zwierzęta sawanny" vs "zwierzęta lasu"Zastosowania:
Agent uczy się poprzez próby i błędy - otrzymuje nagrody za dobre decyzje.
1# Agent (robot Safari) w środowisku
2# Akcje: idź_w_prawo, idź_w_lewo, stop
3# Nagroda: +10 za znalezienie zwierzęcia, -1 za każdy krok
4
5# Agent uczy się optymalnej strategii eksploracjiZastosowania:
1# Dataset (Zbiór danych)
2X = [[1, 2], [3, 4], [5, 6]] # Features (cechy)
3y = [0, 1, 0] # Labels (etykiety)
4
5# Training set - dane do nauki (70-80%)
6# Validation set - dane do strojenia (10-15%)
7# Test set - dane do końcowej oceny (10-20%)
8
9# Model - algorytm, który uczy się z danych
10# Prediction - przewidywanie dla nowych danych
11# Accuracy - % poprawnych przewidywań1# 1. Zbierz dane
2data = load_safari_data()
3
4# 2. Przygotuj dane (EDA, cleaning)
5X = data.drop('species', axis=1)
6y = data['species']
7
8# 3. Podziel na train/test
9from sklearn.model_selection import train_test_split
10X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
11
12# 4. Wybierz i wytrenuj model
13from sklearn.ensemble import RandomForestClassifier
14model = RandomForestClassifier()
15model.fit(X_train, y_train)
16
17# 5. Oceń model
18accuracy = model.score(X_test, y_test)
19print(f"Accuracy: {accuracy:.2%}")
20
21# 6. Użyj modelu do przewidywań
22predictions = model.predict(new_data)