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

Veri Madenciliği (Data Mining): Web Üzerindeki Metinlerin Keşifsel Veri Analizi Üzerine Bir Vaka Çalışması

  • ANA SAYFA
  • Blog Details
Ağustos 4 2018
  • İstatistik

Veri madenciliği alanına giren kelime bulutu üzerine yapılan ilk uygulamada alınan metin (text) verisi üzerinde uygulama yapılmıştı. Şimdi online platformlarda yani web sitelerinde bulunan veri tabanları üzerinde yine özgün örnek bir uygulama yapalım. Örneği yapılacak çalışma, Uluslararası Kızıl Haç Komitesi (The International Committee Of The Red Cross) tarafından hazırlanan 1914-1917 arası yılları anlatan bir rapora dayanmaktadır. Raporun adı Mısırda Türk Mahkumları (Turkish Prisoners in Egypt ) olup, 2004 yılında 76 sayfa olarak yayınlanmıştır.

Uygulama adımları bir önceki örnekte açıklandığı için bu kısımda doğrudan uygulamaya geçilecektir.

İlk olarak raporun edinildiği web adresini de belirtelim. Web adresi, “http://www.gutenberg.org/cache/epub/10589/pg10589.txt” dir. Şimdide kullanılan kod bloklarını yazalım.

Kod Bloğu-1

filePath <- "http://www.gutenberg.org/cache/epub/10589/pg10589.txt"
text <- readLines(filePath)
docs <- Corpus(VectorSource(text))
inspect(docs
toSpace <- content_transformer(function (x , pattern ) gsub(pattern, " ", x))
docs <- tm_map(docs, toSpace, "/")
docs <- tm_map(docs, toSpace, "@")
docs <- tm_map(docs, toSpace, "\\|")
docs <- tm_map(docs, content_transformer(tolower))
docs <- tm_map(docs, removeNumbers)
docs <- tm_map(docs, removeWords, stopwords("english"))
docs <- tm_map(docs, removeWords, c("agr", "will", "one", "two","gutenberg", "english", "offic","hospit", "per"))
docs <- tm_map(docs, removePunctuation)
docs <- tm_map(docs, stripWhitespace)
docs <- tm_map(docs, stemDocument)
dtm <- TermDocumentMatrix(docs)
m <- as.matrix(dtm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
#En çok tekrarlanan 10 kelime
head(d, 10)

#Kelime bulutu kod bloğu (en az bir en fazla 200 kez tekrarlanan kelimeler alınmıştır)r)
set.seed(1234)
wordcloud(words = d$word, freq = d$freq, min.freq = 1,
          max.words=200, random.order=FALSE, rot.per=0.35, 
          colors=brewer.pal(8, "Dark2"))

Yukarıdaki kod bloğundan sonra aşağıdaki kelime bulutu elde edilmiş olur.

Bu işlemden sonra sıklık terimlerine dayalı olarak sıklık grafiği oluşturulur. Bu işlemin kod bloğu aşağıda verilmiştir.

Kod Bloğu-2

###Grafik oluşturmak için
library(ggplot2)
str(d)
y<-head(d, 10)
y
ggplot(y)+geom_point(aes(freq, word),col="red",size=5, shape="+")+
labs(subtitle=NULL, y="Kelimeler", x="Kelime Sayısı",title="En Sık 10 Kelime", caption = "Source:TBulut")+
xlim(42,187)+
  theme(plot.title = element_text(family = "Trebuchet MS", color="#666666", face="bold", size=18, hjust=0.5)) +
theme(axis.title = element_text(family = "Trebuchet MS", color="#666666", face="bold", size=12))

Kod bloğunun çalıştırılmasından sonra elde edilen kelime sıklık grafiği aşağıdaki gibidir.

En sık 10 kelimeyi gösteren Grafik elde edildikten sonra veri setindeki grupları belirleyerek kümelemeye olanak tanıyan hiyerarşik küme analizi (Hierarchical Cluster Analysis) yapılmıştır. Elde edilen sonuçlar, bu yöntemde küme dendogramı (cluster dendgram) aracılığıyla sunulur. Gözlemleri ağaçın dallarına benzer bir şekilde sunmaya yarayan dendrogram kelime grupları arasındaki ilişkiyi gösterir. Burada kümeler arasındaki uzaklıkların hesaplanmasında öklidyen uzaklık yöntemi kullanılmıştır. Hiyerarşik küme analizinde kullanılan kod bloğu aşağıda sunulmuştur.

Kod Bloğu-3

k<-head(d,20)
m  <- as.matrix(k)
distMatrix <- dist(m, method="euclidean")
library(cluster)   
fit <- hclust(distMatrix, method="complete")
fit 
plot(fit, hang=-1)

Kod bloğunun çalıştırılmasından sonra elde edilen dendrogram aşağıdaki gibidir.

 

Yapılan bu çalışmaların, özellikle keşifsel veri analizi (exploratory data analysis) ve nitel araştırma alanına giren içerik analizi (content analysis) noktasında önemli bir katkı sunacağı inancındayım.

Not: Emeğe saygı adına, yapılan çalışmanın başka bir mecrada ya da ortamda paylaşılması halinde alındığı yer adının belirtilmesini rica ederim.

Saygılarımla.

Önceki yazı Sonraki Yazı
Case StudyClusteringContent AnalysisData MiningDendrogramDoğal Dil İşlemeHierarchical Cluster AnalysisHiyerarşik Küme Analiziİçerik AnaliziKelime BulutuKümelemeMetin MadenciliğiNatural Language ProcessingNLPText MiningVaka ÇalışmasıWord Cloud

3 Comments

ismail elibol
Ağustos 4, 2018

Baktım çok iyi

Samsung Galaxy akıllı telefonumdan gönderildi.

Reply
duygu değirmenciler
Ağustos 4, 2018

Türkçe yazın için değerli bir kaynak olumuş hocam. Kodlarınızın hepsini kendi araştırma ödevimde denedim.
Açıklayıcı paylaşımınız çin teşekkür ederim.
Saygılarımla,

Reply
Tevfik BULUT
Ağustos 4, 2018

Faydalı olduğuna sevindim Duygu hanım. Kolaylıklar dilerim.

Reply

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