Veri Analizi Projelerim - 1 - Telefon Fiyatı Tahmini

Merhaba! Bugün sizler ile Veri Analizi ile ilgili yaptığım projelerimi anlatacağım. Toplamda 4 proje yaptım ve sizlere bu gönderide bir tanesini anlatacağım!



denizhan-şahin-ver-analizi-data-science-analytics-project


Veri Seti Özellikleri

Veri seti, 21 sütun ve 2000 satır bilgiye sahiptir. Veri seti herhangi bir boş veri bilgisine sahip değildir. Böylece boş veri alanları yerine herhangi bir veri eklemesi veya boş veri alanlarına sahip satırların silinmesine gerek kalmamıştır.
battery_power : Cihaz ile ilgili batarya gücünü belirtir.
blue : Cihaz ile ilgili bluetooth bilgisi verilir. 0 yok, 1 var anlamındadır.
clock_speed: Cihaz ile ilgili işlemci saat hızıdır. Ghz cinsinden girişi olmaktadır.
dual_sim: Cihaz, çift sim bilgisini bildirmektedir. 0 yok, 1 var anlamındadır.
fc: Cihaz ile ilgili ön kamera megapixel değerini bildirmektedir. Sayısal olarak değerler
bildirilmektedir.
int_memory: Cihaz ile ilgili depolama alanı GB cinsinden verilmiştir.
m_dep: Cihaz ile ilgili kamera sensörü derinlik bilgisi cm cinsi olarak bildirilmiştir.
four_g: Cihaz ile ilgili 4G bilgisi verilmiştir. 0 yok, 1 var anlamı olmaktadır.
mobil_wt: Cihaz ile ilgili gram cinsinden ağırlık verilmiştir.
n_cores: Cihaz üzerinde yer alan işlemcinin çekirdek sayısı bilgisini vermektedir.
pc: Cihaz üzerindeki ana kameranın megapixel değeri bildirilmiştir.
px_height: Cihaz kamerası tarafından çekilen görüntü yüksekliğini belirtmektedir.
px_width: Cihaz kamerası tarafından çekilen görüntünün genişliğini belirtmektedir.
ram: Cihaz ile ilgili RAM bilgisi bildirilmektedir.
scc_h: Ekran için cm cinsinden yükseklik belirtilmektedir.
sc_w: Ekran için cm cinsinden genişlik belirtilmektedir.
talk_time: Cihaz ile ilgili olarak kullanılma süresi belirtilmektedir.
three_g: Cihaz ile ilgili 3G bilgisi belirtilir. 0 yok, 1 var anlamına gelmektedir.
touch_screen: Cihaz üzerindeki dokunmatik ekran bilgisini verir. 0 yok, 1 var demektir.
wifi: Cihaz ile ilgili WiFi bilgisidir. 0 yok, 1 var anlamına gelmektedir.
price_range: 1,2,3,0 olmak üzere kategori bilgisini verir.

denizhan-şahin-ver-analizi-data-science-analytics-project



Veri seti, üzerindeki 1010 cihaz Bluetooth desteğine sahptir ve 990 cihaz bu özelliğe
sahip değildir. Veri setinde yer alan cihazlar için en düşük clock speed(0.5) için 413 cihaz vardır ve en
yüksek clock_speed(3.0) için 28 cihaz vardır.Veri seti içinde yer alan cihazların 1019 tanesi çift sim desteğine sahiptir ama 981 cihazbu desteğe sahip değildir.Veri setinde yer alan cihazlar için, ön kamera değeri düşü cihaz sayısı daha fazladır.Veri setinde yer alan cihazların 1043 tanesi 4G desteğine sahiptir ama geri kalanı budesteğe sahip değildir.Veri seti içindeki hafıza kapasitesi çeşitli boyutlar için birbirine yakın sayılarda dağılmıştır.
Veri seti, üzerindeki 1010 cihaz Bluetooth desteğine sahptir ve 990 cihaz bu özelliğe
sahip değildir.Veri setinde yer alan cihazlar için en düşük clock speed(0.5) için 413 cihaz vardır ve en
yüksek clock_speed(3.0) için 28 cihaz vardır.Veri seti içinde yer alan cihazların 1019 tanesi çift sim desteğine sahiptir ama 981 cihazbu desteğe sahip değildir.Veri setinde yer alan cihazlar için, ön kamera değeri düşü cihaz sayısı daha fazladır.Veri setinde yer alan cihazların 1043 tanesi 4G desteğine sahiptir ama geri kalanı budesteğe sahip değildir.Veri seti içindeki hafıza kapasitesi çeşitli boyutlar için birbirine yakın sayılarda dağılmıştır.
Veri setinde yer alan cihazlar için en yüksek kullanım süresi 124 cihaz ile birlikte 7 saatdeğeri olmaktadır. 93 cihaz ile birlikte ise 5 saat kullanım sayısına sahip cihazlarmevcuttur.
Veri setinde yer alan cihazların 1523 tanesi 3G desteğine sahiptir ve 477 cihaz bu desteğe sahip değildir.
Veri setinde 1006 cihaz dokunmatik ekrana sahiptir ama 994 cihaz ise dokunmatik
ekrana sahip değildir. Ayrıca 1014 cihaz WiFi desteğine sahiptir ama 986 cihaz WiFi desteğine sahip değildir. 1,2,3,0 kategorileri olmak üzere bir her bir kategori için 500 cihaz mevcuttur ve her
kategori için eşit dağılım söz konusudur.
Genel olarak batarya ortalaması 1238, işlemci saat hızı 1.5, ön kamera kapasitesi 0.5, hafıza kapasitesi 32 GB, telefon ağırlıkları 140 gram, çekirdek sayısı 4 ve 5 arası, RAM kapasitesi 2124 MB, kullanım süreleri ise 11 saat olmak üzere belirlenmiştir. Ayrıca fiyat kategorisi ise 1 ve 2 arasında değişmektedir.

denizhan-şahin-ver-analizi-data-science-analytics-project


Veri Seti için Korelasyon

Genel olarak veri seti için korelasyon grafiğine bakıldığında sütüunların birbirleri ile olan ilişkileri çok azdır. Ana kamera kapasitesi ile ön kamera kapasitesi 0.64 ilişkilidir.
3G ve 4G ise 0.58 olarak ilişkilidir. Ayrıca kamera ile çekile fotoğrafiçin ise fotoğraf yüksekliği ve genişliği ile 0.51 ilişki vardır.
Ekran yüksekliği ile ekran genişliği ise 0.51 ilişkiye sahiptir.Ayrıca RAM ile kategorik veriler ise 0.92 ilişkiye sahiptir.

denizhan-şahin-ver-analizi-data-science-analytics-project


denizhan-şahin-ver-analizi-data-science-analytics-project


Veri Seti Görselleştirme

Veri seti Seaborn kütüphanesi kullanılarak her bir sütunun tüm sütunlar ile ilişkisi incelenmiştir.

denizhan-şahin-ver-analizi-data-science-analytics-project


Makine Öğrenmesi için Veri Seti Ayırma


Bu adım için ilk olarak y(istenen değer) olarak price_sütunu değerleri alınmıştır. Geri kalan özellikler ile ise x olarak alınmaktadır ve bu değerler ile birlikte ise y değerinin bulunması hedeflenmektedir. Böylece x ile y kategorik verisi tahmini yapılmaktadır. Bu yol ilse Sklearn RandomForestRegressor için kullanılmıştır. Train veri sayısı 2000 ve Test verisi ise 2000'dir.
Sklearn içinde yer alan Model Selection ile ise Train ve Test verilerinin ayrılmasını sağlamıştır. x_train, x_test, y_train ve y_test verileri test boyutu yüzde %30 olarak belirlenmiştir. Train verileri 1400, test verileri ise 600 olarak ayarlanmıştır.

Sklearn Random Forest Regressorile Tahmin


Bu adıma yer alan n_estimators ile kullanılacak ağaç sayısı belirtilmiştir ve random_state ise 0 olarak belirlenmiştir.
Veri setinde yer alan satırlardan ise belirlenen değerler ile predict(tahmin) işlemi yapılmıştır.

TensorFlow ile Tahmin


Bu adım için ilk olarak Sklearn içinde yer alan Preprocessing ile önişleme yapılmıştır. MinMaxScaler ile birlikte ise belli bir aralıkta ölçeklendirme yapılmıştır. Bunu kullanılması ise birden fazla değer vardır ve herbirinin ölçeklendirme işlemi isefit_transform ile kullanılacak ortak bir yapıya uygun olarak ölçeklenmiştir.
TensorFlow içinde yer alan Sequantial ile bir model oluşturma, Dense ve Activation ile ise katmanlar oluşturulmuştur. Üç tane katman, her katman için ReLu fonksiyonu(doğruluk oranı yüksek) ve optimizer için ise Adam(Hızlı olduğu için ve daha stabil) fonksiyonu kullanılmıştır. Kayıp fonksiyonu için ise MeanSquaredError(Tahmin edilen ve gerçek veriler arası ortalama fark) kullanılmıştır.

Model eğitimi ise 512 veri aynı anda alınarak, toplamda 250 adımda gerçekleştirilmiştir.
Ayrıca model eğitimi sırasında history özelliği ile birlikte her adımdaki validation_loss ve loss değerleri için görselleştirme işlemi yapılmıştır. Ayrıca model eğitimi ise 200. adım için gradyan düşmesi olayı olmuştur ve fazla overfitting olmaması sağlanmıştır.
Ayrıca overfitting önleme için ise gerekli TensorFlow özelliklerinin kullanılmasına gerek duyulmamıştır. Daha sonra belirlenen sütunlar ile model tahmini yapılmıştır.

denizhan-şahin-ver-analizi-data-science-analytics-project



Yorum Gönder

Yorum yaptığınız için teşekkürler :)

Daha yeni Daha eski