Taʼlim vazirligi
Bir o‘zgaruvchili va ko‘p o‘zgaruvchili chiziqli regressiya masalalari va ularni dasturlash
Download 35.01 Kb.
|
MachineLearningAmaliy1
3.Bir o‘zgaruvchili va ko‘p o‘zgaruvchili chiziqli regressiya masalalari va ularni dasturlash
Chiziqli regressiya eng ko'p ishlatiladigan Machine Learning algoritmlaridan biridir. Bir o'zgaruvchan chiziqli regressiya oddiyroq shakl bo'lib, ko'p o'zgaruvchan chiziqli regressiya esa murakkabroq masalalar uchun. Ko'p o'zgaruvchan chiziqli regressiyaga kirish ML muammolarida turli xil ma'lumotlar to'plamlari mavjud bo'lib, ular o'lchamlari (satr va ustunlar soni) bilan bir-biridan farq qiladi. Ma'lumki, ustunlar xususiyatlarni, qatorlar namunalarni anglatadi va ko'proq xususiyatlar murakkabroq modellarni anglatadi. Lineer regressiyada agar ustunlar soni bitta bo'lsa, u bir o'zgaruvchan chiziqli regressiya, agar bir nechta bo'lsa, algoritm Ko'p o'zgaruvchan chiziqli regressiya (MLR) deb ataladi. Univariate va Multivariate LR algoritmlarining asosiy tushunchalari o'xshash, ammo tenglamalarda ma'lumotlar to'plamining turli o'lchamlari tufayli yuzaga keladigan ba'zi farqlar mavjud.Algoritm gipotezasi Univariate LRda chiziq tenglamasi gipotezani namoyish qilish uchun ishlatiladi, Multivariate LR gipotezasi shunga o'xshash, lekin u parametrlar soni bilan farq qiladi. Oddiylik va yaxshiroq tushunish uchun keling, uchta xususiyat (x₁, x₂, x₃) mavjud bo'lgan ma'lumotlar to'plami misolidan boshlaylik. Bunday holda, gipoteza quyidagicha bo'ladi: Har bir xususiyat (x) uchun th qiymati va qo'shimcha th₀ mavjud . Tenglamaning umumiy shakli: Bu yerga, n - xususiyatlar soni. Har bir ML algoritmining maqsadi eng mos gipotezani topishdir. MLR gipotezasida xs va th-s mavjud . xs ma'lumotlar to'plamida berilgan, shuning uchun gipoteza bir-biridan th-s bilan farq qiladi . th-s tasodifiy qiymatlarda ishga tushiriladi, keyin algoritm ularning qiymatlarini optimallashtirishni boshlaydi. Bizning maqsadimiz berilgan ma'lumotlar to'plami uchun eng mos th-larni hisoblashdir . Xarajat funksiyasi va gradient tushishi bu usuldagi vositalar bo'lib, ular haqida keyingi bo'limlarda gaplashamiz. 4 import numpy as np x = [1,2,3,4,5] y = [8,12,15,18,22] x = np.array(x) y = np.array(y) avarageX = sum(x)/len(x) avarageY = sum(y)/len(y) print(avarageX) print(avarageY) X_x = x - avarageX print(X_x) Y_y = y - avarageY print(Y_y) Sxy = X_x * Y_y print(Sxy) SumSxy = sum(Sxy) print(SumSxy) SumXx = sum(X_x**2) print(SumXx) k = SumSxy/SumXx print('nishab = ',k) #nishab b = avarageY - k*avarageX print('kesish = ',b) #kesish Y = k*x+b print(Y) error = y - Y print(error) print(error**2) sumErrorKv = sum(error**2) print(sumErrorKv) ortaY_y = y - avarageY print(ortaY_y) kvOrtaY_y = ortaY_y**2 print(kvOrtaY_y) sumKvOrta_y = sum(kvOrtaY_y) print(sumKvOrta_y) nishab: 3.4 b= 4.800000000000001 ortachaKvXato 0.07999999999999957 R2 0.996551724137931 Download 35.01 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling