Sana: 2024-11-23
Guruh: IML001-2
Talaba: Jalolov Farhod
Tekshirdi: Quzibayev Xudayshukur
Variant: 8
1-AMALIY TOPSHIRIQNI BAJARISH BO’YICHA
KO’RSATMALAR
1. Berilgan variantdagi masala yuzasidan o’rgatuvchi tanlama(dataset)ni
shakllantiring. Ko’p xususiyatli holini ham inobatga oling.
2. Yaratilgan dataset ning ixtiyoriy xususiyatini olgan holda bir
o’zgaruvchili(xususiyatli) regressiya modelini quring.
O’rgatuvchi tanlama ma’lumotlarini matplotlib kutubxonasi yordamida
grafik tasvirlang(bir xususiyatli holi uchun).
Variantda ko’rsatilgan kutubxona va ko’rsatilgan polinom darajalarini
o’rnating.
Topilgan regression model yordamida kiruvchi qiymatlarni qaytadan
hisoblab ularni ham grafik tasvirlang(nuqtali, chiziqli ko’rinishda).
3. Yaratilgan dataset ning barcha xususiyatlarini ishlatgan holda sklearn
kutubxonasi yordamida ko’p xususiyatli regressiya modelini quring.
Variantda ko’rsatilgan polinom darajalarini o’rnating.
4. Yaratilgan bir o’zgaruvchili va ko’p o’zgaruvchili modelni testlang va
xulosa keltiring.
5. Hisobotni word faylida shakllantiring. Yozilgan dastur kodlari, chizmalar,
tushirilgan oyna rasmlari wordda ilova qilinsin. Hisobotda ishlatilgan har bir
rasmga, chizmaga ta’rif bering. Sahifalarning yuqori kalontitulida sana,
talaba guruh nomeri, F.I.SH ni ko’rsating.
Sana: 2024-11-23
Guruh: IML001-2
Talaba: Jalolov Farhod
Tekshirdi: Quzibayev Xudayshukur
Variant: 8
8-Variant
1. Masala Tavsifi
Ushbu ishda 'Go‘sht narxi'ni bashorat qilish uchun mashinali o‘qitish
usullari qo‘llanildi. Reja quyidagicha amalga oshirildi:
1. Ma'lumotlar tanlamasi (dataset) yaratildi.
2. Bir o‘zgaruvchili regressiya modeli qurildi va polinom darajalari (1, 4, 8)
bo‘yicha tahlil qilindi.
3. Ko‘p o‘zgaruvchili regressiya modeli qurildi va polinom darajalari (1, 2,
5) bo‘yicha tahlil qilindi.
4. Barcha modellarning natijalari baholanib, xulosalar chiqarildi.
Ushbu masalada `numpy`, `matplotlib` va `sklearn` kutubxonalari ishlatildi.
2. Ma'lumotlar Tanlanmasi
Tanlama sifatida 'Go‘sht narxi'ni bashorat qilish uchun 20 ta namunadan
iborat ma'lumotlar yaratildi. Asosiy xususiyatlar (o‘zgaruvchilar):
- `x`: asosiy o‘zgaruvchi (masalan, talab miqdori yoki vaqt).
- `z`: qo‘shimcha o‘zgaruvchi (masalan, boshqa mahsulotlar narxi bilan
bog‘liq ma'lumot).
Shuningdek, natija (target): `y` - go‘sht narxi.
Ma'lumotlarni generatsiya qilish uchun quyidagi kod ishlatildi:
# Ma'lumotlar yaratish
import numpy as np
np.random.seed(42)
x = np.linspace(0, 10, 20).reshape(-1, 1)
y = 2.5 * x + np.random.normal(0, 2, x.shape[0])
z = 0.5 * x + np.random.normal(0, 0.5, x.shape[0]).reshape(-1, 1)
features = np.hstack([x, z])
Sana: 2024-11-23
Guruh: IML001-2
Talaba: Jalolov Farhod
Tekshirdi: Quzibayev Xudayshukur
Variant: 8
3. Bir O‘zgaruvchili Regressiya
Bir o‘zgaruvchili regressiya modeli qurilib, natijalar polinom darajalari
bo‘yicha tahlil qilindi (1, 4, va 8). Modellarning natijalari va grafigi quyida
keltirilgan:
Polinom darajasi 1 uchun quyidagi ko‘rsatkichlar olindi:
- MSE: 2.18
- R²: 0.95
Grafik: Polinom darajasi 1 ga mos regressiya chizig‘i.
Polinom darajasi 4 uchun quyidagi ko‘rsatkichlar olindi:
- MSE: 1.96
- R²: 0.96
Sana: 2024-11-23
Guruh: IML001-2
Talaba: Jalolov Farhod
Tekshirdi: Quzibayev Xudayshukur
Variant: 8
Grafik: Polinom darajasi 4 ga mos regressiya chizig‘i.
Polinom darajasi 8 uchun quyidagi ko‘rsatkichlar olindi:
- MSE: 1.49
- R²: 0.97
Sana: 2024-11-23
Guruh: IML001-2
Talaba: Jalolov Farhod
Tekshirdi: Quzibayev Xudayshukur
Variant: 8
Grafik: Polinom darajasi 8 ga mos regressiya chizig‘i.
Modelni yaratish uchun ishlatilgan kod:
# Bir o‘zgaruvchili regressiya
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
import matplotlib.pyplot as plt
degrees = [1, 4, 8]
for degree in degrees:
poly = PolynomialFeatures(degree=degree)
x_poly = poly.fit_transform(x)
model = LinearRegression()
model.fit(x_poly, y)
y_pred = model.predict(x_poly)
Sana: 2024-11-23
Guruh: IML001-2
Talaba: Jalolov Farhod
Tekshirdi: Quzibayev Xudayshukur
Variant: 8
# Natijalarni grafikda tasvirlash
plt.scatter(x, y, color='blue')
plt.plot(x, y_pred, color='red')
plt.title(f'Polinom darajasi {degree}')
plt.show()
4. Ko‘p O‘zgaruvchili Regressiya
Ko‘p o‘zgaruvchili regressiya modeli polinom darajalari (1, 2 va 5) bo‘yicha
tahlil qilindi. Quyidagi natijalar olindi:
Polinom darajasi 1 uchun quyidagi ko‘rsatkichlar olindi:
- MSE: 1.87
- R²: 0.96
Grafik: Polinom darajasi 1 ga mos regressiya chizig‘i.
Polinom darajasi 2 uchun quyidagi ko‘rsatkichlar olindi:
Sana: 2024-11-23
Guruh: IML001-2
Talaba: Jalolov Farhod
Tekshirdi: Quzibayev Xudayshukur
Variant: 8
- MSE: 1.65
- R²: 0.96
Grafik: Polinom darajasi 2 ga mos regressiya chizig‘i.
Polinom darajasi 5 uchun quyidagi ko‘rsatkichlar olindi:
- MSE: 0.00
- R²: 1.00
Sana: 2024-11-23
Guruh: IML001-2
Talaba: Jalolov Farhod
Tekshirdi: Quzibayev Xudayshukur
Variant: 8
Grafik: Polinom darajasi 5 ga mos regressiya chizig‘i.
Modelni yaratish uchun ishlatilgan kod:
# Ko‘p o‘zgaruvchili regressiya
for degree in [1, 2, 5]:
poly = PolynomialFeatures(degree=degree)
features_poly = poly.fit_transform(features)
model = LinearRegression()
model.fit(features_poly, y)
y_pred = model.predict(features_poly)
# Natijalarni grafikda tasvirlash
plt.scatter(range(len(y)), y, color='blue')
plt.plot(range(len(y)), y_pred, color='red')
plt.title(f'Polinom darajasi {degree}')
plt.show()
Sana: 2024-11-23
Guruh: IML001-2
Talaba: Jalolov Farhod
Tekshirdi: Quzibayev Xudayshukur
Variant: 8
5. Batafsil Kodlar:
Ma'lumotlar yaratish:
import numpy as np
np.random.seed(42)
x = np.linspace(0, 10, 20).reshape(-1, 1)
y = 2.5 * x + np.random.normal(0, 2, x.shape[0])
z = 0.5 * x + np.random.normal(0, 0.5, x.shape[0]).reshape(-1, 1)
features = np.hstack([x, z])
Bir o‘zgaruvchili regressiya
Polinom darajalari: 1, 4, va 8
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
import matplotlib.pyplot as plt
degrees = [1, 4, 8]
for degree in degrees:
poly = PolynomialFeatures(degree=degree)
x_poly = poly.fit_transform(x)
model = LinearRegression()
model.fit(x_poly, y)
y_pred = model.predict(x_poly)
plt.figure(figsize=(7, 5))
plt.scatter(x, y, color='blue', label='Original Data')
Sana: 2024-11-23
Guruh: IML001-2
Talaba: Jalolov Farhod
Tekshirdi: Quzibayev Xudayshukur
Variant: 8
plt.plot(x, y_pred, color='red', label=f'Polynomial Degree {degree}')
plt.title(f'Single-variable Polynomial Degree {degree}')
plt.xlabel('X (O‘zgaruvchi)')
plt.ylabel('Y (Narx)')
plt.legend()
plt.show()
print(f"Polinom darajasi {degree} uchun:")
print(f" - MSE: {mean_squared_error(y, y_pred):.2f}")
print(f" - R²: {r2_score(y, y_pred):.2f}\n")
Ko‘p o‘zgaruvchili regressiya
Polinom darajalari: 1, 2, va 5
multi_degrees = [1, 2, 5]
for degree in multi_degrees:
poly = PolynomialFeatures(degree=degree)
features_poly = poly.fit_transform(features)
model = LinearRegression()
model.fit(features_poly, y)
y_pred = model.predict(features_poly)
plt.figure(figsize=(7, 5))
plt.scatter(range(len(y)), y, color='blue', label='Original Data')
plt.plot(range(len(y)), y_pred, color='red', label=f'Polynomial Degree {degree}')
plt.title(f'Multi-variable Polynomial Degree {degree}')
Sana: 2024-11-23
Guruh: IML001-2
Talaba: Jalolov Farhod
Tekshirdi: Quzibayev Xudayshukur
Variant: 8
plt.xlabel('Sample Index')
plt.ylabel('Y (Narx)')
plt.legend()
plt.show()
print(f"Polinom darajasi {degree} uchun:")
print(f" - MSE: {mean_squared_error(y, y_pred):.2f}")
print(f" - R²: {r2_score(y, y_pred):.2f}\n")
6. Xulosa
Bir o‘zgaruvchili regressiya natijalari shuni ko‘rsatdiki, polinom darajalari
oshgani sari model ma'lumotlarga yaxshiroq moslashadi. Ko‘p o‘zgaruvchili
regressiyada yuqori darajali polinom (daraja 5) barcha namunalarni
mukammal bashorat qildi. Bu esa mashinali o‘qitish usullari va ko‘p
xususiyatli modellarning bashoratdagi kuchli imkoniyatlarini ko‘rsatadi
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )