Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Mikä on k-NN | K-NN-luokitin
Luokittelu Pythonilla

bookMikä on k-NN

Aloitetaan luokittelun perusteista yksinkertaisimmalla tehtävällä – binääriluokittelulla. Oletetaan, että haluamme luokitella makeisia kekseiksi/ei-kekseiksi yhden ominaisuuden perusteella: niiden painon.

Yksinkertainen tapa ennustaa uuden tapauksen luokka on tarkastella sen lähintä naapuria. Esimerkissämme meidän täytyy löytää makeinen, jonka paino on lähimpänä uutta tapausta.

Tämä on k-lähimmän naapurin (k-NN) perusajatus – tarkastellaan vain naapureita. k-NN-algoritmi olettaa, että samankaltaiset asiat sijaitsevat lähellä toisiaan. Toisin sanoen, samankaltaiset asiat ovat toistensa läheisyydessä. k k-NN:ssä tarkoittaa niiden naapureiden määrää, jotka otetaan huomioon ennustettaessa.

Yllä olevassa esimerkissä tarkasteltiin vain 1 naapuria, joten kyseessä oli 1-lähimmän naapurin menetelmä. Yleensä k asetetaan kuitenkin suuremmaksi, sillä vain yhden naapurin huomioiminen voi olla epäluotettavaa:

Jos k (naapureiden määrä) on suurempi kuin yksi, valitaan ennusteeksi yleisin luokka naapureiden joukosta. Tässä esimerkki kahden uuden havainnon ennustamisesta, kun k=3:

Kuten huomaat, k-arvon muuttaminen voi johtaa erilaisiin ennusteisiin.

Note
Huomio

Ajoittain k-NN tuottaa tasapelin, kun useita luokkia esiintyy yhtä monta kertaa lähimpien naapureiden joukossa. Useimmat kirjastot, mukaan lukien scikit-learn, ratkaisevat tasapelit valitsemalla ensimmäisen luokan sisäisessä järjestyksessään – tämä on hyvä pitää mielessä, sillä se voi hienovaraisesti vaikuttaa toistettavuuteen ja tulkintaan.

question mark

Kuinka uuden tapauksen luokka ennustetaan k-lähimmän naapurin algoritmissa, kun k > 1?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 4.17

bookMikä on k-NN

Pyyhkäise näyttääksesi valikon

Aloitetaan luokittelun perusteista yksinkertaisimmalla tehtävällä – binääriluokittelulla. Oletetaan, että haluamme luokitella makeisia kekseiksi/ei-kekseiksi yhden ominaisuuden perusteella: niiden painon.

Yksinkertainen tapa ennustaa uuden tapauksen luokka on tarkastella sen lähintä naapuria. Esimerkissämme meidän täytyy löytää makeinen, jonka paino on lähimpänä uutta tapausta.

Tämä on k-lähimmän naapurin (k-NN) perusajatus – tarkastellaan vain naapureita. k-NN-algoritmi olettaa, että samankaltaiset asiat sijaitsevat lähellä toisiaan. Toisin sanoen, samankaltaiset asiat ovat toistensa läheisyydessä. k k-NN:ssä tarkoittaa niiden naapureiden määrää, jotka otetaan huomioon ennustettaessa.

Yllä olevassa esimerkissä tarkasteltiin vain 1 naapuria, joten kyseessä oli 1-lähimmän naapurin menetelmä. Yleensä k asetetaan kuitenkin suuremmaksi, sillä vain yhden naapurin huomioiminen voi olla epäluotettavaa:

Jos k (naapureiden määrä) on suurempi kuin yksi, valitaan ennusteeksi yleisin luokka naapureiden joukosta. Tässä esimerkki kahden uuden havainnon ennustamisesta, kun k=3:

Kuten huomaat, k-arvon muuttaminen voi johtaa erilaisiin ennusteisiin.

Note
Huomio

Ajoittain k-NN tuottaa tasapelin, kun useita luokkia esiintyy yhtä monta kertaa lähimpien naapureiden joukossa. Useimmat kirjastot, mukaan lukien scikit-learn, ratkaisevat tasapelit valitsemalla ensimmäisen luokan sisäisessä järjestyksessään – tämä on hyvä pitää mielessä, sillä se voi hienovaraisesti vaikuttaa toistettavuuteen ja tulkintaan.

question mark

Kuinka uuden tapauksen luokka ennustetaan k-lähimmän naapurin algoritmissa, kun k > 1?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 2
some-alt