Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

O‘ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALAR

VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT


AXBOROT TEXNOLOGIYALARI UNIVERSITETI

Kompyuter injiniringi fakulteti


Sun’iy intellekt kafedrasi

Mashinali o‘qitish fanidan

2-TOPSHIRIQ
Mavzu: Mashinali o‘qitishda sinflashtirish algoritmlari va ularni dasturlash.
Logistik regressiya

Bajardi: 210-21 guruh talabasi


To'laganov Ikromjon
Tekshirdi: Xasanov U.K.

TOSHKENT – 2024
2-topshiriq
1. Berilgan variantdagi masala yuzasidan o’rgatuvchi tanlama(dataset)ni
shakllantiring.
2. Yaratilgan dataset ning ixtiyoriy ikkita xususiyatini olgan holda matplotlib
kutubxonasidan foydalanib grafik tasvirlang.
3. Yaratilgan datasetni modelni o’qitish uchun 85 % va testlash uchun 15%
nisbatda bo’laklarga ajrating.
4. Sklearn kutubxonasidan foydalangan holda logistik_regressiya modelini
quring.
5. Model aniqligini hisoblang(o’rgatuvchi tanalama uchun).
6. Modelni test to’plam bilan testlang. Modelini test to’plamdagi aniqligini
hisoblang.
7. Test to’plam uchun tartibsizlik matritsasi (confusion_matrix) ni hisoblang va
tariflang.
5 Ob-havo haroratini bashorat qilish 40 3 3
1. Shakllantirilgan dataset
Temperature,Humidity,Wind Speed,Classid
10.800966372497726,2,5.407773236038605,0
10.887362941627687,4,6.555359690973104,0
11.032694467126976,6,6.756871473584499,0
11.39541969877598,8,7.141688480387662,0
12.154728054134871,10,7.161422674243742,0
13.19516392867499,12,7.980879371033088,0
13.658308558955277,14,8.084964519925721,0
14.076662061017997,16,8.144335688004348,0
14.407379396364226,18,8.744764857414301,0
14.442793147788375,20,9.107445448229518,0
15.635775302896835,22,9.425391016651687,1
15.907589114783445,24,10.015900260788335,1
16.243677855723554,26,10.46642815698879,1
16.254199900110073,28,10.521139170672445,1
16.84100968158444,30,11.337963933199577,1
16.852672503190327,32,11.371165503981144,1
17.06175468906568,34,11.544087832863584,1
17.155100545558394,36,11.973716143473942,1
17.40664362458861,38,12.13577687842696,1
18.113602757966035,40,12.212828710747186,1
18.8202195835051,42,12.904107074888737,1
19.347197673312085,44,12.933556484812629,1
19.81532784336475,46,13.149646414689055,1
19.92164504181495,48,13.466885930893818,1
19.925067841719184,50,13.60952568295026,1
19.968764452704512,52,13.627087843890283,1
22.874076403042974,54,13.65068728109193,1
23.761438446131155,56,13.793852015534586,1
23.973847765719363,58,14.166605800508965,1
26.056875584629225,60,15.123085863269806,2
26.098615676710423,62,15.253113155882543,2
26.20986426112276,64,15.47480929800891,2
26.284904305250155,66,15.594222822315531,2
27.14026989980575,68,17.009877205188555,2
27.434483675608327,70,17.06975885227086,2
28.185632387482507,72,17.111517960393225,2
28.19354174153713,74,17.24133588245699,2
29.21824696381644,76,18.209909098901505,2
29.24632321615953,78,18.498729588007027,2
29.784659942285344,80,19.34223933067824,2

1-rasm. Shakllantirilgan dataset


Yaratilgan dataset ning Temperature va Wind speed xususiyatlarini olgan
holda matplotlib kutubxonasidan foydalanib grafik tasvirlash:
Dastur kodi:
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_csv('data.csv')
xususiyat1='Temperature'
xususiyat2='Wind Speed'
x=df[xususiyat1]
y=df[xususiyat2]
plt.figure(figsize=(10, 6))
plt.plot(x, y, marker='o', linestyle='-', color='blue')
plt.title('Shamol Tezligi')
plt.xlabel('Temperatura')
plt.grid(True)
plt.show()

2-rasm.
.Shamol tezligini Temproturaga bog'liqligi
Yaratilgan datasetni modelni o’qitish uchun 85 % va testlash uchun 15%
nisbatda bo’laklarga ajrating.
test.csv faylga data.csv obyektlarining 15% ini ajratib oldim:
Age,Income,Account Balance,Credit Score,Loan Amount,Classid
38,79658,25998,701,47591,1
69,80123,28843,762,6502,0
34,81649,33807,742,22935,1
69,82350,35628,700,40643,0
23,83696,39998,760,48615,0
33,87691,42261,788,11015,0

4. 5. Sklearn kutubxonasidan foydalangan holda logistik_regressiya modelini


quring. Model aniqligini hisoblang(o’rgatuvchi tanalama uchun).
Sklearn kutubxonasi yordamida dataset uchun logistik_regressiya modelini
qurdim.
Buning uchun scikit-learn kutubxonasining LogisticRegression() funksiyasidan
foydalandim va model aniqligini hisobladim
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, confusion_matrix

df = pd.read_csv('data1.csv')
X = df[['Temperatura']]
y = df['Shamol Tezligi']

X_train = X
y_train = y
model = LogisticRegression()
model.fit(X_train, y_train)
y_train_pred = model.predict(X_train)
print('Accuracy:', accuracy_score(y_train, y_train_pred))
Natijasi:

3-rasm. O’rgatuvchi tanlanma modelining aniqligi.

6. Modelni test to’plam bilan testlang. Modelini test to’plamdagi aniqligini


hisoblang.
Dastur kodi:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, confusion_matrix

df = pd.read_csv('data1.csv')
X = df[['Temperatura']]
y = df['Shamol Tezligi']

X_train = X
y_train = y
model = LogisticRegression()

model.fit(X_train, y_train)

df_testlash = pd.read_csv('test.csv')
X_test = df_testlash[['Temperatura']]
y_test = df_testlash['Shamol Tezligi']
y_pred = model.predict(X_test)

print('Accuracy:', accuracy_score(y_test, y_pred))


Natijasi:

4-rasm. Modelni test to’plamdagi aniqligini hisoblash

7. Test to’plam uchun tartibsizlik matritsasi (confusion_matrix) ni hisoblang va


tariflang.
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, confusion_matrix

df = pd.read_csv('data1.csv')
X = df[['Temperatura']]
y = df['Shamol Tezligi']

X_train = X
y_train = y
model = LogisticRegression()

model.fit(X_train, y_train)

df_testlash = pd.read_csv('test.csv')
X_test = df_testlash[['Temperatura']]
y_test = df_testlash['Shamol Tezligi']
y_pred = model.predict(X_test)

print('Confusion Matrix:\n', confusion_matrix(y_test, y_pred))


Natijasi:

5-rasm. Test to’plam uchun confusion_matrix


Datasetni Klassifikatsiyalash .
Datasetni Income ustuni bo’yicha 2 ta LowIncome va HighIncome classlariga
ajratdim, bunda chegara salary = 65000.
import pandas as pd

df = pd.read_csv('data1.csv')

class LowTemperatura:
pass

class HighTemperatura:
pass

low_Temperatura_objects = []
high_Temperatura_objects = []

threshold_Temperatura = 30

for index, row in df.iterrows():


if row['Temperatura'] <= threshold_Temperatura:
low_Temperatura_objects.append(row)
else:
high_Temperatura_objects.append(row)

print('Low Temperatura Objects:')


for obj in low_Temperatura_objects:
print(obj)

print('\nHigh Temperatura Objects:')


for obj in high_Temperatura_objects:
print(obj)
Natijasi:


1-rasm. LowIncome classidagi obyektlar
2-rasm. HighIncome classidagi obyektlar

You might also like