Amaliy matematika va intellektual texnologiyalar fakulteti algoritmlar va dasturlash texnologiyalari kafedrasi
Download 117.58 Kb.
|
Alisher Shaxobiddinov
- Bu sahifa navigatsiya:
- AXBOROT TIZIMLARI VA TEXNOLOGIYALARI YO’NALISH SUN’IY INTELLEKT VA NEYRONTO’RLI TEXNOLOGIYALAR FANIDAN 2-AMALIY ISH
- Mashinali organish uchun K-Eng yaqin qoshni (KNN) algoritmi
- Nima uchun bizga K-NN algoritmi kerak
- K-NN qanday ishlaydi
- KNN algoritmining afzalliklari
- KNN algoritmiga amaliy ish
O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI MIRZO ULUG’BEK NOMIDAGI O’ZBEKISTON MILLIY UNIVERSITETI AMALIY MATEMATIKA VA INTELLEKTUAL TEXNOLOGIYALAR FAKULTETI ALGORITMLAR VA DASTURLASH TEXNOLOGIYALARI KAFEDRASI KECHKI TA’LIM AXBOROT TIZIMLARI VA TEXNOLOGIYALARI YO’NALISH SUN’IY INTELLEKT VA NEYRONTO’RLI TEXNOLOGIYALAR FANIDAN 2-AMALIY ISH Bajardi: Alisher Shaxobiddinov Qabul qildi: Bahriddin Akbarov Toshkent-2022 Mashinali o'rganish uchun K-Eng yaqin qo'shni (KNN) algoritmi KNN yoki k-NN deb ham ataladigan k-eng yaqin qo'shnilar algoritmi parametrik bo'lmagan, nazorat qilinadigan o'rganish tasniflagichi bo'lib, u alohida ma'lumotlar nuqtasini guruhlash bo'yicha tasniflash yoki bashorat qilish uchun yaqinlikdan foydalanadi K-Yaqin qo'shni nazorat ostida o'rganish texnikasiga asoslangan eng oddiy Mashina o'rganish algoritmlaridan biridir. K-NN algoritmi yangi holatlar/ma'lumotlar va mavjud holatlar o'rtasidagi o'xshashlikni qabul qiladi va yangi ishni mavjud toifalarga eng o'xshash toifaga qo'yadi. K-NN algoritmi barcha mavjud ma'lumotlarni saqlaydi va o'xshashlik asosida yangi ma'lumotlar nuqtasini tasniflaydi. Bu shuni anglatadiki, yangi ma'lumotlar paydo bo'lganda, uni K-NN algoritmidan foydalangan holda osongina quduqlar to'plami toifasiga ajratish mumkin. K-NN algoritmi regressiya uchun ham, tasniflash uchun ham ishlatilishi mumkin, lekin u asosan tasniflash muammolari uchun ishlatiladi. K-NN parametrik bo'lmagan algoritmdir , ya'ni u asosiy ma'lumotlarga hech qanday taxmin qilmaydi. U dangasa o'rganuvchi algoritmi deb ham ataladi, chunki u o'quv to'plamidan darhol o'rganmaydi, aksincha u ma'lumotlar to'plamini saqlaydi va tasniflash vaqtida ma'lumotlar to'plamida amal qiladi. O'quv bosqichida KNN algoritmi faqat ma'lumotlar to'plamini saqlaydi va u yangi ma'lumotlarni olganida, u ma'lumotlarni yangi ma'lumotlarga juda o'xshash toifaga tasniflaydi. Misol: Aytaylik, bizda mushuk va itga o'xshash jonzot tasviri bor, lekin biz bu mushuk yoki it ekanligini bilishni xohlaymiz. Shunday qilib, ushbu identifikatsiya qilish uchun biz KNN algoritmidan foydalanishimiz mumkin, chunki u o'xshashlik o'lchovida ishlaydi. Bizning KNN modelimiz mushuklar va itlar tasvirlarida yangi ma'lumotlar to'plamining o'xshash xususiyatlarini topadi va eng o'xshash xususiyatlarga asoslanib, uni mushuk yoki it toifasiga kiritadi. Nima uchun bizga K-NN algoritmi kerak?Aytaylik, ikkita toifa, ya'ni, A va B toifalari mavjud va bizda yangi ma'lumotlar nuqtasi x1 bor, shuning uchun bu ma'lumotlar nuqtasi ushbu toifalarning qaysi birida joylashgan bo'ladi. Ushbu turdagi muammolarni hal qilish uchun bizga K-NN algoritmi kerak. K-NN yordamida biz ma'lum bir ma'lumotlar to'plamining toifasi yoki sinfini osongina aniqlashimiz mumkin. Quyidagi diagrammani ko'rib chiqing: K-NN qanday ishlaydi? K-NN ning ishlashini quyidagi algoritm asosida tushuntirish mumkin: 1-qadam: Qo'shnilarning K raqamini tanlang 2-bosqich: K qo'shnilarning Evklid masofasini hisoblang 3-qadam: Hisoblangan Evklid masofasiga ko'ra K eng yaqin qo'shnilarni oling. 4-qadam: Ushbu k qo'shnilar orasida har bir toifadagi ma'lumotlar nuqtalarining sonini hisoblang. 5-qadam: Yangi ma'lumotlar nuqtalarini qo'shni soni maksimal bo'lgan toifaga belgilang. 6-qadam: Bizning modelimiz tayyor. KNN algoritmining afzalliklari: Amalga oshirish oson. Bu tartibsiz ma'lumotlariga chidamli Treyning ma'lumotlari katta bo'lsa, samaraliroq bo'lishi mumkin. KNN algoritmining kamchiliklari: Har doim bir muncha vaqt murakkab bo'lishi mumkin bo'lgan K qiymatini aniqlash kerak. Barcha o'quv namunalari uchun ma'lumotlar nuqtalari orasidagi masofani hisoblash tufayli hisoblash narxi yuqori KNN algoritmiga amaliy ish import matplotlib matplotlib.use('TkAgg') import pandas as pd from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import classification_report from matplotlib import pyplot as plt data = pd.read_csv('data.csv') df = pd.DataFrame(data) df['Insulin'] = data.SkinThickness df0 = df[:27] df1 = df[28:50] df2 = df[100:150] plt.xlabel('Age') plt.ylabel('Blood Pressure') plt.scatter(df0['Age'], df0['BloodPressure'], color = 'pink', marker = 'D') plt.scatter(df1['Age'], df1['BloodPressure'], color = 'green', marker = '*') plt.scatter(df2['Age'], df2['BloodPressure'], color = 'red', marker = '^') plt.show() x = df.drop(['Insulin'], axis = 'columns') y = df.Insulin x_train, x_test, y_train, y_test = train_test_split(x,y, test_size=0.2, random_state=1) knn = KNeighborsClassifier(n_neighbors=7) knn.fit(x_train, y_train) baxo = knn.score(x_test,y_test) print(baxo) y_pred = knn.predict(x_test) print(classification_report(y_test,y_pred)) Download 117.58 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling