Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MASHINALIQ OQITIW_7

.pdf
Скачиваний:
0
Добавлен:
29.11.2024
Размер:
1.07 Mб
Скачать

Mashinalıq oqıtıw – sızıqlı regressiya

Sızıqlı regressiya - bul mashinalıq oqıtıwdıń eń ápiwayı hám tiykarǵı usıllarınıń biri. Ol bir yamasa bir neshe kirisiw ózgeriwshileri menen shıǵıw ózgeriwshisi arasındaǵı sızıqlı baylanıstı modellestiriw ushın qollanıladı.

Ámeliy jumıs:

1-adım: Maǵlıwmatlar toplamın tayarlaw

Bizge ápiwayı maǵlıwmatlar toplamı kerek boladı. Keliń, úy maydanı (kv.m) hám onıń bahasın (mıń dollar) paydalanamız:

import numpy as np

# Úy maydanı (kv.m)

X = np.array([50, 60, 70, 80, 90, 100, 110, 120])

# Úy bahaları (mıń dollar)

y = np.array([150, 180, 210, 240, 270, 300, 330, 360])

2-adım: Maǵlıwmatlardı kórkemlew (vizuallastırıw)

Maǵlıwmatlardı vizuallastırıw arqalı olardıń arasındaǵı baylanıstı kóriwimiz múmkin:

import matplotlib.pyplot as plt

plt.scatter(X, y) plt.xlabel('Úy maydanı (kv.m)') plt.ylabel('Baha (mıń dollar)')

plt.title('Úy maydanı hám bahası arasındaǵı baylanıs') plt.show()

Tolıq kodı tómendegishe:

import numpy as np

import matplotlib.pyplot as plt

# Maǵlıwmatlardı jaratamız

X = np.array([50, 60, 70, 80, 90, 100, 110, 120, 130, 140])

y = np.array([150, 180, 200, 220, 250, 270, 300, 320, 350, 380])

# Grafikti sızamız plt.scatter(X, y)

plt.xlabel('Úy maydanı (kv.m)') plt.ylabel('Baha (mıń dollar)')

plt.title('Úy maydanı hám bahası arasındaǵı baylanıs') plt.show()

Nátiyje:

3-adım: Modeldi qurıw hám úyretiw

Endi biz sızıqlı regressiya modelin quramız hám onı maǵlıwmatlarımızǵa úyretemiz:

from sklearn.linear_model import LinearRegression

# Modeldi jaratıw

model = LinearRegression()

# Modeldi úyretiw

X = X.reshape(-1, 1) # X di 2D massivge aylandırıw model.fit(X, y)

4-adım: Nátiyjelerdi analiz qılıw

Modelimizdiń parametrlerin kórip shıǵayıq:

print('Koeffitsient (m):', model.coef_[0])

print('Ozgermeli aǵza (b):', model.intercept_)

Bul parametrler bizge y = mx + b formulasın beredi, bunda y - baha, x - úy maydanı.

5-adım: Boljawlar

Endi modelimizdi jańa maǵlıwmatlar ushın qollanıp kóreyik:

new_areas = np.array([55, 85, 105]).reshape(-1, 1) predicted_prices = model.predict(new_areas)

print('Boljamlangan bahalar:', predicted_prices)

6-adım: Nátiyjelerdi vizuallastırıw

Aqırında, maǵlıwmatlarımızdı hám modelimizdi bir grafikte kórseteyik:

plt.scatter(X, y, color='blue', label='Haqıyqıy maǵlıwmatlar') plt.plot(X, model.predict(X), color='red', label='Regressiya sızıǵı') plt.xlabel('Úy maydanı (kv.m)')

plt.ylabel('Baha (mıń dollar)')

plt.title('Úy maydanı hám bahası arasındaǵı baylanıs') plt.legend()

plt.show()

Juwmaqlaw:

Bul ámeliy jumısta biz sızıqlı regressiyanıń tiykarǵı koncepciyasın úyrendik. Biz:

1.Maǵlıwmatlar toplamın tayarladıq

2.Maǵlıwmatlardı kórkemledik (vizuallastırdıq)

3.Sızıqlı regressiya modelin qurdıq hám úyrettik

4.Model parametrlerin analizledik

5.Jańa maǵlıwmatlar ushın boljawlar isledik

6.Nátiyjelerdi vizuallastırdıq

Bul process sızıqlı regressiyanıń tiykarǵı ideyasın kórsetedi: biz maǵlıwmatlar arasındaǵı sızıqlı baylanıstı tabıwǵa háreket ettik hám usı baylanıstı paydalanıp boljawlar jasadıq.

Sızıqlı regressiya - bul mashinalıq oqıtıwdıń eń ápiwayı usıllarınıń biri, biraq ol kóp jaǵdaylarda júdá paydalı bolıwı múmkin. Ol maǵlıwmatlar arasındaǵı sızıqlı baylanıslardı izertlew hám boljaw ushın qollanıladı.

Keleshekte, siz bul modeldi jetilistiriw ushın kóp ózgeriwshili regressiya, polinomial regressiya sıyaqlı quramalıraq usıllardı úyreniwińiz múmkin. Sonday-aq, modeldiń iseniwshiligin bahalaw ushın R-kvadrat, ortasha kvadratlıq qátelik sıyaqlı metrikalardı da úyreniwińiz kerek boladı.

MÍSALLAR:

Bul mısalda biz úydiń maydanı menen onıń bahası arasındaǵı baylanıstı úyrenemiz.

1.Kerekli kitapxanalardı import etemiz: import numpy as np

import matplotlib.pyplot as plt

from sklearn.linear_model import LinearRegression

2.Maǵlıwmatlardı tayarlaymız:

# Úy maydanları (kv.m)

X = np.array([50, 60, 70, 80, 90, 100, 110, 120]).reshape(-1, 1)

# Sáykes bahalar (mıń dollar)

y = np.array([150, 180, 200, 220, 250, 270, 300, 320])

3. Modeldi dúzemiz hám oqıtamız:

model = LinearRegression() model.fit(X, y)

4. Nátiyjelerdi kóremiz:

print("Koefficient (m):", model.coef_[0]) print("Turaqlı aǵza (b):", model.intercept_)

5. Jańa maǵlıwmatlar ushın boljaw jasaymız:

new_X = np.array([[130]]) # 130 kv.m úy

predicted_price = model.predict(new_X)

print("130 kv.m úydiń boljanǵan bahası:", predicted_price[0], "mıń dollar")

6. Nátiyjelerdi vizuallastıramız:

plt.scatter(X, y, color='blue', label='Haqıyqıy maǵlıwmatlar')

plt.plot(X, model.predict(X), color='red', label='Regressiya sızıǵı')

plt.scatter(new_X, predicted_price, color='green', label='Boljaw')

plt.xlabel('Úy maydanı (kv.m)')

plt.ylabel('Baha (mıń dollar)')

plt.title('Úy maydanı hám bahası arasındaǵı baylanıs')

plt.legend()

plt.show()

import numpy as np

import matplotlib.pyplot as plt

from sklearn.linear_model import LinearRegression

# Maǵlıwmatlardı tayarlaw

X = np.array([50, 60, 70, 80, 90, 100, 110, 120]).reshape(-1, 1) y = np.array([150, 180, 200, 220, 250, 270, 300, 320])

#Modeldi dúziw hám oqıtıw model = LinearRegression() model.fit(X, y)

#Nátiyjelerdi kóriw

print("Koefficient (m):", model.coef_[0]) print("Turaqlı aǵza (b):", model.intercept_)

#Jańa maǵlıwmatlar ushın boljaw jasaw new_X = np.array([[130]]) # 130 kv.m úy predicted_price = model.predict(new_X)

print("130 kv.m úydiń boljanǵan bahası:", predicted_price[0], "mıń dollar")

#Nátiyjelerdi vizuallastırıw

plt.figure(figsize=(10, 6))

plt.scatter(X, y, color='blue', label='Haqıyqıy maǵlıwmatlar')

plt.plot(X, model.predict(X), color='red', label='Regressiya sızıǵı') plt.scatter(new_X, predicted_price, color='green', label='Boljaw') plt.xlabel('Úy maydanı (kv.m)')

plt.ylabel('Baha (mıń dollar)')

plt.title('Úy maydanı hám bahası arasındaǵı baylanıs') plt.legend()

plt.grid(True)

plt.show()

Bul kod:

1.Maǵlıwmatlardı tayarlaydı

2.Sızıqlı regressiya modelin dúzedi hám oqıtadı

3.Model parametrlerin kórsetedi

4.Jańa maǵlıwmat ushın boljaw jasaydı

5.Nátiyjelerdi grafik túrinde kórsetedi

Bul ápiwayı mısal sizge sızıqlı regressiyanıń tiykarǵı koncepciyaların túsiniwge járdem beredi. Haqıyqıy jaǵdaylarda, ádette kóbirek maǵlıwmatlar hám ózgeriwshiler menen isleymiz, biraq process uqsas boladı.

Әмелий жумыслар:

1. Оқыў ўақты ҳәм имтихан баҳасы:

Студентлердиң оқыў ўақты (саатларда) ҳәм олардың имтихан баҳалары арасындағы байланысты үйрениң. Сызықлы регрессия моделин дүзип, жаңа студенттиң оқыў ўақтына қарап, оның имтихан баҳасын болжаң.

2. Реклама шығыны ҳәм сатыў көлеми:

Компанияның реклама шығынлары (мың долларда) ҳәм айлық сатыў көлеми (бирликте) арасындағы байланысты анализлең. Модель дүзип, келеси айдағы реклама бюджетине тийкарланып сатыў көлемин болжаң.

3. Автомобиль жасы ҳәм баҳасы:

Автомобильлердиң жасы (жылларда) ҳәм олардың базар баҳасы (мың долларда) арасындағы байланысты изертлең. Сызықлы регрессия моделин қолланып, ҳәр қыйлы жастағы автомобильлердиң баҳасын болжаң.

4. Үйдиң майданы ҳәм энергия сарпы:

Үйлердиң майданы (кв.м) ҳәм айлық энергия сарпы (кВт·саат) арасындағы байланысты үйрениң. Модель дүзип, жаңа үйдиң майданына қарап, оның болжамлы энергия сарпын есаплаң.

5. Қала турғынлары саны ҳәм шығынды шығарыўы:

Ҳәр қыйлы қалалардың турғынлары саны ҳәм күнделикли шығынды (мусор) шығарыўы (тоннада) арасындағы байланысты анализлең. Сызықлы регрессия моделин пайдаланып, жаңа қаланың турғынлары санына қарап, оның күнделикли шығынды шығарыўын болжаң.

Бул тапсырмалардың ҳәр бири ушын төмендеги қәдемлерди орынлаў керек: