O‘ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALAR VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Kompyuter injiniringi fakulteti
Sun’iy intellekt kafedrasi
Robototexnika va intellektual tizimlar fanidan
1-TOPSHIRIQ
Mavzu: Python muhitida signallarga ishlov berishni o‘rganish.
Bajardi: 222-21guruh talabasi
Azimov Diyorbek
Tekshirdi: Xasanov U.K.
TOSHKENT – 2024
1-topshiriq
Ishdan maqsad: Talabalarda python dasturlash tili imoniyatlari asosida signallarga ishlov berish. Bunda talabalar sun’iy intellekt algoritmlaridan ham foydalanishlari mumkin.
Vazifalar:
Python dasturlash muhitini o‘rnatish
Berilgan datasetni klassifikatsiya qilish
KNN,SVM,DT,RF
Ish boyicha xisobot tayyorlash (qisqacha nazariy qism, amaliy qism, kod qismi, rasmlar, xulosa)
Dastur kodi va natijasi
import pandas as pd
from sklearn import linear_model
from sklearn import tree
from sklearn import svm
from sklearn.ensemble import RandomForestClassifier
from sklearn.neighbors import KNeighborsClassifier
data_set = pd.read_csv('phone.csv')
print(data_set)
X = data_set.iloc[:,[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]].values
print(X)
Y = data_set.iloc[:,-1].values
print(Y)
# decisiontree ni ishlatish
birinchi = tree.DecisionTreeClassifier()
birinchi.fit(X,Y)
new = [(983,0,2.5,0,15,0,20,0.9,120,0,15,648,497,998,60,0,50,0,0,2)]
showfirst = (birinchi.predict(new))
print("in decision tree ->",showfirst)
# support vector machine ni ishlatish
ikkinchi = svm.SVC()
ikkinchi.fit(X,Y)
showsecond = ikkinchi.predict(new)
print("in support vector machine ->",showsecond)
# RandomForest ni ishlatish
uchinchi = RandomForestClassifier()
uchinchi.fit(X, Y)
showthird = uchinchi.predict(new)
print("in Random Forest ->",showthird)
# KNN ni ishlatish
tortinchi = KNeighborsClassifier()
tortinchi.fit(X, Y)
showfourth=tortinchi.predict(new)
print("in KNN -> ", showfourth)
Xulosa:
Mashinali o'qitish (Machine Learning) dunyosida klassik sinflashtirish algoritmlari ko'p vaqt ichida o'rganilgan va dasturlashda keng qo'llanilgan algoritmlardir. Bu algoritmlar ma'lumotlar tahlili, sonlashuvli qism, va ma'lumotlar orasida bog'lovchi o'lchamlar (features) bo'yicha sinflashtirishni o'rganish uchun ishlatiladi. Endi, klassik sinflashtirish algoritmlariga qisqacha bir nazar qilamiz:
Logistik regressiya:
Bu algoritm, ikki sinfli sinovlar (masalan, "to'g'ri" yoki "noto'g'ri") uchun sinflashtirishni bajarish uchun ishlatiladi.
Bu algoritmning maqsadi ma'lumotlar orasidagi bog'lovchilarni o'rganib, ularni bitta sinfli sinovga joylashishdir.
Logistik regressiya uchun gradient optimizatsiya va boshqa yordamchi usullar qo'llaniladi.
K-yaqin kompanentlar sinflashtiruvchi (k-Nearest Neighbors, KNN):
Bu algoritm, yangi obyektni qaysi sinfga kiritsa, ya'ni uni eng yaqin bo'lgan k ta obyektning sinfi bilan sinflashtiradi.
KNN uchun asosiy parametr "k" (ya'ni, yaqin kompanentlar soni)dir.
Qo'llanmali vektor masalalari (Support Vector Machines, SVM):
Bu algoritm, obyektlarni sinflashtirish uchun biror bo'yoqotilgan sinflandiruvchi doiralar (bu doiralar SVM-ni yordamchi deyiladi) orqali joylashtiradi.
SVM, ma'lumotlar orasidagi sodda va sonlashuvli chegaralar (boundary) uchun mashhur.
Qaror qo'lda qarorlaydigan aga (Decision Trees):
Bu algoritm, ma'lumotlarning bir to'plamini qo'llanib, turli parametrlar (bog'lovchilar) asosida qaror qabul qiladi.
Qaror qo'lda qarorlaydigan aga, ma'lumotlarni bir nechta ikki guruhga ajratish uchun ishlatiladi.
Ko'p qayerli qaror qo'lda qarorlaydigan aga (Random Forest):
Bu algoritm, ko'p qayerli qaror qo'lda qarorlaydigan aga (decision trees) ishlatadi va ularni birlashtiradi.
Random Forest, modellarning birlamchi qo'llanilishi va bag'riksiz qo'llanilishi uchun mashhur.
Bu algoritmlar dasturlashning har bir qadamida o'zlarining afzalliklariga ega. Ma'lumotlar tahlili (feature selection), chegaralarni tuzatish (boundary tuning), va dasturlashning optimizatsiyasi (model tuning) jihatidan, har bir algoritmning o'z vaqtini aniqlab olishi mumkin. Har bir algoritmning afzalliklarini va cheklovlarni tushuntirish, ma'lumotlar tahlilining va sinflashtirishning amaliyotiy qismlarini tushunishning asosiy qismidir.
|