Войти Регистрация

Docx

  • Рефераты
  • Дипломные работы
  • Прочее
    • Презентации
    • Рефераты
    • Курсовые работы
    • Дипломные работы
    • Диссертациии
    • Образовательные программы
    • Инфографика
    • Книги
    • Тесты

Информация о документе

Цена 10000UZS
Размер 919.0KB
Покупки 0
Дата загрузки 06 Ноябрь 2026
Расширение pdf
Раздел Курсовые работы
Предмет Информатика и ИТ

Продавец

Bohodir Jalolov

Tasniflash masalalari uchun KNN algoritmini qo‘llash

Купить
 
1 	
 	
SAMARQAND	-2025	 	
 	
 	
O‘ZBEKISTON RESPUBLIKASI OLIY TA’LIM, FAN VA 
INNOVATSIYALAR VAZIRLIGI SHAROF RASHIDOV 
NOMIDAGI SAMARQAND DAVLAT UNIVERSITETI	 	
Intellektual tizimlar va kompyuter 	texnologiyalari	 	
fakulteti  Sun’iy intellekt yo’nalishi	 	
3-bosqich 301	-guruh talabasi	 	
Mirzokabulov Rufatning	 	
Mashinaviy o’qitish fanidan tayyorlagan	 	
KURS ISHI	 	
Mavzu: 	Tasniflash masalalari uchun KNN algoritmini qo’llash	 	
 
 	
Tekshirdi: ___________________	   
2 	
 	
MUNDARIJA	 	
 	
Kirish	  …………………………………………………………………….3	 	
1-bob. 	Tren ing  ma'lu motl a rini ta yyorlash	 … …… …… .… … …… ... 4	 	
1.1. 	Ma 'lu motl arni Yig' ish  … … …… …… … …… …… …… … …… . 4	 	
1.2.  Ma' lu mo tla rni To zal ash …… …… …… … …… …… …… … …. 4	 	
1.3.  Xususi yatl a rni Tanlash  … … …… …… … …… …… …… … …. 5	 	
1.4.  Ma	'lu motl a rni Bo‘lish … … …… …… … …… …… …… … ….. 5	 	
1.5. Ma'lu mo tla rni Kodl ash  … … …… …… … …… …… …… … ….. 6	 	
1.6. Ma'lu mot la rni Tekshi rish v a Vizu ali zat si ya  …… …… … …… . 6	 	
2-bob. KNN algoritmini tasniflash ….………………………………….. 8	 	
2.1.  	KNN Algoritmining Ishlash Prinsipi 	…...………………………..	... 8	 	
 2.2. 	KNN algoritmini tasniflash uchun amaliy misol	 ..……….......….... 9	 	
 2.3. 	KNN algoritmining parametrlari va optimallash	 …………….…... 11	 	
3-bob. KN N algo rit min i yaxsh ila s h uchun mas laha tla r ..…… ..... 12	 	
 3.1. 	K pa ra me t ri ni opti ma l t anlas h	 …… … …......…… …… … … 13	 	
 3.2. 	Ma sofa o‘lc hovlarin i opti ma l lashti rish	 … …… ….…… … … 14	 	
Xulosa ………………………………………………………………….. 16	 	
Foydalanilgan adabiyotla	r ……………………………………………… 17	   
3 	
 	
Ki ris h	 	
KNN  (K	-Nearest  Neighbors) 	—	 bu  mashina  o‘rganish  (machine 	
learning)  sohasida  eng  oddiy  va  keng  tarqalgan  algoritmlardan  biridir. 
KNN  tasniflash  va  regressiya  masalalarida  qo‘llaniladi,  ammo  asosan 
tasniflash  uchun 	ishlatiladi.  Algoritmning  ishlash  printsipi  juda  intuitiv 	
bo‘lib,  biror  yangi  yoki  test  namunasi  uchun  eng  yaqin  K  ta  qo‘shni 
namunalarining klassi (labeli) asosida sinov namunasi tasniflanadi.	 	
KNN (K	-Nearest Neighbors) algoritmi, mashina o'qitishning oddi	y 	
va  samarali  usullaridan  biridir.  Ushbu  algoritm  ko'plab  tasniflash  va 
regressiya masalalarida keng qo'llaniladi.	 	
KNN  algoritmining  asosiy  prinsipi 	– 	biror  yangi  namunani 	
tasniflashda, ularning o'zi kabi bo'lgan eng yaqin K ta qo‘shni namunalarini 
hisobla	shdir.	 	
KNN o'zining intuitiv va oson tushunarli xususiyatlari bilan mashina 	
o'qitishda juda ommalashgan va ko'plab amaliy masalalarda ishlatiladi.	 	
   
4 	
 	
1-Bob.  	Tr en ing  ma 'lu motla ri ni tayyorlas h	 	
KNN  algoritmini  samarali  ishlatish  uchun  trening  ma'lumotlarini 	
to'g'ri tayyorlash juda muhimdir. To'g'ri tayyorlangan ma'lumotlar nafaqat 
modelning aniqligini oshiradi, balki algoritmni yanada samarali ishlashiga 
yordam  beradi.  Quyida  trening  ma'lumotlarini  tayyorlash  jarayonini 
bosqichma	-bosqich ko'rib chiqamiz.	 	
1. 	M	a'lumotlarni Yig'ish	 	
 Ma'lumotlar manbai	: Trening ma'lumotlari odatda mavjud 	
bo'lgan ma'lumotlar to'plamlaridan olinadi. Masalan, 
foydalanuvchi xatti	-harakatlari, sensor ma'lumotlari, yoki boshqa 	
muayyan tizimlardan olingan natijalar.	 	
 Klassifikatsiya masala	lari	: Har bir ma'lumot namunasi, 	
xususiyatlar (features) va ularga tegishli klasslar (labels) bo'lishi 
kerak. Masalan, agar siz emailni spam yoki non	-spam 	
tasniflamoqchi bo'lsangiz, email matni 	—	 xususiyatlar (features), 	
spam yoki non	-spam esa 	—	 label bo'l	adi.	 	
2. 	Ma'lumotlarni Tozalash (Data Cleaning)	 	
Ma'lumotlar to‘plamini to‘g‘ri ishlash uchun uni tozalash zarur:	 	
 Yo‘qotilgan qiymatlar	: Ba'zan ma'lumotlar to‘plamida 	
yo‘qotilgan yoki noaniq qiymatlar bo‘lishi mumkin. Bunday 
qiymatlarni quyidagi usullar bila	n to‘ldirish mumkin:	 	
	 	O‘rtacha yoki median qiymat bilan to‘ldirish.	 	
	 	Qolgan ma'lumotlar asosida baholash.	 	
	 	Yo‘qotilgan qiymatlar mavjud bo‘lgan satrlarni o‘chirib 	
tashlash (agar ular juda ko‘p bo‘lmasa).	 	
 Dublikatlar	: Ba'zan ma'lumotlarda dublikatlar bo'lishi 	mumkin, 	
ularni olib tashlash kerak.	 	
 Notog‘ri ma'lumotlar	: Ba'zi xususiyatlar noto‘g‘ri qiymatlar bilan 	
kiritilgan bo‘lishi mumkin (masalan, yoshni kiritish o‘rniga matnli 
qiymat). Bunday xatoliklarni aniqlash va tuzatish zarur.	   
5 	
 
3. 	Xususiyatlarni Tanlash (F	eature Selection)	 	
	 	KNN algoritmi faqatgina ma'lumotlarning xususiyatlarini 	
(features) hisobga oladi. Shu bois, tasniflash uchun muhim bo‘lgan 
xususiyatlarni tanlash kerak.	 	
 Muqobil xususiyatlar	: Ba'zi xususiyatlar boshqa xususiyatlarga 	
nisbatan redundant 	(takrorlanadigan) bo'lishi mumkin. Masalan, 	
agar sizda "yosh" va "yoshga teng bo‘lgan yil" kabi ikkita o‘xshash 
xususiyat bo‘lsa, birini olib tashlash mumkin.	 	
 Xususiyatlarni normalizatsiya qilish	: KNN algoritmi 	
masofalarga asoslangan bo‘lgani uchun, xususi	yatlar orasidagi 	
miqyos farqlari modelga salbiy ta’sir ko‘rsatishi mumkin. Shu 
sababli, xususiyatlarni 	normalizatsiya	 yoki 	standartlashtirish	 	
zarur:	 	
 Normalizatsiya	: Har bir xususiyatni ma'lum bir oraliqqa 	
(masalan, [0, 1]) olib kelish. Bu usulning eng mash	hur 	
formula:  	 	
 
 
 	
 Standartlashtirish	: Har bir xususiyatni o‘rtacha qiymatiga 	
nisbatan va standart og‘ishiga moslashtirish:	 	
 
 
Bu yerda μ 	—	 	o‘rtacha qiymat, σ 	—	 	
standart og‘ish.	 	
4. 	Ma'lumotlarni Bo‘lish (Train	-Test Split)	 	
KNN modelini o‘rgatishda 	ma'lumotlarni ikki guruhga bo‘lish kerak: 	
trening ma'lumotlari	 va 	test ma'lumotlari	. Bu bo‘lish uchun quyidagi 	
usullardan foydalanish mumkin:	 	
 Trening va test setlarini bo‘lish	: Ma'lumotlar to'plamini trening 	
(odatda 70	-80%) va test (qolgan 20	-30%) qismlari	ga bo‘lish kerak.	   
6 	
 	
 Cross	-validation	: Ba'zan, KNN ning samaradorligini yaxshiroq 	
baholash uchun 	k-fold cross	-validation	 usuli ishlatiladi, bu esa 	
trening ma'lumotlarini bir necha kichik guruhlarga bo‘lib, har 
birini test qilishga imkon beradi.	 	
5. 	Ma'lumotlar	ni Kodlash (Encoding)	 	
Agar ma'lumotlar to‘plamida kategorik (nominal yoki ordinal) 
xususiyatlar mavjud bo‘lsa, ularni 	one	-hot encoding	 yoki 	label 	
encoding	 orqali raqamli formatga o‘tkazish zarur.	 	
 Label encoding	: Kategorik qiymatlarni bir nechta raqamlar bi	lan 	
almashtirish (masalan, "spam" = 0, "non	-spam" = 1).	 	
 One	-hot encoding	: Har bir kategoriyaga alohida ustun ajratish va 	
0 yoki 1 bilan ifodalash (masalan, "red" = [1, 0, 0], "green" = [0, 1, 
0], "blue" = [0, 0, 1]).	 	
6. 	Ma'lumotlarni Tekshirish va Vizualiz	atsiya	 	
 Grafikalar va vizualizatsiya	 yordamida ma'lumotlarni tekshirish. 	
Misol uchun, ma'lumotlar orasidagi bog'lanishlarni, chiziqli yoki 
no	-chiziqli shakllarni aniqlash uchun grafikalar chizish mumkin.	 	
	 	Ma'lumotlar juda katta bo'lsa ham, ularni kichik qism	larga 	
ajratib ko'rish va xatoliklarni aniqlash mumkin.	 	
7. 	Modelni O‘rgatish	 	
Trening ma'lumotlari tayyor bo‘lgandan so‘ng, KNN modelini o‘rgatish 
jarayonini boshlash mumkin. KNN ning 	trening	 jarayoni juda oddiy, 	
chunki faqat ma'lumotlar saqlanadi va test namunalariga mos keladigan 
eng yaqin K ta qo‘shni nuqtalar hisoblanadi.	 	
KNN uchun Ma'lumot Tayyorlashning Kodga Olishi (Python):	 	
import pandas as pd	 	
from sklearn.model_selection import train_	test_split	 	
from sklearn.preprocessing import StandardScaler	 	
from sklearn.neighbors import KNeighborsClassifier	 	
   
7 	
 
# Ma'lumotlarni yuklash	 	
data = pd.read_csv('ma'lumotlar.csv')	 	
 
# Xususiyatlar va labelni ajratish	 	
X = data.drop('label', axis=1)  # 'label' 	ustunini chiqaramiz	 	
y = data['label']  # Labelni ajratamiz	 	
 
# Ma'lumotlarni bo‘lish (train	-test split)	 	
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, 
random_state=42)	 	
 
# Xususiyatlarni standartlashtirish	 	
scaler = StandardScaler()	 	
X_train = scaler.fit_transform(X_train)	 	
X_test = scaler.transform(X_test)	 	
 
# Modelni yaratish va o‘rganish	 	
model = KNeighborsClassifier(n_neighbors=5)	 	
model.fit(X_train, y_train)	 	
 
# Test ma'lumotlarini bashorat qilish	 	
y_pred = model.predict(X_test)	 	
 
# 	Modelni baholash	 	
from sklearn.metrics import accuracy_score	 	
accuracy = accuracy_score(y_test, y_pred)	 	
print(f"Modelning aniqligi: {accuracy}")	   
8 	
 	
2-Bob.	  KNN Algoritmi va Tasniflash	 	
KNN  (K	-Nearest  Neighbors)  algoritmi 	tasniflash	 	masalalarida 	
ishlatiladigan  en	g  sodda  va  intuitiv  usullardan  biridir.  Tasniflash 	
masalasida,  model  biror  sinov  namunasi  uchun  uning  eng  yaqin  K  ta 
qo‘shni  namunalariga  asoslanib,  sinov  namunasi  klassini  aniqlashga 
harakat qiladi. Quyida KNN algoritmining tasniflash masalasidagi ishlash	 	
prinsipi va uning qo‘llanishi bo‘yicha batafsil tushuntirish beraman.	 	
1. 	Tasniflash Masalasi Nima?	 	
Tasniflash masalasi 	– bu algoritmga ma'lum bo‘lgan ma'lumotlar 	
yordamida yangi yoki sinov namunalarini ma'lum bir toifaga ajratish 
vazifasidir. Masalan:	 	
 Spam emailni tasniflash	: Agar sizning email to‘plamingizda 	
"spam" va "non	-spam" toifalariga oid ma'lumotlar bo‘lsa, KNN 	
yordamida yangi kelgan emailni spam yoki non	-spam deb 	
tasniflash mumkin.	 	
 Rasmni tasniflash	: Agar sizda suratlar va ularning tegishli 	
toi	falari (masalan, "mushuk", "it", "qush") mavjud bo‘lsa, KNN 	
yordamida yangi rasmni aniqlash mumkin.	 	
2. 	KNN Algoritmining Ishlash Prinsipi	 	
KNN algoritmi tasniflash uchun 	masofa	 o‘lchovlari yordamida eng 	
yaqin K ta qo‘shni namunalarni topadi va ularning ko‘p	chilik klassi 	
asosida sinov namunasi uchun tahmin chiqaradi.	 	
1. Trening ma'lumotlari	: Trening ma'lumotlari mavjud bo‘lib, har 	
bir namunada xususiyatlar (features) va tegishli toifa (label) 
bo‘ladi. Masalan, agar siz o‘ziga xos xususiyatlari bo‘lgan email 
to‘p	lamini tasniflasangiz, xususiyatlar 	—	 bu emaildagi so‘zlar, 	
label esa "spam" yoki "non	-spam" bo‘lishi mumkin.	 	
2. Test namunasi	: Test namunasi (yangi kiritilgan ma'lumot) uchun 	
KNN algoritmi o‘rganilgan trening ma'lumotlari bilan   
9 	
 	
solishtiriladi. Sinov namunasi	 va trening namunalarining masofasi 	
hisoblanadi.	 	
3. Masofani hisoblash	: Test namunasi va har bir trening namunasi 	
orasidagi masofa hisoblanadi. Masofa o‘lchovlari turli xil bo‘lishi 
mumkin, lekin eng mashhur o‘lchovlardan biri 	Evklid masofasi	: 	
 
 
Bu yerda x v	a y test va trening namunalarining xususiyatlaridir.	 	
4. K ta eng yaqin qo‘shnini topish	: Test namunasi uchun masofa 	
hisoblanganidan so‘ng, eng kichik K ta masofaga ega bo‘lgan 
trening namunalarini tanlash zarur. Bu eng yaqin qo‘shnilar test 
namunasi uchun eng	 yaxshi tahminni berishadi.	 	
5. Tasniflash	: K ta qo‘shni nuqtaning ko‘pchilik klassi test namunasi 	
uchun tahmin sifatida olinadi. Agar K=3 bo‘lsa va eng yaqin uchta 
qo‘shni namunadan ikki tasi "spam" bo‘lsa, birorta "non	-spam" 	
bo‘lsa, test namunasi "spam" deb 	tasniflanadi.	 	
3. 	KNN Algoritmini Tasniflash Uchun Amaliy Misol (Python)	 	
Misol uchun, bizda email to‘plami mavjud va uni spam va non	-spam 	
tasniflash uchun KNN algoritmini ishlatmoqchimiz. Quyidagi Python 
kodi yordamida KNN modelini qurish va tasniflashni am	alga oshiramiz:	 	
import pandas as pd	 	
from sklearn.model_selection import train_test_split	 	
from sklearn.preprocessing import StandardScaler	 	
from sklearn.neighbors import KNeighborsClassifier	 	
from sklearn.metrics import accuracy_score	 	
# Ma'lumotlarni yuklash 	(masalan, 'email_data.csv' faylidan)	 	
data = pd.read_csv('email_data.csv')	 	
   
10	 	
 	
# Xususiyatlar va labelni ajratish	 	
X = data.drop('label', axis=1)  # 'label' ustunini chiqaramiz (bu target 	
klassi)	 
y = data['label']  # 'label' ni tasniflash uchun target sifatida 	olish	 	
# Ma'lumotlarni trening va test setlariga bo'lish	 	
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, 	
random_state=42)	 	
# Xususiyatlarni standartlashtirish	 	
scaler = StandardScaler()	 	
X_train = scaler.fit_transform(X_train)	 	
X_test =	 scaler.transform(X_test)	 	
 
# KNN modelini yaratish (K=5)	 	
model = KNeighborsClassifier(n_neighbors=5)	 	
# Modelni o'rgatish	 	
model.fit(X_train, y_train)	 	
# Test ma'lumotlarini bashorat qilish	 	
y_pred = model.predict(X_test)	 	
 
# Modelning aniqligini hisoblash	 	
accu	racy = accuracy_score(y_test, y_pred)	 	
print(f"Modelning aniqligi: {accuracy:.2f}")	 	
 
# Test namunalarining tasniflash natijalari	 	
print("Testdagi natijalar: ", y_pred)	   
11	 	
 
4. 	KNN Algoritmining Parametrlari va Optimallash	 	
1. K ning qiymatini tanlash	: 	
 K parametrini 	tanlash juda muhimdir, chunki K ning qiymati 	
modelning samaradorligiga katta ta’sir ko‘rsatadi. K juda 
kichik bo‘lsa (masalan, K=1), model 	overfitting	 qilishi 	
mumkin, ya'ni trening ma'lumotlariga juda sezgir bo‘ladi. K 
juda katta bo‘lsa, model 	underfitting	 bo‘lishi mumkin, ya'ni 	
trening ma'lumotlariga nisbatan juda umumlashtirilgan 
bo‘ladi.	 	
 K ning eng yaxshi qiymatini tanlash uchun 	cross	-validation	 	
metodidan foydalanish mumkin.	 	
2. Masofa o‘lchovini tanlash	: 	
 Evklid masofasi	 eng keng tarqalgan bo‘lsa	-da, boshqa 	
masofa o‘lchovlarini ham ishlatish mumkin. Masalan, 
Manhattan masofasi	 yoki 	Minkowski masofasi	. 	
5. 	KNN Algoritmining Afzalliklari va Kamchiliklari	 	
Afzalliklari:	 	
 Oddiy va intuitiv	: KNN algoritmi juda oddiy va tushunishga oson. 	
Uning ishlashini tushunish uch	un murakkab matematikalar yoki 	
statistik bilimlar talab qilinmaydi.	 	
 No	-parametrik	: KNN modelining parametrlar haqida hech qanday 	
taxminlari yo‘q, ya'ni ma'lumotlarga moslashishda modelning 
o‘ziga xos shakli bo‘lmaydi.	 	
 Yaxshi natijalar	: KNN ko‘pincha yuqori	 sifatli tasniflash 	
natijalarini beradi, ayniqsa ma'lumotlar to‘plamida aniqlik yuqori 
bo‘lsa.	 	
Kamchiliklari:	 	
 Hisoblash xarajatlari yuqori	: KNN algoritmi test qilishda juda 	
ko‘p hisoblash resurslarini talab qiladi, chunki har bir test 
namunasi uchun masofa	larni hisoblash kerak.	   
12	 	
 	
 K ning tanlanishi	: Kning optimal qiymatini tanlash kerak. Agar K 	
juda kichik bo‘lsa, model haddan tashqari moslashadi, K juda katta 
bo‘lsa, model umumlashtirilgan bo‘ladi.	 	
 
 
3-Bob.  	KN N  alg orit min i yaxs hil ash u ch un  masl ahatla r	 	
 	KNN (	K	-Nearest Neighbors) algoritmi o'zining oddiyligi va 	
intuitivligi bilan mashhur, lekin samarali ishlashini ta'minlash uchun 
ba'zi optimallashtirishlar va yaxshilanishlar qilish zarur. Quyida KNN 
algoritmini yaxshilash uchun ba'zi maslahatlarni keltiraman:	 	
1. 	K Parametrini Optimal Tanlash	 	
KNN algoritmining samaradorligi K parametriga, ya'ni eng yaqin 
qo‘shnilar soniga bog‘liq. K juda kichik yoki juda katta bo‘lsa, model 
yaxshi ishlamasligi mumkin.	 	
 K juda kichik bo‘lsa (masalan, K=1)	: Model trening 	
ma'lumotlariga juda sezgir bo‘ladi, bu esa 	overfitting	 (ortiqcha 	
moslashish)ga olib keladi.	 	
 K juda katta bo‘lsa	: Model juda umumlashtirilgan bo‘lib, 	
underfitting	 (kamchilik)ga olib kelishi mumkin.	 	
K ni qanday tanlash mumkin:	 	
 K	-Fold Cross	-Validation	: K ni t	anlashda 	k-fold cross	-validation	 	
usulidan foydalanish eng yaxshi yondashuvdir. Bu usul yordamida 
ma'lumotlar bir necha kichik bo‘laklarga bo‘linadi va har bir 
bo‘lak test sifatida ishlatiladi. K ning optimal qiymatini topish 
uchun turli xil K qiymatlariga 	asoslangan modelning ishlashini 	
baholash mumkin.	 	
   
13	 	
 
. 
2.	 Xususiyatlarni Standartlashtirish yoki Normalizatsiya qilish	 	
KNN algoritmi masofalar asosida ishlaydi, shuning uchun 
xususiyatlarning o‘lchamlaridagi farq modelga salbiy ta’sir ko‘rsatishi 
mumkin. Mas	alan, agar bir xususiyat juda katta qiymatlarga ega bo‘lsa 	
(masalan, 1000), u kichik qiymatga ega bo‘lgan boshqa xususiyatlardan 
ancha katta bo‘ladi va masofa hisoblashda dominatsiya qilishi mumkin.	 	
Xususiyatlarni standartlashtirish yoki normalizatsiya qil	ish:	 	
 Standartlashtirish	: Har bir xususiyatni o‘rtacha qiymatiga 	
nisbatan va standart og‘ishiga moslashtirish.	 	
 Normalizatsiya	: Har bir xususiyatni [0, 1] oraliqqa keltirish.	 	
   
14	 	
 
3. 	Masofa O‘lchovlarini Optimallashtirish	 	
KNN algoritmi odatda 	Evklid masofasini	 ishlatadi, lekin ba'zan boshqa 	
masofa o‘lchovlari ham yaxshi natijalar berishi mumkin, masalan:	 	
 Manhattan masofasi	: Bu masofa o‘lchovi ko‘proq katta o‘lchovli 	
(high	-dimensional) ma'lumotlar uchun foydalidir.	 	
 Minkowski masofasi	: Bu o‘lchov Evklid va Manhat	tan 	
masofalarining umumiy shakli bo‘lib, parameter p ga asoslanadi. 
p=2 bo‘lsa, bu Evklid masofasi, p=1 bo‘lsa, Manhattan masofasi.	 	
 
4. 	Klassifikatsiya Yozuvlarining To‘g‘ri Tegishli Bo‘lishi	 	
KNN algoritmi qo‘shni ma'lumotlarni hisoblashda, ayrim sinflarn	ing 	
unchalik ko‘p tarqalganligi yoki juda oz bo‘lishi mumkin. Bu modelni 
xato tasniflashga olib kelishi mumkin. Bu holatni kamaytirish uchun 
quyidagi yondashuvlarni qo‘llash mumkin:	 	
 Sinflarni muvozanatlashtirish	: 	
 Oversampling	: Kam uchraydigan sinf namunala	rini 	
ko‘paytirish (masalan, SMOTE (Synthetic Minority Over	-	
sampling Technique) yordamida).	 	
 Undersampling	: Ko‘p uchraydigan sinf namunalarini 	
kamaytirish.	 	
 
5. 	Dimensionality Reduction (O‘lchamlarni qisqartirish)	 	
KNN  algoritmi  ko‘p  o‘lchamli  ma'lumotlar  bil	an  ishlashda  samarali 	
bo‘lmasligi  mumkin,  chunki  masofani  hisoblashda  o‘lchamlarning   
15	 	
 
ko‘payishi  bilan 	"curse  of  dimensionality"	 (o‘lchovlarning  do‘qqisiga 	
chiqishi) yuzaga keladi.	 	
PCA  (Principal  Component  Analysis)	 yoki 	t-SNE	 kabi  o‘lchamlarni 	
qisqartirish  metodlarini  qo‘llash  orqali  o‘lchamlar  sonini  kamaytirish 
mumkin. Bu KNN algoritmining samaradorligini oshirishi mumkin.	 	
 
6. 	Hashing yoki Approximate Nearest Neighbors (ANN) 	
Texnologiyalaridan Foydalanish	 	
Agar ma	'lumotlar juda katta bo‘lsa (masalan, millionlab namunalar), 	
KNN algoritmi juda sekin ishlashi mumkin. Bunday hollarda, 
Approximate Nearest Neighbors	 (ANN) yoki 	Locality Sensitive 	
Hashing	 (LSH) kabi tezlashtirish metodlaridan foydalanish mumkin.	 	
Annoy	, Faiss	, yoki 	HNSW (Hierarchical Navigable Small World)	 	
kabi kutubxonalar KNNning aniq natijalariga o‘xshash tezkor natijalarni 
taqdim etishi mumkin.	 	
7. 	Modelni Baholash va Hyperparameter Tuni	ng	 	
Modelning samaradorligini yaxshilash uchun boshqa 	hyperparameter 	
tuning	 usullaridan foydalanish mumkin, masalan:	 	
 Grid Search	: K, masofa o‘lchovi, og‘irliklar kabi parametrlarni 	
tekshirish uchun.	 	
 Random Search	: Ko‘proq parametrlarni izlash uchun, ammo 	
ka	mroq hisoblash resurslarini sarflaydi.	   
16	 	
 
 	
Xulosa	 	
 	
 	KNN 	algoritmi  oddiy,  lekin  samarali  usul  bo‘lib,  u  tasniflash 	
masalalarida keng qo‘llaniladi. Uning asosiy afzalligi shundaki, modelni 
qurish  uchun  murakkab  matematik  hisob	-kitoblar  talab  qilinmaydi, 	
faqatgina  ma'lumotlar  orasidagi  masofalarni  hisoblash  yetarl	i. 	
Shuningdek,  KNN  algoritmiga  tegishli  bo‘lgan  K  qiymatini  tanlash, 
masofa o‘lchovini tanlash va ma'lumotlarni to'g'ri tayyorlash kabi omillar 
uning  samaradorligini  yaxshilashda  muhim  rol  o'ynaydi. 	Trening 	
ma'lumotlarini  tayyorlash,  KNN  algoritmini  muvaff	aqiyatli  ishlatish 	
uchun  juda  muhimdir.  Ma'lumotlarni  tozalash,  normalizatsiya  qilish, 
bo‘lish  va  kodlash  kabi  bosqichlar  orqali  siz  KNN  modelini  yanada 
samarali  va  aniq  ishlatishingiz  mumkin.  Shuningdek,  ma'lumotlarning 
sifatini  oshirish,  modelning  yakuni	y  natijasiga  ta’sir  ko‘rsatadi.  KNN 	
algoritmi tasniflash masalalarida juda samarali va oson ishlatiladigan usul 
bo‘lib,  u  masofa  o‘lchovlari  asosida  sinov  namunalarini  tasniflaydi.  
Algoritmning asosiy afzalligi uning soddaligi va intuitiv ishlashidir, lek	in 	
katta  hajmdagi  ma'lumotlar  bilan  ishlashda  hisoblash  xarajatlari  yuqori 
bo‘lishi  mumkin.  KNN  algoritmini  samarali  ishlatish  uchun  uning 
parametrlarini  va  ma'lumotlarni  to‘g‘ri  tayyorlash  zarur.  K  ning  optimal 
qiymatini  tanlash,  masofa  o‘lchovlarini  aniq	lash,  xususiyatlarni 	
standartlashtirish  va  sinf  balansini  yaxshilash  kabi  optimallashtirishlar 
modelning aniq va samarali ishlashini ta'minlashga yordam beradi.	 	
   
17	 	
 	
Foydalanilgan Adabiyotlar:	 	
1. •  ames,  G.,  Witten,  D.,  Hastie,  T.,  &  Tibshirani,  R.  (2013).  An 
In	troduction  to  Statistical  Learning:  with  Applications  in  R. 	
Springer.	 	
2.     	•  Bishop,  C.  M.  (2006).  Pattern  Recognition  and  Machine 	
Learning. Springer.	 	
3.     	•  Zhang,  C.,  &  Ma,  Y.  (2012).  Generalized  Linear  Models  with 	
Applications. Springer.	 	
4.     	• R. R. (2020	). A Brief Introduction to Polynomial Regression and 	
Its  Applications.  Journal  of  Machine  Learning  Research,  19(1), 
123	-145.	 	
5.     	•  "Polinomial  Regression  and  Its  Applications."  (2020). 	
ScienceDirect.	 	
6.     	•  Duda,  R.  O.,  Hart,  P.  E.,  &  Stork,  D.  G.  (2001). 	Pattern 	
Classification. Wiley	-Interscience.	 	
7.     	•  Kaggle  (2023).  Polynomial  Regression:  Tutorial  and  Code 	
Examples.	 	
8.     	• "Machine Learning Mastery" (2021). Polynomial Regression in 	
Machine Learning.

Tasniflash masalalari uchun KNN algoritmini qo‘llash

Купить
  • Похожие документы

  • 3d-max dasturida obektlarni yaratish
  • Algoritm va ma’lumotlar strukturasi
  • 3D-MAX dasturi haqida
  • 3D Studio MAX dasturiga kirish. 3D Studio MAX dasturi haqida tushuncha
  • Adobe photoshop dasturida tasvirlarda ishlov berish,taqdimot yaratish

Подтвердить покупку

Да Нет

© Copyright 2019-2026.

  • Инструкция по снятию с баланса
  • Контакты
  • Инструкция использования сайта
  • Инструкция загрузки документов
  • O'zbekcha