Bu kod örneği, ev fiyatı tahmini için bir yapay sinir ağı oluşturur, eğitir ve kullanır. İşte kodun açıklaması:
- Gerekli kütüphaneleri içe aktarıyoruz.
- Veri setini yüklüyoruz (CSV dosyasından).
- Özellikleri (oda sayısı, büyüklük, şehir merkezine uzaklık, yaş) ve hedefi (fiyat) ayırıyoruz.
- Veriyi eğitim ve test setlerine ayırıyoruz.
- Özellikleri ölçeklendiriyoruz (standardize ediyoruz).
- Yapay sinir ağı modelini oluşturuyoruz.
- Modeli derliyoruz.
- Modeli eğitiyoruz.
- Model performansını değerlendiriyoruz.
- Yeni bir ev için tahmin yapıyoruz.
Bu kodu kullanmak için, öncelikle veri setinizi 'ev_verileri.csv' adında bir CSV dosyasına kaydetmeniz gerekiyor. Dosyanın sütunları 'oda_sayisi', 'buyukluk', 'sehir_merkezi_uzaklik', 'yas' ve 'fiyat' olmalıdır.
Kodu çalıştırdıktan sonra, model eğitilecek ve test seti üzerinde performansı değerlendirilecektir. Son olarak, yeni bir ev için fiyat tahmini yapılacaktır.
Modeli geliştirmek için yapabilecekleriniz:
- Veri seti boyutunu artırmak
- Farklı model mimarileri denemek
- Hiperparametre optimizasyonu yapmak
- Daha fazla özellik eklemek (örneğin, mahalle bilgisi, ev tipi gibi)
Bu kodu kendi veri setinize ve ihtiyaçlarınıza göre uyarlayabilirsiniz.
random_state=42)
# Özellikleri ölçeklendir
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
# Model oluştur
model = tf.keras.Sequential([
tf.keras.layers.Dense(64, activation='relu', input_shape=(4,)),
tf.keras.layers.Dense(32, activation='relu'),
tf.keras.layers.Dense(16, activation='relu'),
tf.keras.layers.Dense(1)
])
# Modeli derle
model.compile(optimizer='adam', loss='mean_squared_error')
# Modeli eğit
history = model.fit(X_train_scaled, y_train, epochs=100, batch_size=32,
validation_split=0.2, verbose=1)
# Model performansını değerlendir
test_loss = model.evaluate(X_test_scaled, y_test)
print(f"Test Loss: {test_loss}")
# Yeni bir ev için tahmin yap
yeni_ev = np.array([[4, 150, 5, 10]]) # [oda_sayisi, buyukluk,
sehir_merkezi_uzaklik, yas]
yeni_ev_scaled = scaler.transform(yeni_ev)
tahmin = model.predict(yeni_ev_scaled)
print(f"Tahmini Fiyat: {tahmin[0][0]}")