Jak działa k-NN
Część sekcji Uczenie nadzorowane ścieżki Machine Learning w Coddy. Lekcja 6 z 58.
W tym rozdziale poznasz bliżej k-NN. Po jego ukończeniu narysujesz jego mapę dla dowolnych danych, taką jak ta przedstawiająca łagodne i ostre papryczki chili:
Aby sklasyfikować nową papryczkę chili, algorytm k najbliższych sąsiadów znajduje k papryczek chili z zestawu treningowego, które są do niej najbliżej, a one głosują:
Najbliższy oznacza najmniejszą odległość, tę, którą poznałeś w sekcji 2. Wybierasz k:
model = KNeighborsClassifier(n_neighbors=5)n_neighbors to k, domyślnie 5, chyba że określisz inaczej. Przy dwóch klasach nieparzyste k nigdy nie może doprowadzić do remisu.
Wyzwanie
ŁatwyKlub astronomiczny sortuje gwiazdy z pliku stars.csv na karły i olbrzymy według temperatury i jasności. Kod początkowy wczytuje nową gwiazdę i k.
- Znajdź ręcznie k najbliższych gwiazd: dodaj kolumnę
distance, a następnie posortuj. - Wypisz, ile z nich to olbrzymy, a następnie zwycięzcę głosowania.
- Sprawdź wynik za pomocą modelu k-NN z tym k, dopasowanego na podstawie wszystkich gwiazd.
Dla gwiazdy innego klubu i k = 5:
Giants among the nearest 5: 4
By hand: giant
Model: giantSpróbuj swoich sił
import numpy as np
import pandas as pd
from sklearn.neighbors import KNeighborsClassifier
# Jeden wiersz na gwiazdę: temperatura w tysiącach kelwinów, wielkość gwiazdowa (mniejsza wartość oznacza większą jasność), karzeł lub olbrzym
stars = pd.read_csv("stars.csv")
X = stars[["temp_kK", "magnitude"]]
y = stars["type"]
# Nowa gwiazda i k
temp = float(input())
mag = float(input())
k = int(input())
new_star = pd.DataFrame({"temp_kK": [temp], "magnitude": [mag]})
# 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 Uczenie nadzorowane
1Twój pierwszy model
Uczenie się na przykładachZbiory treningowe i testoweDopasowywanie i przewidywanieOcena modeluPodsumowanie: Sortownik nasion4Regresja logistyczna
Przewidywanie „tak” lub „nie”Próg decyzyjnyWagi jako dowodyWiele klasPodsumowanie: filtr spamu2Najbliżsi sąsiedzi
Jak działa k-NNWybór kGranice decyzyjneSkalowanie dla sąsiadówPodsumowanie: sąsiedzi w zbiorze Wine5Ocena klasyfikatorów
Macierz pomyłekPrecyzja i czułośćWynik F1Niezrównoważone klasyKrzywe ROCPodsumowanie: test przesiewowy8Walidacja krzyżowa
Walidacja k-krotnaUczciwe porównywanie modeliPrzeszukiwanie siatkiPodsumowanie: naprawa deskorolki11Projekt: Gatunki pingwinów
Poznaj pingwinyPrzygotuj daneWybierz modelDopracuj zwycięski modelWdróż modelPoćwicz samodzielnie: Kompilator Python online