Skalowanie min–max
Część sekcji Statystyka w uczeniu maszynowym ścieżki Machine Learning w Coddy. Lekcja 48 z 64.
Skalowanie min-max zapewnia każdej cesze równy udział: w każdej kolumnie najmniejsza wartość staje się równa 0, największa — 1, a pozostałe mieszczą się między nimi.
Dodaj osobę w wieku 40 lat, zarabiającą 80 000 $, a następnie przeskaluj wszystkie cztery wartości:
Operacje z użyciem broadcastingu wykonują to w jednym wierszu, korzystając z najmniejszej wartości i zakresu każdej kolumny:
X = np.array([[25, 52000],
[61, 53000],
[26, 55000],
[40, 80000]])
lows = X.min(axis=0)
highs = X.max(axis=0)
scaled = (X - lows) / (highs - lows)Teraz wiek też ma znaczenie. Najbliższym sąsiadem klienta 0 nie jest już 61-latek:
Jedna skrajna wartość staje się równa 1 i ściska pozostałe w pobliżu 0, dlatego skalowanie min-max sprawdza się w kolumnach bez wartości odstających.
Wyzwanie
ŚredniPalarnia dopasowuje kawy, które parzą się podobnie. Każdy wiersz beans to kawa: temperatura wody (C), czas parzenia (s) i zawartość kofeiny (mg). Program odczytuje pozycje i i j; funkcja startowa distance(a, b) mierzy odległość między dwiema próbkami.
- Przeskaluj
beansmetodą min-max. - Wypisz
Every column from 0 to 1:, a następnie przeskalowaną tablicę z dokładnością do 2 miejsc po przecinku. - Wypisz odległość między nimi przed skalowaniem i po nim, jak poniżej.
Dla trzech innych kaw, pozycje 0 i 1:
Every column from 0 to 1:
[[1. 1. 0.67]
[0.5 0.5 0. ]
[0. 0. 1. ]]
Coffees 0 and 1: 63.28 apart before scaling, 0.97 afterSpróbuj swoich sił
import numpy as np
# Zwraca odległość między dwiema próbkami (z Why Scale Features)
def distance(a, b):
return np.sqrt(((a - b) ** 2).sum())
# Jeden wiersz na każdą kawę: temperatura wody w C, czas parzenia w sekundach, zawartość kofeiny w mg
beans = np.array([[88, 120, 60],
[96, 300, 30],
[86, 90, 70],
[94, 240, 120],
[90, 180, 90],
[84, 60, 50]])
i = int(input())
j = int(input())
# Napisz swój kod poniżej
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Statystyka w uczeniu maszynowym
1Położenie i rozproszenie
Średnia i medianaPercentyle i kwartyleWariancja i odchylenie standardowePróba czy populacja?Najczęściej występująca wartośćPodsumowanie: czasy dostaw4Próby i populacje
Populacja i próbaŚrednie z prób się różniąRozkład próbkowaniaWiększe próby, mniej szumuPodsumowanie: ankietowanie mieszkańców2Rozkłady
Histogramy gęstościKształty danychKrzywa normalnaReguła 68-95-99,7Wyniki standaryzowane (Z-scores)Podsumowanie: czas pracy baterii5Obserwacje odstające
Wykresy pudełkoweReguła IQRReguła Z-scorePostępowanie z obserwacjami odstającymiPodsumowanie: błędy czujników3Prawdopodobieństwo przez symulację
Prawdopodobieństwo jako częstośćPrawo wielkich liczbSumy oczekWartość oczekiwanaPrawdopodobieństwo warunkowePodsumowanie: szanse na stoisku z kośćmi6Relacje
Odczytywanie wykresów punktowychKorelacjaMacierz korelacjiMapy cieplne korelacjiKorelacja nie oznacza przyczynowościPodsumowanie: lody i słońce9Skalowanie cech
Dlaczego skalować cechySkalowanie min–maxStandaryzacjaStandardScalerPodsumowanie: partnerzy we wspinaczcePoćwicz samodzielnie: Kompilator Python online