Logo Logo
  • Ana Sayfa
  • Hakkında
  • Kategoriler
    • Genel
    • İstatistik
    • Makine Öğrenme
    • Model Geliştirme
    • Sağlık
    • Teknoloji
  • Tüm Yazılarım
  • İletişim

İletişim

  • Email buluttevfik@gmail.com

Site Haritası

  • Ana Sayfa
  • Hakkında
  • İletişim

Sosyal Medya Adresleri

Makine Öğrenme Yöntemleri Kullanarak Eksik Verilere Atama Yapılması Üzerine Bir Vaka Çalışması: A Case Study on Assigning Missing Data Using Machine Learning (ML) Methods

  • ANA SAYFA
  • Blog Details
Kasım 29 2020
  • Makine Öğrenme

Veri bilimcilerin ya da veri analizleriyle uğraşan akademi ve saha çalışanların karşılaştığı problemlerin başında veri setindeki değişkenlerde eksik gözlemlerle diğer bir deyişle missing data gelmektedir. Literatürde eksik veri atama yöntemleri arasında bir çok yöntem bulunmakla birlikte öne çıkan yöntemlerden bazıları şöyledir:

  1. Eksik gözlemlere ortalama değer atama
  2. Eksik gözlemlere 0 değeri atama
  3. Eksik gözlemlere median değeri atama
  4. Eksik gözlemlere PMM yöntemi ile atama
  5. Eksik gözlemlere regresyon yöntemi ile atama
  6. Eksik gözlemlere EM (Expectation-Maximization) yöntemi ile atama

Bahsedilen bu yöntemlerin dışında eksik veri atama yöntemlerinden makine öğrenme algoritmalarından ya da yöntemlerinden de yararlanabilmektedir. Bunlardan bazıları ise şöyle özetlenebilir:

  1. Karar ağaçları (decision trees) yöntemi ile eksik gözlemlere atama yapma
  2. KNN (K Nearest Neighbor) yöntemi ile eksik gözlemlere atama yapma
  3. Rastgele Orman (RF) Algoritması ile eksik gözlemlere atama

Sayılan bu yöntemleri artırmak mümkündür. Bu çalışma kapsamında eksik veri atama yöntemi olarak ele alınacak ve üzerinde uygulama yapılacak yöntemler ise karar ağaçları, KNN ve RF makine öğrenme yöntemleri olacaktır. Çalışmada örnek uygulama yapılacak veri seti sentetik olarak üretilecektir. Diğer bir deyişle hipotetik olacaktır. Şimdi sırasıyla uygulama adımlarına geçebiliriz.

Yüklenen Kütüphaneler

Aşağıda görüleceği üzere Kütüphane sayısını oldukça fazla tuttum. Bunun nedeni diğer çalışmalarda bu kütüphaneleri kullanmamdır.

library<-c("reactable","crosstalk","dplyr","tibble","tidyr","ggplot2","formattable","ggthemes","readr","readxl","ggpubr","formattable", "ggstance", "stringr","explore", "lubridate","leaflet", "tidytext", "scales", "data.table", "CCA", "pastecs", "gtools", "rmarkdown", "knitr", "gtsummary", "writexl", "ppcor", "reshape2", "GGally", "CCP", "Hmisc", "VIM", "philentropy", "haven","mice")
loading<-sapply(library, require, character.only = TRUE)
as.vector(loading)

Tesadüfi sentetik (hipotetik) veri üretme

Bu kısımda 4 değişkenli bir veri seti basit tekrarlı örneklem yöntemi kullanılarak üretilecektir.

atama=c(1:10000, rep(NA, 10000))
set.seed(61)#aynı sonuçları almak için
v1=sample(atama, 1000, replace=TRUE)
v2=sample(atama, 1000, replace=TRUE)
v3=sample(atama, 1000, replace=TRUE)
v4=sample(atama, 1000, replace=TRUE)
veri<-cbind(v1, v2,v3,v4) %>% as_tibble()


formattable(head(veri, 10))#ilk 10 gözlem

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen ilk 10 gözlem aşağıda verilmiştir.

Eksik verileri görselleştirme

Burada veri setinde değişkene göre eksik veri olan gözlem sayısı ile ilgili değişkendeki gözlem sayıları içindeki oranı verilmiştir.

explore_all(veri)

Yukarıdaki R kod bloğunun çalıştırılmasından sonra eksik veri olan gözlem sayısı ile ilgili değişkendeki gözlem sayıları içindeki oranı aşağıda verilmiştir.

Karar ağaçları ile eksik veri atama

dt<-mice(veri, method = "cart")
formattable(head(mice::complete(dt,1),10))# Atama sonrası ilk 10 gözlem

Yukarıdaki R kod bloğunun çalıştırılmasından sonra karar ağaçları yöntemiyle yapılan atamaları gösteren ilk 10 gözlem mevcut gözlem değerleriyle birlikte aşağıda verilmiştir.

KNN (K Nearest Neighbor) Algoritması İle Eksik Veri Ataması Yapılması

KNN algortiması hem sınıflandırma hem de regresyon problemlerinin çözümünde kullanılabilmektedir. Buradan bakıldığında hem kategorik hem de sürekli ve kesikli nitelikte olan değişkenlerde eksik veri gözlemlerinin atanmasında alternatif non-parametrik denetimli (supervised) yöntemlerden birisidir.

eksikknn <- kNN(veri)
eksikknn[,1:4] %>% head(10) %>% formattable() #ilk 10 gözlem

Yukarıdaki R kod bloğunun çalıştırılmasından sonra KNN algoritmasıyla yapılan atamaları gösteren ilk 10 gözlem mevcut gözlem değerleriyle birlikte aşağıda verilmiştir.

Rastgele Orman (RF) Algoritması Kullanılarak Eksik Veri Ataması Yapılması

rfdf <- mice(veri, meth = "rf", ntree = 50, seed = 61)#ntree yetiştirilecek ağaç sayısını göstermektedir.

formattable(head(mice::complete(rfdf,1),10))# Atama sonrası ilk 10 gözlem

Yukarıdaki R kod bloğunun çalıştırılmasından sonra rastgele orman (RF) algoritmasıyla yapılan atamaları gösteren ilk 10 gözlem mevcut gözlem değerleriyle birlikte aşağıda verilmiştir.

Yapılan bu çalışma ile özellikle veri bilimi (data science) ile ilgilenen akademi ve saha çalışanlarına bir katkı sunulması amaçlanmıştır.

Daha önce RPubs platformunda eksik veri ataması yapılması üzerine örnek uygulama yaptığım çalışmanın linkini de aşağıda paylaşıyorum ilgilenenler için.

Makine Öğrenme Yöntemleri Kullanarak Eksik Gözlemlere Atama Yapma

Faydalı olması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla…

Yararlanılan Kaynaklar

  • RStudio Cloud: https://login.rstudio.cloud/
  • The R Project for Statistical Computing. https://www.r-project.org/
  • Alpar, R. (2017). Uygulamalı Çok Değişkenli İstatistiksel Yöntemler. 5. Baskı. Detay Yayıncılık.
  • Makine Öğrenme Yöntemleri Kullanarak Eksik Gözlemlere Atama Yapma. https://rpubs.com/tevfik1461/eksikveri
Önceki yazı Sonraki Yazı
Decision TreeEksik VeriK-En Yakın Komşu YöntemiKarar AğaçlarıKNNMachine LearningMakine ÖğrenmeMissing DataRandom ForestRF

Yorum Yaz Cevabı iptal et

Son Yazılar

  • Kanada Sağlık Sisteminde Bekleme Süreleri
  • Araştırma Metodolojisi Notları-II
  • Araştırma Metodolojisi Notları-I
  • Microsoft Excel’de Bulut Endeks-Beta [BE-β] Simülasyonu
  • R’da Statik ve Dinamik Haritalama Vaka Çalışmaları: Türkiye Örneği

Son Yorumlar

  1. Küresel İnovasyon Endeksi 2021 Yılı Raporu ve Türkiye - winally.com - Küresel İnovasyon Endeksi’nde Türkiye Ne Durumda?
  2. R’da Birliktelik Kuralları | canözkan - Apriori Algoritması Üzerine Bir Vaka Çalışması: A Case Study on Apriori Algorithm
  3. Tevfik BULUT - Python’da Şans Oyunları Perspektifinden Olasılık : Probability from Perspective of the Chance Games in Python
  4. Ahmet Aksoy - Python’da Şans Oyunları Perspektifinden Olasılık : Probability from Perspective of the Chance Games in Python
  5. Tevfik BULUT - Z Tablosuna Göre Güven Aralığının Hesaplanmasına Yönelik Bir Simülasyon Çalışması: A Simulation Study for Calculating Confidence Interval by Z Table

Arşivler

  • Ocak 2023
  • Ekim 2022
  • Eylül 2022
  • Nisan 2022
  • Mart 2022
  • Ekim 2021
  • Eylül 2021
  • Ağustos 2021
  • Temmuz 2021
  • Haziran 2021
  • Mayıs 2021
  • Nisan 2021
  • Şubat 2021
  • Ocak 2021
  • Aralık 2020
  • Kasım 2020
  • Ekim 2020
  • Eylül 2020
  • Ağustos 2020
  • Temmuz 2020
  • Haziran 2020
  • Mayıs 2020
  • Nisan 2020
  • Mart 2020
  • Şubat 2020
  • Ocak 2020
  • Aralık 2019
  • Kasım 2019
  • Ekim 2019
  • Eylül 2019
  • Ağustos 2019
  • Mayıs 2019
  • Şubat 2019
  • Aralık 2018
  • Eylül 2018
  • Ağustos 2018
  • Temmuz 2018
  • Mayıs 2018
  • Nisan 2018
  • Ekim 2017
  • Temmuz 2017
  • Haziran 2017
  • Mayıs 2017
  • Ocak 2017

Kategoriler

  • Genel
  • İstatistik
  • Makine Öğrenme
  • Model Geliştirme
  • Sağlık
  • Teknoloji

Kategoriler

  • Genel
  • İstatistik
  • Makine Öğrenme
  • Model Geliştirme
  • Sağlık
  • Teknoloji

Etiketler

Accuracy Basit Tesadüfi Örnekleme Bernoulli Olasılık Dağılımı Confusion Matrix Coronavirus Doğruluk Doğruluk Oranı Dünya Sağlık Örgütü EDA Epidemi Epidemiyology Epidemiyoloji Exploratory Data Analysis Exploratory Data Analysis (EDA) F1 Forecast Keşifsel Veri Analizi Kitle Olasılık Fonksiyonu Koronavirüs Koronavirüs Salgını Olasılık Olasılıklı Örneklem OSB Pandemi Point Estimation Point Forecast Prevalance Prevalans Probability Sampling R Recall Salgın Sağlık Bakanlığı Simple Random Sampling Tahmin TBATS TURKEY TÜRKİYE Veri Madenciliği WHO World Health Organization Yapay Zeka ÇKKV Örneklem Örneklem Büyüklüğü
Logo

Burada, gazete ve dergilerde yayınlanan çalışmalarımın tamamı çalışmakta olduğum kurumdan bağımsız olarak özel hayatımda yaptığım çalışmalardır. Dolayısıyla, burada yer alan çalışmalardan emeğe saygı adına kaynak gösterilmesi suretiyle azami ölçüde herkes yararlanabilir.

Site Haritası

  • Ana Sayfa
  • Hakkında
  • Blog
  • İletişim

Linkler

  • winally.com

Bana Ulaşın

Bu sayfa, bazı temel bilgilerin ve bir iletişim formunun yer aldığı bir iletişim sayfasıdır. Suç teşkil edecek, yasadışı, tehditkar, rahatsız edici, hakaret ve küfür içeren, aşağılayıcı, küçük düşürücü, kaba, müstehcen, ahlaka aykırı, kişilik haklarına zarar verici ya da benzeri niteliklerde içeriklerden doğan her türlü mali, hukuki, cezai, idari sorumluluk içeriği gönderen Kişilere aittir.

  • Email: buluttevfik@gmail.com

© Copyright 2022 Tevfik Bulut