TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Mashinali o’qitishga kirish fanidan
2-Amaliy ish
Guruh: 711-21 guruh
Bajardi: Baxtiyorov Sh
Tekshirdi: Azimov B
TOSHKENT 2024
Mashinali o‘qitishda Logistik regressiya yordamida sinflashtirish masalasini yechish algoritmi va dasturini tuzish.
Dataset ni xosil qilish. Bunda o‘zgaruvchilar soni kamida 10 tani va qatorlar soni 20 tani tashkil etishi lozim.
Data.csv id,ScreenSize_inch,Price,Weight_gr,sinf 0,14,1200,1000,1
1,13,800,900,1
2,16,200,1300,0
3,20,300,2000,0
4,17,500,1200,1
5,14,100,1000,0
6,18,150,3000,0
7,14,800,800,1
8,15,700,1000,1
9,16,500,1100,1
10,12,400,1500,0
11,19,1000,1800,1
12,15,600,900,1
13,13,300,800,0
14,16,120,700,0
15,18,900,1600,1
16,14,350,1200,0
17,15,550,1000,1
18,17,750,1400,1
19,20,1100,2200,1
Code :
import pandas as pd
from sklearn.model_selection import train_test_split from sklearn.svm import SVC
from sklearn.metrics import accuracy_score, confusion_matrix import seaborn as sns
import matplotlib.pyplot as plt
# CSV faylini o'qish
data = pd.read_csv('data.csv')
# X va y larni ajratib olish X = data.drop('sinf', axis=1) y = data['sinf']
# Ma'lumotlarni trenirovka va test qismiga ajratib olish X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Support Vector Machine (SVM) modelini yaratish va o'qitish model = SVC(kernel='linear', C=1)
model.fit(X_train, y_train)
# Test ma'lumotlari uchun bashorat y_pred = model.predict(X_test)
# Aniqlikni hisoblash
accuracy = accuracy_score(y_test, y_pred)
print(f'Test ma\'lumotlari uchun aniqlik: {accuracy:.4f}')
plt.scatter(data['ScreenSize_inch'], data['Price'], c=data['sinf'], cmap='viridis')
plt.title('Nuqtalar') plt.xlabel('ScreenSize_inch') plt.ylabel('Price') plt.show()
# Konfuziya matricasini o'qish va ko'rsatish cm = confusion_matrix(y_test, y_pred)
sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', xticklabels=['0', '1'], yticklabels=['0', '1']) plt.ylabel('Haqiqiy natijalar') plt.xlabel('Bashorat natijalari') plt.title('Confusion Matrix')
plt.show()
Natija:
|