Boston house prices dataset’ i her ne kadar bilinen bir dataset olmuş olsa da internette ann ( Artificial neural network ) ile bir çalışma bulamadım ve bu çalışma ortaya çıktı:)
Datasetin detaylarına ve içeriğine buradan ulaşabilirsiniz. Ve çalışmamıza ilgili kütüphaneleri ekleyerek başlıyoruz.

Öncelikle datatsetimizi dataframe olarak import ettikten sonra “describe()” methodu (24.satır) ile dataseti hakkında bir öngörü kazanıyoruz.
Veriler hakkında genel bir kanaate ulaştıktan sonra outlier verileri normalize etmek için “MinMaxScaler” class ını kullanıyoruz. Verilerimizin tamamı sayısal olduğu için tüm x değerleri (bağımsız değikenlerimiz) “MinMaxScaler” ile 0-1 değer aralığına çekiyoruz.

Elde ettiğimiz verilerimizi bir dataframe’ e aktarıyoruz.

FFNN için gerekli kütüphanelerimizi yükleyip parametrelerimizi veriyoruz. Aktivasyon fonksiyonu olarak verimize uygunlugundan dolayı “Relu” fonksiyonunu seçiyoruz. Dense parametrelerini ise x (13) featurelarımıza uygun olması için 13 ün katlarını veriyoruz. (100 -> 50 -> 25 gibi azalan bir eğri kurarak %90 oranında sonuç alındı.)
Diğer fonksiyonlardan bazıları

Peki diğer fonksiyonları niçin seçmedik?
Öğrenme işleminin iki önemli kavramı forward ve backward propagation dir. Fonksiyon seçerken backward propagation işleminde türevlenenilir değerler almak istiyoruz ki bir sonraki forward işlemi yaparken daha güncel ağırlık değerleriyle çalışalım. Bundan dolayı bu proje için “Relu” fonksiyonunu seçtim. Relu fonksiyonunun yerine daha gelişmiş denebilcek “LeakyRelu” fonksiyonunu da kullanabilirdik ama verilemiz az olmuş olsa da optimal bir güçte çalışmak adına %85 (en az istenilen sonuç değeri) değerini aldığım için fazlasını zorlamadım.:)))

X ve Y değişkenlerimizi ayırıyoruz.

Verilerimizi train ve test olarak ayırıyoruz.

Modelimizi fit ediyoruz.

Fix ettiğimiz modelimizi makineye vermediğimiz “y_test” verileriyle r2 funksiyonuna göre tahminleme % yüzdemizi alıyoruz. Sonuç olarak sağ tarafta da gözüktüğü üzere % 89 olaranın da başarı sağlıyoruz.


İlk Yorumu Siz Yapın