Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ kNN

kNN Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ k Nearest Neighbor ΠΈΠ»ΠΈ k Π‘Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… БосСдСй β€” это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых простых Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² классификации, Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² Π·Π°Π΄Π°Ρ‡Π°Ρ… рСгрСссии. Благодаря своСй простотС, ΠΎΠ½ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ знакомство с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ Machine Learning. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ рассмотрСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ написания ΠΊΠΎΠ΄Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ классификатора Π½Π° python, Π° Ρ‚Π°ΠΊΠΆΠ΅ визуализация ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

Π—Π°Π΄Π°Ρ‡Π° классификации Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ β€” это Π·Π°Π΄Π°Ρ‡Π° отнСсСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… классов Π½Π° основании Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² этой Π·Π°Π΄Π°Ρ‡Π΅ прСдставляСтся Π² Π²ΠΈΠ΄Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π² N-ΠΌΠ΅Ρ€Π½ΠΎΠΌ пространствС, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ прСдставляСт собой описаниС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Допустим Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Ρ‹: измСрСниями Π² нашСм пространствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ Π² Π΄ΡŽΠΉΠΌΠ°Ρ…, ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ сторон, максимальноС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ HDMI-интСрфСйса, ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ Π΄Ρ€. Π‘Π»ΡƒΡ‡Π°ΠΉ классификации тСкстов нСсколько слоТнСС, для Π½ΠΈΡ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ (описаниС Π½Π° machinelearning.ru).

Для обучСния классификатора Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ классы. Π­Ρ‚ΠΎ мноТСство называСтся ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ, Π΅Ρ‘ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° производится Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, с ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ спСциалистов Π² исслСдуСмой области. НапримСр, Π² Π·Π°Π΄Π°Ρ‡Π΅ Detecting Insults in Social Commentary для Π·Π°Ρ€Π°Π½Π΅Π΅ собранных тСстов ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ проставлСно ΠΌΠ½Π΅Π½ΠΈΠ΅, являСтся Π»ΠΈ этот ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ оскорблСниСм ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· участников дискуссии, само ΠΆΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ являСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ классификации. Π’ Π·Π°Π΄Π°Ρ‡Π΅ классификации ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π΄Π²ΡƒΡ… классов (многоклассовая), ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ классу (ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰Π°ΡΡΡ).

Алгоритм

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

Рассмотрим Ρ€Π°Π±ΠΎΡ‚Ρƒ классификатора Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Для Π½Π°Ρ‡Π°Π»Π°, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ экспСримСнты:

Для простоты я Π²Ρ‹Π±Ρ€Π°Π» Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ΅ пространство, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π° участкС ΠΎΡ‚ 0 Π΄ΠΎ 5 ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· осСй выбираСтся мСстополоТСниС ΠΌΠ°Ρ‚.оТидания Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ гауссиана со срСднСквадратичным ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ΠΌ 0.5. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0.5 Π²Ρ‹Π±Ρ€Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ оказались достаточно Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌΡ‹ΠΌΠΈ (ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ‚Ρ€Π΅Ρ… сигм).
Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния этого ΠΊΠΎΠ΄Π° изобраТСния:
Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΉ ΠΈ тСстовой Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ

Π˜Ρ‚Π°ΠΊ, Ρƒ нас имССтся Π½Π°Π±ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°Π½ класс. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ это мноТСство Π½Π° Π΄Π²Π΅ части: ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€Ρƒ ΠΈ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ. Для этого слуТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

РСализация классификатора

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, имСя ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ сам Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ классификации:

Для опрСдСлСния расстояния ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π²ΠΊΠ»ΠΈΠ΄ΠΎΠ²ΠΎ расстояниС: Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ манхэттСнскоС расстояниС, косинусная ΠΌΠ΅Ρ€Π°, ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ корСлляции ΠŸΠΈΡ€ΡΠΎΠ½Π° ΠΈ Π΄Ρ€.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ выполнСния

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ, насколько Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ наш классификатор. Для этого сгСнСрируСм Π΄Π°Π½Π½Ρ‹Π΅, Ρ€Π°Π·ΠΎΠ±ΡŒΠ΅ΠΌ ΠΈΡ… Π½Π° ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΡƒΡŽ ΠΈ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² тСстовой Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈ сравним Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ класса с ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ классификации:

Для ΠΎΡ†Π΅Π½ΠΊΠΈ качСства Ρ€Π°Π±ΠΎΡ‚Ρ‹ классификатора ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ€Ρ‹, Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь: wiki

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ самоС интСрСсноС: ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ классификатора графичСски. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π½ΠΈΠΆΠ΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°Ρ… я использовал 3 класса, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎ 40 элСмСнтов, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ k для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° взял Ρ€Π°Π²Π½Ρ‹ΠΌ Ρ‚Ρ€Π΅ΠΌ.

Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

Для Π²Ρ‹Π²ΠΎΠ΄Π° этих ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ использован ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

kNN β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² классификации, поэтому Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ… ΠΎΠ½ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ оказываСтся нСэффСктивным. Помимо точности классификации, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ этого классификатора являСтся ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ классификации: Ссли Π² ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ N ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π² тСстовой Π²Ρ‹Π±ΠΎΡ€Π΅ M ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ пространства β€” K, Ρ‚ΠΎ количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ для классификации тСстовой Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ†Π΅Π½Π΅Π½ΠΎ ΠΊΠ°ΠΊ O(K*M*N). И Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ kNN являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ для Π½Π°Ρ‡Π°Π»Π° знакомства с Machine Learning.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ k-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠΌ статистичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² являСтся ΠΈΡ… Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ матСматичСская ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ, нСдостатком β€” низкая ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ. ИспользованиС вСроятностных ΠΎΡ†Π΅Π½ΠΎΠΊ позволяСт с высокой Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½ΠΎ Π½Π΅ позволяСт ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Π΅ΠΌΡƒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ статистичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² классификации ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ слоТными для понимания ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

Одной ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… являСтся классификация β€” отнСсСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области ΠΊ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ классами. ΠŸΡ€ΠΈ этом ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ классу Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ ΠΏΠΎ своим свойствам. ΠžΠ±ΠΎΠ±Ρ‰Π°Ρ свойства извСстных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² класса Π½Π° Π½ΠΎΠ²Ρ‹Π΅, отнСсённыС ΠΊ Π½Π΅ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ знания ΠΎ Π½ΠΈΡ….

Π—Π°Π΄Π°Ρ‡Π° классификации Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ аналитичСских ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… классификаторами. ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡŠΡΠ²ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ прСдставлСнных Π² Π²ΠΈΠ΄Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°) Π½Π° Π²Ρ…ΠΎΠ΄ ΠΌΠΎΠ΄Π΅Π»ΠΈ-классификатора, которая Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅ΠΌΡƒ ΠΌΠ΅Ρ‚ΠΊΡƒ ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€ класса. Π’ настоящСС врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ большоС количСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² классификаторов, для построСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ статистичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (логистичСская рСгрСссия, дискриминантный Π°Π½Π°Π»ΠΈΠ·), Ρ‚Π°ΠΊ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ машинного обучСния (Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Π΅ сСти, Π΄Π΅Ρ€Π΅Π²ΡŒΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ Π΄Ρ€.).

ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования Π² Π°Π½Π°Π»ΠΈΠ·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… большого числа Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² классификации, обусловлСна Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Π΅ с Π΅Ρ‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ свои особСнности, связанныС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с прСдставлСниСм исходных Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡ… количСством ΠΈ качСством, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€Π° Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ классификатора. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹Π±ΠΎΡ€ классификатора, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ особСнностям Ρ€Π΅ΡˆΠ°Π΅ΠΌΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°, являСтся Π²Π°ΠΆΠ½Ρ‹ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ получСния ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

ΠžΡ‚Π½Π΅ΡΠ΅Π½ΠΈΠ΅ классификации ΠΊ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ тСхнологиям Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… обусловлСно Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² повсСднСвной ΠΆΠΈΠ·Π½ΠΈ сознаниС Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π² ΠΏΠΎΠ»Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ постоянно ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠΈΡ€Π°, сопоставляСт ΠΈΡ… с ΡƒΠΆΠ΅ извСстными ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΈΡ… сходства. Π—Π°Ρ‚Π΅ΠΌ, Π½Π° основС это ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ассоциируСтся с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ (классом). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, классификация являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ «СстСствСнным» для чСловСчСского ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π° способом получСния Π·Π½Π°Π½ΠΈΠΉ ΠΎ процСссах ΠΈ явлСниях, происходящих Π² ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΌ ΠΌΠΈΡ€Π΅.

Учитывая сказанноС, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ классификации Π² Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ понятиС «сходства», ΠΌΠ΅Ρ€Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’ статистичСских ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… Π°Π½Π°Π»ΠΈΠ·Π° ΠΌΠ΅Ρ€ΠΎΠΉ сходства являСтся Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ принадлСТности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° классу, которая оцСниваСтся для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ класса, послС Ρ‡Π΅Π³ΠΎ выбираСтся Ρ‚ΠΎΡ‚ ΠΈΠ· Π½ΠΈΡ…, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ эта Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ наибольшая.

Π’ мСтричСских ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… ΠΌΠ΅Ρ€ΠΎΠΉ сходства являСтся расстояниС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΅Π²ΠΊΠ»ΠΈΠ΄ΠΎΠ²ΠΎ) Π² Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΌ пространствС, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ прСдставлСн своим Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ². Π›ΠΎΠ³ΠΈΠΊΠ° здСсь проста: Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ скорСС всСго ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ классу, Ρ‡Ρ‚ΠΎ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ сосСдних с Π½ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠœΠ΅Ρ‚Ρ€ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для построСния классификаторов Π½Π° основС машинного обучСния.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠΌ статистичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² являСтся ΠΈΡ… Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ матСматичСская ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ, нСдостатком β€” низкая ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ. ИспользованиС вСроятностных ΠΎΡ†Π΅Π½ΠΎΠΊ позволяСт с высокой Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½ΠΎ Π½Π΅ позволяСт ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Π΅ΠΌΡƒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ статистичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² классификации ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ слоТными для понимания ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

НСдостатком мСтричСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² являСтся ΠΈΡ… эвристичСский Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ β€” ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°Ρ‚ΡŒ Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΈ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‰Π΅Π΅ΡΡ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΌ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ практичСски Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… случаСв. Однако ΠΏΡ€ΠΈ этом ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΈ поэтому ΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ относится ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ классу, Ρ‡Ρ‚ΠΎ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π΅Π³ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌ прСдставитСлСм ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² классификации, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… эту Π»ΠΎΠ³ΠΈΠΊΡƒ, являСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ k-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй β€” k-nearest neighbors algorithm (KNN). ΠœΠ΅Ρ‚ΠΎΠ΄ Π±Ρ‹Π» Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π­Π²Π΅Π»ΠΈΠ½ΠΎΠΌ Ѐиксом ΠΈ Π”ΠΆΠΎΠ·Π΅Ρ„ΠΎΠΌ Лоусоном Π₯одТСсом Π² 1951 Π³ΠΎΠ΄Ρƒ, ΠΈ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Ρ€Π°Π·Π²ΠΈΡ‚ Вомасом ΠšΠΎΠ²Π΅Ρ€ΠΎΠΌ.

ΠœΠ΅Ρ‚ΠΎΠ΄ относится ΠΊ классу нСпарамСтричСских, Ρ‚.Π΅. Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎ Ρ‚ΠΎΠΌ, ΠΈΠ· ΠΊΠ°ΠΊΠΎΠ³ΠΎ статистичСского распрСдСлСния Π±Ρ‹Π»Π° сформирована ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅Π΅ мноТСство. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, классификационныС ΠΌΠΎΠ΄Π΅Π»ΠΈ, построСнныС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° KNN Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ нСпарамСтричСскими. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ структура ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π΅ задаётся Тёстко ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ, Π° опрСдСляСтся Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… производится классификация ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ„ΠΈΠ·ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ ΠΈ, соотвСтствСнно, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² классификации Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ….

Алгоритм

На Ρ„Π°Π·Π΅ классификации ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΊΠ° класса Π½Π΅ Π·Π°Π΄Π°Π½Π°. Для Π½Π΅Π³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… (Π² смыслС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ) ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ классифицированных наблюдСний. Π—Π°Ρ‚Π΅ΠΌ выбираСтся класс, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²-сосСдСй, ΠΈ ΠΊ этому ΠΆΠ΅ классу относится классифицируСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Поясним Ρ€Π°Π±ΠΎΡ‚Ρƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рисунка.

Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

Рисунок 1 – Π Π°Π±ΠΎΡ‚Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° KNN

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ класса Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС класс Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½ простым Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ класса срСди k ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ². Однако Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это Π½Π΅ всСгда ΡƒΠ΄Π°Ρ‡Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС ΠΊΠΎΠ³Π΄Π° частота появлСния для Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ классов оказываСтся ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ. ΠšΡ€ΠΎΠΌΠ΅ этого Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ всС ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ Π·Π½Π°Ρ‡ΠΈΠΌΠΎΡΡ‚ΡŒ для опрСдСлСния класса. Π’ этом случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ опрСдСляСтся класс, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ сочСтания (combination function).

Π’ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ простоС нСвзвСшСнноС голосованиС (simple unweighted voting). ΠŸΡ€ΠΈ это прСдполагаСтся, Ρ‡Ρ‚ΠΎ всС k ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΎ «голоса» нСзависимо ΠΎΡ‚ расстояниС Π΄ΠΎ классифицируСмого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Однако, Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‡Π΅ΠΌ дальшС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ располоТСн ΠΎΡ‚ классифицируСмого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² пространствС ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ², Ρ‚Π΅ΠΌ Π½ΠΈΠΆΠ΅ Π΅Π³ΠΎ Π·Π½Π°Ρ‡ΠΈΠΌΠΎΡΡ‚ΡŒ для опрСдСлСния класса. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² классификации вводят взвСшиваниС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π² зависимости ΠΎΡ‚ ΠΈΡ… удалённости. Π’ этом случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ взвСшСнноС голосованиС (weighted voting).

Π’Ρ‹Π±ΠΎΡ€ значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° k

ΠšΡ€ΠΎΠΌΠ΅ этого, слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ использованиС Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ k ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ влияниС ΡˆΡƒΠΌΠΎΠ² Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ классификации, ΠΊΠΎΠ³Π΄Π° нСбольшиС измСнСния Π² Π΄Π°Π½Π½Ρ‹Ρ… приводят ΠΊ большим измСнСниям Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ… классификации. Но ΠΏΡ€ΠΈ этом Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ классов ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ (класс ΠΏΡ€ΠΈ голосовании ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°Π΅Ρ‚ с большим счётом).

Напротив, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° слишком Π²Π΅Π»ΠΈΠΊΠΎ, Ρ‚ΠΎ Π² процСссС классификации ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ участиС ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², относящихся ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ классам. Вакая классификация оказываСтся слишком Π³Ρ€ΡƒΠ±ΠΎΠΉ ΠΈ ΠΏΠ»ΠΎΡ…ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ особСнности Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° k являСтся компромиссом ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΎΠ±ΠΎΠ±Ρ‰Π°ΡŽΡ‰Π΅ΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠ΄Π΅Π»ΠΈ.

ΠŸΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… значСниях ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° k ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π·Π°ΡˆΡƒΠΌΠ»Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² классификации, Π½ΠΎ сниТаСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ† классов.

Π’ Π·Π°Π΄Π°Ρ‡Π°Ρ… Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ классификации Π±Ρ‹Π²Π°Π΅Ρ‚ цСлСсообразно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ k ΠΊΠ°ΠΊ Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ число, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ равСнства «голосов» ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ класса для Π½ΠΎΠ²ΠΎΠ³ΠΎ наблюдСния.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Если значСния ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹Π΅, Ρ‚ΠΎ Π² качСствС ΠΌΠ΅Ρ€Ρ‹ расстояния ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ расстояниС Π•Π²ΠΊΠ»ΠΈΠ΄Π°, Π° Ссли ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ расстояниС Π₯эмминга.

Алгоритма KNN являСтся Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊ дисбалансу классов Π² ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…: Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ «склонСн» ΠΊ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² сторону Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ класса, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ относящиСся ΠΊ Π½Π΅ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ просто Ρ‡Π°Ρ‰Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² число Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Одним ΠΈΠ· способов Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ являСтся ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов взвСшивания ΠΏΡ€ΠΈ «голосовании».

Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

Рисунок 2 – ΠžΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ сосСдство

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° KNN, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎΠΉ, Π²ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΈ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² классификации, являСтся различная Π·Π½Π°Ρ‡ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния опрСдСлСния класса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π£Ρ‡Π΅Ρ‚ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π° значимости ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ классификации.

Для этого Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊ ΠΈΠ»ΠΈ экспСрт Π½Π° основС ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ, Π»ΠΈΠ±ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π°Ρ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ значимости ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°, Π²Ρ‹Ρ€Π°Π·ΠΈΠ² Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ числового коэффициСнта (ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ Π΅Π³ΠΎ s ΠΎΡ‚ Π°Π½Π³Π» significance β€” Π·Π½Π°Ρ‡ΠΈΠΌΠΎΡΡ‚ΡŒ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ учитываСтся ΠΏΡ€ΠΈ вычислСнии расстояния ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ классифицируСмым ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ:

ЧислСнный ΠΏΡ€ΠΈΠΌΠ΅Ρ€

Рассмотрим простой числСнный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° KNN, ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° рисункС 3.

Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

Рисунок 3 – ЧислСнный ΠΏΡ€ΠΈΠΌΠ΅Ρ€

ΠŸΡƒΡΡ‚ΡŒ имССтся Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ Π·Π°Ρ‘ΠΌΡ‰ΠΈΠΊΠ°Ρ… Π±Π°Π½ΠΊΠ° Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… допустили просрочку ΠΏΠΎ ΠΏΠ»Π°Ρ‚Π΅ΠΆΡƒ (Ρ‚Π°Π±Π»ΠΈΡ†Π° 1). ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΠ°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ возраст ΠΈ срСднСмСсячный Π΄ΠΎΡ…ΠΎΠ΄. ΠœΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ класса Π² ΠΏΠΎΠ»Π΅ Β«ΠŸΡ€ΠΎΡΡ€ΠΎΡ‡Π΅Π½ΠΎΒ» Π±ΡƒΠ΄ΡƒΡ‚ Β«Π”Π°Β» ΠΈ «НСт».

На рисункС 3 ΠΎΡ€Π°Π½ΠΆΠ΅Π²Ρ‹ΠΌΠΈ ΠΊΡ€ΡƒΠΆΠΊΠ°ΠΌΠΈ прСдставлСны ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса «НСт», Π° Ρ„ΠΈΠΎΠ»Π΅Ρ‚ΠΎΠ²Ρ‹ΠΌΠΈ класса Β«Π”Π°Β». Π‘ΠΈΠ½ΠΈΠΌ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ отобраТаСтся классифицируСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Π½ΠΎΠ²Ρ‹ΠΉ Π·Π°Ρ‘ΠΌΡ‰ΠΈΠΊ).

Π—Π°Π΄Π°Ρ‡Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π·Π°Ρ‘ΠΌΡ‰ΠΈΠΊΠ° для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ A_1=42 ΠΈ A_2=34 с Ρ†Π΅Π»ΡŒΡŽ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ просрочки ΠΈΠΌ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй (Π½Π° рисункС располоТСны Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΡ€ΡƒΠ³Π°) классифицируСмого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄Π²Π° ΠΈΠΌΠ΅ΡŽΡ‚ класс Β«Π”Π°Β», Π° ΠΎΠ΄ΠΈΠ½ β€” «НСт». Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΡƒΡ‚Ρ‘ΠΌ простого нСвзвСшСнного голосования опрСдСляСм Π΅Π³ΠΎ класс ΠΊΠ°ΠΊ Β«Π”Π°Β». На основании Ρ€Π°Π±ΠΎΡ‚Ρ‹ классификатора Π΄Π΅Π»Π°Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ Π·Π°Ρ‘ΠΌΡ‰ΠΈΠΊ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ характСристиками ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ просрочку ΠΏΠΎ Π²Ρ‹ΠΏΠ»Π°Ρ‚Π΅ ΠΊΡ€Π΅Π΄ΠΈΡ‚Π°.

ΠžΠ±Π»Π°ΡΡ‚ΠΈ примСнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Алгоритм KNN ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ практичСски Π²ΠΎ всСх Π·Π°Π΄Π°Ρ‡Π°Ρ… классификации, особСнно Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ вСроятностного распрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ… слоТно ΠΈΠ»ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. НаиболСС Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌΠΈ прилоТСниями Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° KNN ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

Достоинства ΠΈ нСдостатки Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ достоинства ΠΈ нСдостатки Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° KNN. К достоинствам Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΌΠΎΠΆΠ½ΠΎ отнСсти.

К нСдостаткам Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ KNN ΠΌΠΎΠΆΠ½ΠΎ отнСсти:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

πŸ€– ΠœΠ΅Ρ‚ΠΎΠ΄ k-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй (k-nearest neighbour)

Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ классификации k-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй.

ВСорСтичСская ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k-NN

Помимо простого объяснСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ основных матСматичСских ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй.

Π€ΠΎΡ€ΠΌΡƒΠ»Π° вычислСния Π•Π²ΠΊΠ»ΠΈΠ΄ΠΎΠ²Π° расстояния:

MinMax-нормализация осущСствляСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π² Π΄Π°Π½Π½ΠΎΠΌ случаС всС значСния Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 1; дискрСтныС Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ значСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ 0 ΠΈ 1.

Π³Π΄Π΅ Οƒ – срСднСквадратичноС ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.

Каков порядок дСйствий?

РСализация Π½Π° языкС Python

Набор Π΄Π°Π½Π½Ρ‹Ρ… состоит ΠΈΠ· 15 столбцов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ sex (ΠΏΠΎΠ»), fare (ΠΏΠ»Π°Ρ‚Π° Π·Π° ΠΏΡ€ΠΎΠ΅Π·Π΄), p_class (класс ΠΊΠ°ΡŽΡ‚Ρ‹), family_size (Ρ€Π°Π·ΠΌΠ΅Ρ€ сСмьи), ΠΈ Ρ‚. Π΄. Π“Π»Π°Π²Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π² сорСвновании, являСтся survived (Π²Ρ‹ΠΆΠΈΠ» пассаТир ΠΈΠ»ΠΈ Π½Π΅Ρ‚).

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ находящиСся Π² Π±Ρ€Π°ΠΊΠ΅ люди ΠΈΠΌΠ΅ΡŽΡ‚ больший шанс Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ спасСнными с корабля. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π΅Ρ‰Π΅ 4 столбца, ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Name (Имя), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΌΡƒΠΆΡ‡ΠΈΠ½ ΠΈ ΠΆΠ΅Π½Ρ‰ΠΈΠ½ Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π±Ρ‹Π»ΠΈ ΠΎΠ½ΠΈ ΠΆΠ΅Π½Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ Π½Π΅Ρ‚ (Mr, Mrs, Mister, Miss).

Π§Ρ‚ΠΎΠ±Ρ‹ наглядно ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ k-NN для прСдсказания выТивания пассаТира, ΠΌΡ‹ рассматриваСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°: age (возраст), fare (ΠΏΠ»Π°Ρ‚Π° Π·Π° ΠΏΡ€ΠΎΠ΅Π·Π΄).

Π—Π΄Π΅ΡΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ выТивания составляСт 0.3 – 30%.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ΄Π°:

Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ 20 Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй, 14 ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… связаны с Ρ‚Π΅ΠΌΠΈ, ΠΊΡ‚ΠΎ Π½Π΅ Π²Ρ‹ΠΆΠΈΠ» (Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ 0,7 – 70%), Π° 6 связаны с Π²Ρ‹ΠΆΠΈΠ²ΡˆΠΈΠΌΠΈ (Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ 0,3 – 30%).

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 20 Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй для Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ:

Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

Π’Ρ‹Π±ΠΎΡ€ ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния для k-NN

НС сущСствуСт ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ способа ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для k, поэтому Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΈΠ· Π½ΠΈΡ…. Но Ρ‡Π°Ρ‰Π΅ всСго Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ для k являСтся 5:

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΈ НСдостатки

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠœΠ΅Ρ‚ΠΎΠ΄ k-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй (k-nearest neighbors) – это простой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ машинного обучСния с ΡƒΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ классификации ΠΈ рСгрСссии. Он прост Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ сущСствСнный нСдостаток – Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° объСм Π΄Π°Π½Π½Ρ‹Ρ… растСт.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Алгоритмы K-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй ΠΈ K-срСдних Π½Π° Python

Одно ΠΈΠ· самых популярных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ машинного обучСния β€” Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ классификации. Π—Π°Π΄Π°Ρ‡ΠΈ классификации β€” это ситуации, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ наблюдСния ΠΈΠ· этого Π½Π°Π±ΠΎΡ€Π° Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ.

Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” спам-Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ для элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹. Gmail ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ машинного обучСния с ΡƒΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ автоматичСски ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ элСктронныС письма Π² ΠΏΠ°ΠΏΠΊΡƒ для спама Π² зависимости ΠΎΡ‚ ΠΈΡ… содСрТания, Ρ‚Π΅ΠΌΡ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… характСристик.

Π”Π²Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ машинного обучСния Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ Π·Π°Π΄Π°Ρ‡ классификации:

Из этого руководства Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ K-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй ΠΈ K-срСдних Π² ΠΊΠΎΠ΄Π΅ Π½Π° Python.

МодСли K-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

Алгоритм K-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых популярных срСди ML-ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ классификации.

ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ΠΌ для студСнтов, ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, являСтся ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° K-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй ΠΊ датасСту, ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ нСизвСстны. Π Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΉ ситуации ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ случай, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ прСдсказания, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ML-ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΎΠ±ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π½Π° сСкрСтных ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π’ этом руководствС Π²Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ машинного обучСния K-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй ΠΈ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π° Python. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ Π² описанной Π²Ρ‹ΡˆΠ΅ ситуации.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ датасСт

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² этом руководствС. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° Gitlab.

Π”Π°Π»Π΅Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с датасСтом Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. ПослС этого ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Jupyter Notebook β€” Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ написанию ΠΊΠΎΠ΄Π° Π½Π° Python!

НСобходимыС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ K-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй, ΠΌΡ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ прСимущСствами ΠΌΠ½ΠΎΠ³ΠΈΡ… Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ NumPy, pandas ΠΈ scikit-learn.

НачнитС Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ инструкции ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°:

Π˜ΠΌΠΏΠΎΡ€Ρ‚ датасСта

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг β€” Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° classified_data.csv Π² наш ΠΊΠΎΠ΄ Π½Π° Python. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° pandas позволяСт довольно просто ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² DataFrame.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ датасСт хранится Π² Ρ„Π°ΠΉΠ»Π΅ csv, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ read_csv :

ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠ² ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ DataFrame Π² Jupyter Notebook, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой наши Π΄Π°Π½Π½Ρ‹Π΅:

Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

Π‘Ρ‚ΠΎΠΈΡ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π° начинаСтся с бСзымянного столбца, значСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π²Π½Ρ‹ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌ строк DataFrame. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ это, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, которая ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»Π° наш Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π² скрипт Python:

Π—Π°Ρ‚Π΅ΠΌ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ (ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ), содСрТащиСся Π² этом датасСтС. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ вывСсти список ΠΈΠΌΠ΅Π½ столбцов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ инструкции:

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ этот Π½Π°Π±ΠΎΡ€ содСрТит сСкрСтныС Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΡ‹ понятия Π½Π΅ ΠΈΠΌΠ΅Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ любой ΠΈΠ· этих столбцов. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ достаточно ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ столбСц являСтся числовым ΠΏΠΎ своСй ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ ΠΈ поэтому Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для модСлирования с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² машинного обучСния.

Бтандартизация датасСта

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ K-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (сСмпла), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ ΠΊ Π½Π΅ΠΉ наблюдСния, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π± ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π² датасСтС ΠΈΠΌΠ΅Π΅Ρ‚ большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Из-Π·Π° этого спСциалисты ΠΏΠΎ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ значСния x Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅.

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° scikit-learn позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π±Π΅Π· особых ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Для Π½Π°Ρ‡Π°Π»Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ класс StandardScaler ΠΈΠ· scikit-learn. Для этого Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² свой скрипт Python ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим экзСмпляр класса StandardScaler с ΠΈΠΌΠ΅Π½Π΅ΠΌ scaler ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ инструкциСй:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡƒΡ‡ΠΈΡ‚ΡŒ scaler Π½Π° нашСм датасСтС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ fit:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ transform для стандартизации всСх ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅Π»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π±. ΠœΡ‹ сохраним ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ сСмплы Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ scaled_features :

Π’ качСствС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ массив NumPy со всСми Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· датасСта, Π½ΠΎ Π½Π°ΠΌ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ DataFrame Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pandas.

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это довольно Π»Π΅Π³ΠΊΠΎ. ΠœΡ‹ просто ΠΎΠ±Π΅Ρ€Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ scaled_features Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ pd.DataFrame ΠΈ Π½Π°Π·Π½Π°Ρ‡ΠΈΠΌ этот DataFrame Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ scaled_data с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ для указания ΠΈΠΌΠ΅Π½ столбцов:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ наш датасСт ΠΈ стандартизировали Π΅Π³ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ этот Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΡƒΡŽ ΠΈ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.

Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ датасСта Π½Π° ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ ΠΈ тСстовыС Π΄Π°Π½Π½Ρ‹Π΅

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ train_test_split Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ scikit-learn Π² сочСтании с распаковкой списка для создания ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΈ тСстовых датасСтов ΠΈΠ· нашСго Π½Π°Π±ΠΎΡ€Π° сСкрСтных Π΄Π°Π½Π½Ρ‹Ρ….

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ train_test_split ΠΈΠ· модуля model_validation Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ scikit-learn:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ эти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° наш датасСт Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° Π΄Π°Π½Π½Ρ‹Π΅ для обучСния ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ для тСстирования, ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ нашСй ΠΌΠΎΠ΄Π΅Π»ΠΈ!

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ K-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

НачнСм с ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° KNeighborsClassifier ΠΈΠ· scikit-learn:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ модСль, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ fit ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ x_training_data ΠΈ y_training_data :

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм нСсколько ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ!

Π”Π΅Π»Π°Π΅ΠΌ прСдсказания с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° K-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

Π’ частности, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ прСдсказания ΠΈ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ predictions :

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, насколько Ρ‚ΠΎΡ‡Π½Ρ‹ наши ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Ρ‹, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ этого руководства.

ΠžΡ†Π΅Π½ΠΊΠ° точности нашСй ΠΌΠΎΠ΄Π΅Π»ΠΈ

Π’ руководствС ΠΏΠΎ логистичСской рСгрСссии ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎ scikit-learn поставляСтся со встроСнными функциями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ эффСктивности классификационных ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ машинного обучСния.

Для Π½Π°Ρ‡Π°Π»Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π² наш ΠΎΡ‚Ρ‡Π΅Ρ‚ Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ classification_report ΠΈ confusion_matrix :

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ошибок:

Глядя Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ наша модСль ΡƒΠΆΠ΅ достаточно эффСктивна. Но Π΅Π΅ Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ.

Π’Ρ‹Π±ΠΎΡ€ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния для K с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° «Локтя»

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ «локтя», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ K для нашСго Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° K-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй.

ΠœΠ΅Ρ‚ΠΎΠ΄ локтя Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ значСниям K ΠΈ Π²Ρ‹Π±ΠΎΡ€ значСния с наимСньшСй частотой ошибок ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊ нашим тСстовым Π΄Π°Π½Π½Ρ‹ΠΌ.

РСализация описанного Ρ†ΠΈΠΊΠ»Π° для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ K ΠΎΡ‚ 1 Π΄ΠΎ 100:

Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

МодСли кластСризации ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ K-срСдних

Алгоритм кластСризации K-срСдних ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ являСтся ΠΏΠ΅Ρ€Π²ΠΎΠΉ модСлью машинного обучСния Π±Π΅Π· учитСля, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ студСнты.

Он позволяСт спСциалистам ΠΏΠΎ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ Π΄Π°Π½Π½Ρ‹Ρ… со схоТими количСствСнными характСристиками Π² датасСтС. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡, ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ клиСнтских сСгмСнтов ΠΈΠ»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ городских Ρ€Π°ΠΉΠΎΠ½ΠΎΠ² с высоким ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ прСступности.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ кластСризации K-срСдних Π½Π° Python.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ датасСт

Π’ этом руководствС ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…, созданный с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ scikit-learn.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ make_blobs ΠΈΠ· scikit-learn, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Jupyter Notebook ΠΈ запуститС свой скрипт Python со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ инструкциСй:

Π’ частности, Π²ΠΎΡ‚ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· 200 сСмплов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ 2 показатСля ΠΈ 4 кластСрных Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ². Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ΅ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ кластСра Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ 1.8.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° наши Π΄Π°Π½Π½Ρ‹Π΅ созданы, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Π² наш скрипт Python.

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Π’ этом руководствС Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ряд популярных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Python с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ pandas, NumPy ΠΈ matplotlib. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ написаниС скрипта, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρ‹:

ΠŸΠ΅Ρ€Π²Π°Ρ Π³Ρ€ΡƒΠΏΠΏΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π² этом Π±Π»ΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Вторая Π³Ρ€ΡƒΠΏΠΏΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ созданию Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ прСдставлСния нашСго датасСта.

Визуализация датасСта

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ make_blobs ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π² нашСм Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ 4 кластСрных Ρ†Π΅Π½Ρ‚Ρ€Π°. Π›ΡƒΡ‡ΡˆΠΈΠΉ способ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ всС Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊ, β€” это ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нСсколько простых Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ.

Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ваш датасСт Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΌΠΎΠ΅Π³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ сгСнСрированы случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡ…ΠΎΠΆΠ΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² нашСм датасСтС всСго Ρ‚Ρ€ΠΈ кластСра. Нам Ρ‚Π°ΠΊ каТСтся ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π΄Π²Π° кластСра располоТСны ΠΎΡ‡Π΅Π½ΡŒ Π±Π»ΠΈΠ·ΠΊΠΎ Π΄Ρ€ΡƒΠ³ ΠΊ Π΄Ρ€ΡƒΠ³Ρƒ.

Если ΠΏΡ€ΠΈ построСнии ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ кластСра, Ρ‚ΠΎ ΠΌΡ‹ Π»Π΅Π³ΠΊΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΌ 4 Π³Ρ€ΡƒΠΏΠΏΡ‹ наблюдСний. Π’ΠΎΡ‚ ΠΊΠΎΠ΄ для этого:

Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² нашСм Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… кластСра. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ нашСй ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° основС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° K-срСдних Π½Π° Python!

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ кластСризации K-срСдних

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ K-срСдних, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ класс ΠΈΠ· scikit-learn. Для этого Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² свой скрипт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π—Π°Ρ‚Π΅ΠΌ Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим экзСмпляр класса KMeans с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ n_clusters=4 ΠΈ присвоим Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ model :

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±ΡƒΡ‡ΠΈΠΌ Π½Π°ΡˆΡƒ модСль, Π²Ρ‹Π·Π²Π°Π² Π½Π° Π½Π΅ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ fit ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт нашСго ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° raw_data :

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠ΄Π΅Π»ΠΈ кластСризации K-срСдних.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС, я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° ΠΎΠ΄Π½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ, ΠΌΠ΅ΠΆΠ΄Ρƒ процСссом построСния ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ K-срСдних (ΠΎΠ½ являСтся Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ кластСризации Π±Π΅Π· учитСля), ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ машинного обучСния с ΡƒΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΌ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Ρ€Π°Π½Π΅Π΅ Π² Π΄Π°Π½Π½ΠΎΠΌ курсС.

Оно Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΡƒΡŽ ΠΈ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ датасСт ΠΏΡ€ΠΈ построСнии ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ машинного обучСния Π±Π΅Π· учитСля!

ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π½Π°ΡˆΡƒ модСль кластСризации K-срСдних для получСния прСдсказаний

БпСциалисты ΠΏΠΎ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ кластСризации, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΎΠ²:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° наша модСль ΠΎΠ±ΡƒΡ‡Π΅Π½Π°, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ прСдсказания.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π΄Π°Π²Π°ΠΉΡ‚Π΅ прСдскаТСм, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ кластСру ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ каТдая Ρ‚ΠΎΡ‡ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…. Для этого обратимся ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ labels_ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° model с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ‚ΠΎΡ‡ΠΊΠΈ:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ массив NumPy с ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π°ΠΌΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСмпла:

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π³Π΄Π΅ находится Ρ†Π΅Π½Ρ‚Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ кластСра, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ способом ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ cluster_centers_ :

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив NumPy, содСрТащий ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ кластСра. Он Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Визуализация точности прСдсказаний ΠΌΠΎΠ΄Π΅Π»ΠΈ

ПослСднСС, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сдСлаСм Π² этом руководствС, β€” это Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ нашСй ΠΌΠΎΠ΄Π΅Π»ΠΈ. Для этого ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Он Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π²Π΅ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ кластСры, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ фактичСскиС ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈΠ· нашСго датасСта, Π° вторая основана Π½Π° прСдсказаниях, сдСланных нашСй модСлью. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ выглядит Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй. Π€ΠΎΡ‚ΠΎ Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ процСсс обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° k Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

Π₯отя окраска Π΄Π²ΡƒΡ… Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² разная, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ созданная модСль довольно Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΡΠΏΡ€Π°Π²ΠΈΠ»Π°ΡΡŒ с прСдсказаниСм кластСров Π² нашСм Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ модСль Π½Π΅ идСальна: Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, располоТСнныС Π½Π° краях кластСров, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π΅Π²Π΅Ρ€Π½ΠΎ.

И послСднСС, ΠΎ Ρ‡Π΅ΠΌ слСдуСт ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ, говоря ΠΎΠ± ΠΎΡ†Π΅Π½ΠΊΠ΅ точности нашСй ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π·Π½Π°Π»ΠΈ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ кластСру ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ наблюдСниС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сами создали этот Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ….

Вакая ситуация встрСчаСтся ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ€Π΅Π΄ΠΊΠΎ. ΠœΠ΅Ρ‚ΠΎΠ΄ К-срСдних ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ примСняСтся, ΠΊΠΎΠ³Π΄Π° Π½Π΅ извСстны Π½ΠΈ количСство кластСров, Π½ΠΈ присущиС ΠΈΠΌ качСства. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, спСциалисты ΠΏΠΎ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ закономСрности Π² датасСтС, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ΠΈ Π΅Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°ΡŽΡ‚.

Π—Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ мысли

Π’ этом руководствС Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ машинного обучСния Π½Π° Python, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ K-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй ΠΈ K-срСдних.

Π’ΠΎΡ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΎ модСлях K-Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй Π² Python:

А Π²ΠΎΡ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΎ модСлях кластСризации K-срСдних Π² Python:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *