MENÃœLER

Anasayfa

Åžiirler

Yazılar

Forum

Nedir?

Kitap

Bi Cümle

Ä°letiÅŸim

Depresyon Veri Setini Kullanarak Bir Yapay Sinir Ağı Modeli Oluşturmak ve Eğitmek
Kaya Ridvan

Depresyon Veri Setini Kullanarak Bir Yapay Sinir Ağı Modeli Oluşturmak ve Eğitmek


Depresyon Veri Setini Kullanarak Bir Yapay Sinir Aðý Modeli Oluþturmak ve Eðitmek
python
# Gerekli kütüphaneleri içe aktarýn
import numpy as np
import pandas as pd
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
# Depresyon veri setini okuyun
# Veri seti, depresyon belirtilerini 0 (yok) veya 1 (var) olarak etiketleyen 27 sorudan oluþmaktadýr
# Veri setinin kaynaðý: www.kaggle.com/utkarshxy/who-world-mental-health-survey
df = pd.read_csv("depression.csv")
# Girdi ve çýktý deðiþkenlerini ayýrýn
X = df.drop("depressed", axis=1)
y = df["depressed"]
# Veri setini eðitim ve test kümelerine bölün
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Verileri ölçeklendirin
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
# Yapay sinir aðý modelini oluþturun
model = keras.Sequential([
layers.Dense(32, activation="relu", input_shape=(27,)),
layers.Dropout(0.5),
layers.Dense(16, activation="relu"),
layers.Dropout(0.5),
layers.Dense(8, activation="relu"),
layers.Dense(1, activation="sigmoid")
])
# Modeli derleyin
optimizer = keras.optimizers.Adam(learning_rate=0.001)
model.compile(optimizer=optimizer, loss="binary_crossentropy", metrics=["accuracy"])
# Early stopping ekleyin
early_stopping = keras.callbacks.EarlyStopping(monitor="val_loss", patience=5, restore_best_weights=True)
# Modeli eðitin
model.fit(X_train, y_train, epochs=50, batch_size=32, validation_split=0.1, callbacks=[early_stopping])
# Modelin performansýný deðerlendirin
model.evaluate(X_test, y_test)
# Eðitilmiþ modeli kaydedin
model.save("trained_model.h5")
Bu kod, depresyon veri setini kullanarak bir yapay sinir aðý modeli oluþturmak ve eðitmek için yazýlmýþtýr. Depresyon veri seti, Dünya Saðlýk Örgütü’nün dünya çapýnda yaptýðý bir zihinsel saðlýk anketinden elde edilmiþtir. Veri seti, depresyon belirtilerini 0 (yok) veya 1 (var) olarak etiketleyen 27 sorudan oluþmaktadýr.
Kodun yaptýðý iþlemler þunlardýr:
- Gerekli kütüphaneleri içe aktarýr. Bu kütüphaneler, veri iþleme, makine öðrenimi ve yapay sinir aðý modelleri için kullanýlan yaygýn araçlardýr.
- Depresyon veri setini okur ve bir pandas veri çerçevesine dönüþtürür.
- Girdi ve çýktý deðiþkenlerini ayýrýr. Girdi deðiþkenleri, depresyon belirtilerini soran 27 sorudur. Çýktý deðiþkeni, depresyon durumunu gösteren 0 veya 1 deðeridir.
- Veri setini eðitim ve test kümelerine bölün. Eðitim kümesi, modeli eðitmek için kullanýlýr. Test kümesi, modelin performansýný deðerlendirmek için kullanýlýr. Test kümesinin boyutu, veri setinin %20’sidir. Rastgele durum, veri setinin bölünme þeklini belirler.
- Verileri ölçeklendirir. Verileri ölçeklendirmek, modelin daha iyi öðrenmesine yardýmcý olur. Ölçeklendirme için standartlaþtýrma yöntemi kullanýlýr. Bu yöntem, verilerin ortalamasýný 0 ve standart sapmasýný 1 yapar.
- Yapay sinir aðý modelini oluþturur. Model, dört katmandan oluþur:
- Bir giriþ katmaný, 27 girdi alýr ve 32 nöronlu bir yoðun katmana baðlanýr. Bu katmanýn aktivasyon fonksiyonu relu’dur. Relu, doðrusal olmayan bir fonksiyondur ve modelin karmaþýk iliþkileri öðrenmesine yardýmcý olur.
- Bir býrakma katmaný, modelin aþýrý uyumunu önlemek için kullanýlýr. Bu katman, her eðitim adýmýnda rastgele olarak %50’sini býrakýr. Aþýrý uyum, modelin eðitim verilerine çok iyi uyum saðlamasý ancak yeni verilerde kötü performans göstermesi durumudur.
- Bir gizli katman, 16 nöronlu bir yoðun katmandýr. Bu katmanýn aktivasyon fonksiyonu da relu’dur. Bu katman, modelin daha fazla özellik öðrenmesine olanak tanýr.
- Bir býrakma katmaný, modelin aþýrý uyumunu önlemek için kullanýlýr. Bu katman, her eðitim adýmýnda rastgele olarak %50’sini býrakýr.
- Bir gizli katman, 8 nöronlu bir yoðun katmandýr. Bu katmanýn aktivasyon fonksiyonu da relu’dur. Bu katman, modelin daha fazla özellik öðrenmesine olanak tanýr.
- Bir çýkýþ katmaný, 1 nöronlu bir yoðun katmandýr. Bu katmanýn aktivasyon fonksiyonu sigmoid’dir. Sigmoid, 0 ile 1 arasýnda bir deðer üreten bir fonksiyondur. Bu deðer, modelin depresyon olasýlýðýný tahmin etmesini saðlar.
- Modeli derler. Modelin derlenmesi, modelin nasýl eðitileceðini belirler. Modelin optimizasyon algoritmasý olarak Adam kullanýlýr. Adam, modelin aðýrlýklarýný güncellemek için adaptif bir yöntemdir. Modelin öðrenme hýzý 0.001 olarak ayarlanýr. Öðrenme hýzý, modelin aðýrlýklarýný ne kadar hýzlý deðiþtireceðini belirler. Modelin kayýp fonksiyonu olarak ikili çapraz entropi kullanýlýr. Ýkili çapraz entropi, modelin tahminleri ile gerçek deðerler arasýndaki farký ölçer. Modelin metriði olarak doðruluk kullanýlýr. Doðruluk, modelin doðru tahmin ettiði örneklerin yüzdesidir.
- Erken durdurma ekler. Erken durdurma, modelin eðitimini, doðrulama kümesindeki kayýp deðeri artmaya baþladýðýnda durduran bir geri çaðýrma fonksiyonudur. Doðrulama kümesi, eðitim kümesinin %10’luk bir bölümüdür. Erken durdurma, modelin aþýrý uyumunu önlemek için kullanýlýr. Erken durdurma, kayýp deðeri en düþük olan modelin aðýrlýklarýný geri yükler. Erken durdurma, kayýp deðeri 5 kez arttýðýnda modelin eðitimini durdurur.
- Modeli eðitir. Model, eðitim kümesindeki verileri kullanarak 50 dönem boyunca eðitilir. Bir dönem, modelin tüm eðitim verilerini bir kez gördüðü süredir. Modelin toplu iþ boyutu 32’dir. Toplu iþ boyutu, modelin her eðitim adýmýnda kaç örnek aldýðýný belirler. Model, her dönem sonunda doðrulama kümesindeki performansýný gösterir. Erken durdurma geri çaðýrma fonksiyonu, modelin eðitimini durdurmak için izler.
- Modelin performansýný deðerlendirir. Model, test kümesindeki verileri kullanarak performansýný deðerlendirir. Model, test kümesindeki kayýp deðeri ve doðruluk deðerini gösterir.
- Eðitilmiþ modeli kaydeder. Model, "trained_model.h5" adlý bir dosyaya kaydedilir. Bu dosya, modelin yapýsýný ve aðýrlýklarýný içerir.
Sosyal Medyada Paylaşın:



(c) Bu şiirin her türlü telif hakkı şairin kendisine ve/veya temsilcilerine aittir.