25
Muhammad al-Xorazmiy nomidagi TATU
Farg‘ona filiali “Al-Farg‘oniy avlodlari”
elektron ilmiy jurnali ISSN 2181-4252
Tom: 1 | Son: 4 | 2023-yil
"Descendants of Al-Farghani" electronic scientific
journal of Fergana branch of TATU named after
Muhammad al-Khorazmi. ISSN 2181-4252
Vol: 1 | Iss: 4 | 2023 year
Электронный научный журнал "Потомки Аль-
Фаргани" Ферганского филиала ТАТУ имени
Мухаммада аль-Хоразми ISSN 2181-4252
Том: 1 | Выпуск: 4 | 2023 год
https://al-fargoniy.uz/
Chiziqli regressiya
modelini yaratishning
haqiqiy hayotiy misoli sifatida, uyning maydoni va
yoshiga qarab uyning narxini taxmin qilish uchun
modelni o'rgatmoqchi ekanligingizni tasavvur qiling.
Biz
chiziqli
regressiya
yordamida
ushbu
munosabatlarni modellashtirishga qaror qilamiz.
Quyidagi kod bloki psevdokodda berilgan muammo
uchun chiziqli regressiya modelini qanday yozishingiz
mumkinligini ko'rsatadi:
price = (weights_area * area) + (weights_age *
age) + bias
Yuqoridagi misolda ikkita vazn mavjud:
weights_area va weights_age. O'quv jarayoni model
to'g'ri narx qiymatini bashorat qila olishi uchun og'irlik
va moyillikni sozlashdan iborat. Buning uchun biz
prognoz xatosini hisoblashingiz
va shunga mos
ravishda og'irliklarni yangilashimiz kerak. Bu neyron
tarmoq mexanizmi qanday ishlashining asoslari.
Natijalar. Endi bu tushunchalarni Python bilan
qanday qo'llashni ko'rish vaqti keldi. Birinchi neyron
tarmog'imizni qurishni boshlash: Neyron tarmog'ini
qurishda
birinchi
qadam
kirishdan
chiqishni
yaratishdir. Biz buni o'zgaruvchilarning vaznli
yig'indisini yaratish orqali qilamiz. Biz qilishimiz
kerak bo'lgan birinchi narsa Python va NumPy bilan
kiritilgan
ma'lumotlarni
taqdim
etishdir
(HYPERLINK
https://realpython.com/numpy-
tutorial/).
Hulosa.
NumPy
bilan
neyron
tarmoq
kirishlarini
qayta
ishlash:
Tarmoqning
kirish
vektorlarini massivlar sifatida ko'rsatish uchun
NumPydan
foydalanamiz.
Lekin
NumPydan
foydalanishdan oldin, nima bo'layotganini
yaxshiroq
tushunish uchun sof Pythonda vektorlar bilan amallar
qilish yaxshi fikr.
Ushbu birinchi misolda bizda kirish vektori va
yana
ikkita
vazn
vektori
mavjud.
Maqsad,
og'irliklardan qaysi biri kiritilgan yo'nalish va
kattalikka ko'proq o'xshashligini topishdir. Agar biz
ularni chizsak, vektorlar shunday ko'rinadi:
Rasm 5. Dekart koordinata tekisligidagi uchta
vektor.
weights_2 ko'proq kirish vektoriga o'xshaydi,
chunki u bir xil yo'nalishga ishora qiladi va kattaligi
ham o'xshash. Xo'sh, Python yordamida qaysi
vektorlar o'xshashligini qanday aniqlash mumkin?
Birinchidan, biz uchta vektorni aniqlaymiz, biri
kirish uchun, ikkitasi og'irlik uchun. Keyin biz
input_vector va og'irliklar_1 qanchalik o'xshashligini
hisoblaymiz. Buning uchun biz nuqta mahsulotini
qo'llaymiz. Barcha vektorlar 2D vektorlar bo'lganligi
sababli, buning uchun qadamlar:
1.
Input_vectorning birinchi indeksini vaznlar_1
ning birinchi indeksiga ko'paytiramiz.
2.
Input_vector ikkinchi indeksini vaznlar_2 ning
ikkinchi indeksiga ko'paytiramiz.
3.
Ikkala ko'paytirish natijalarini yigamiz.
Ko'rsatmalarga
amal qilish uchun IPython
konsoli yoki Jupyter daftaridan foydalanishimiz
mumkin.
Har
safar
yangi
Python
loyihasini
boshlaganimizda yangi virtual muhit yaratish yaxshi
amaliyotdir, shuning uchun avval buni qilishimiz
kerak. Venv Python 3.3 va undan yuqori versiyalari
bilan birga keladi va virtual muhit yaratish uchun
qulay.