- 182 Okunma
- 0 Yorum
- 0 Beğeni
PYTHONLA ANTİSOSYAL KİŞİLİK BOZUKLUĞU TEŞHİSİ
PYTHONLA ANTİSOSYAL KİŞİLİK BOZUKLUĞU TEŞHİSİ
```python
# Gerekli kütüphaneleri yükleme
import pandas as pd
import numpy as np
import xgboost as xgb
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
from sklearn.pipeline import Pipeline
# Veri setini okuma
df = pd.read_csv("antisocial_personality_disorder.csv")
# Veri setini inceleme
df.head()
df.info()
df.describe()
# Bağımlı ve bağımsız değişkenleri ayırma
X = df.drop("antisocial", axis=1)
y = df["antisocial"]
# Veri setini eğitim ve test kümelerine bölme
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Pipeline oluşturarak veri temizliği ve ölçeklendirme
pipeline = Pipeline([
(’scaler’, StandardScaler()), # Ölçeklendirme
(’classifier’, xgb.XGBClassifier()) # XGBoost modeli
])
# Hyperparameter tuning için GridSearchCV
param_grid = {
’classifier__max_depth’: [3, 5, 7],
’classifier__learning_rate’: [0.1, 0.01, 0.001],
’classifier__n_estimators’: [100, 200, 300]
}
grid_search = GridSearchCV(pipeline, param_grid, cv=3, scoring=’accuracy’)
grid_search.fit(X_train, y_train)
# En iyi modeli seçme
best_model = grid_search.best_estimator_
# Modelin performansını değerlendirme
y_pred = best_model.predict(X_test)
acc = accuracy_score(y_test, y_pred)
print("Modelin doğruluk oranı: ", acc)
print("Modelin karışıklık matrisi: ")
print(confusion_matrix(y_test, y_pred))
print("Modelin sınıflandırma raporu: ")
print(classification_report(y_test, y_pred))
#Yazan Rıdvan Kaya
```
Bu kod, antisosyal kişilik bozukluğu olan bireyleri tahmin etmek için bir makine öğrenmesi modeli oluşturur. Kodun yaptığı işlemler şunlardır:
- Gerekli kütüphaneleri yükleme: Bu kod, veri işleme, matematiksel işlemler, model oluşturma, model seçme, model değerlendirme ve veri ölçeklendirme için gerekli olan pandas, numpy, xgboost, sklearn ve pipeline kütüphanelerini yükler.
- Veri setini okuma: Bu kod, antisosyal kişilik bozukluğu veri setini bir CSV dosyasından okur ve df adlı bir pandas veri çerçevesine atar.
- Veri setini inceleme: Bu kod, df veri çerçevesinin ilk beş satırını, sütunlarının veri tiplerini ve istatistiksel özetini ekrana yazdırır.
- Bağımlı ve bağımsız değişkenleri ayırma: Bu kod, df veri çerçevesinden antisosyal sütununu bağımlı değişken olarak y adlı bir değişkene, geri kalan sütunları ise bağımsız değişkenler olarak X adlı bir değişkene atar.
- Veri setini eğitim ve test kümelerine bölme: Bu kod, X ve y değişkenlerini %80 eğitim ve %20 test olacak şekilde rastgele bölerek X_train, X_test, y_train ve y_test adlı dört değişkene atar. Bu işlem, modelin eğitim ve test verileri üzerindeki performansını ölçmek için yapılır.
- Pipeline oluşturarak veri temizliği ve ölçeklendirme: Bu kod, bir pipeline nesnesi oluşturarak veri önişleme ve model oluşturma işlemlerini bir arada yapar. Pipeline nesnesi, iki adımdan oluşur: scaler ve classifier. Scaler adımı, StandardScaler sınıfını kullanarak bağımsız değişkenlerin değerlerini standartlaştırır. Bu işlem, veri setindeki ölçek farklılıklarını gidermek ve modelin daha iyi öğrenmesini sağlamak için yapılır. Classifier adımı, xgb.XGBClassifier sınıfını kullanarak XGBoost adlı bir makine öğrenmesi algoritmasıyla bir model oluşturur. XGBoost, karar ağaçları temelli bir algoritmadır ve yüksek performanslı ve hızlı bir modeldir.
- Hyperparameter tuning için GridSearchCV: Bu kod, GridSearchCV sınıfını kullanarak pipeline nesnesinin hiperparametrelerini en iyi değerlere ayarlar. Hiperparametreler, modelin öğrenme sürecini etkileyen parametrelerdir. Bu kod, classifier adımının max_depth, learning_rate ve n_estimators adlı üç hiperparametresi için farklı değerler deneyerek en iyi doğruluk oranını veren değerleri bulur. Bu işlem, modelin eğitim verisi üzerindeki performansını artırmak ve aşırı öğrenmeyi önlemek için yapılır.
- En iyi modeli seçme: Bu kod, grid_search nesnesinin best_estimator_ özelliğini kullanarak en iyi hiperparametre değerlerine sahip modeli best_model adlı bir değişkene atar.
- Modelin performansını değerlendirme: Bu kod, best_model nesnesinin predict metoduyla test verisi üzerinde tahminler yapar ve y_pred adlı bir değişkene atar. Ardından, accuracy_score, confusion_matrix ve classification_report fonksiyonlarını kullanarak modelin test verisi üzerindeki performansını değerlendirir. Bu işlem, modelin gerçek veri üzerindeki başarısını ölçmek ve modelin güçlü ve zayıf yönlerini belirlemek için yapılır.
YORUMLAR
Henüz yorum yapılmamış.