Ana içeriğe atla

R Korelasyon Eğitimi

R’de korelasyonun temellerine giriş yapın: korelasyon katsayıları, korelasyon matrisleri, korelasyonları görselleştirme vb. hakkında bilgi edinin.
Güncel 3 Eki 2026  · 13 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

correlation

Bu eğitimde, bir dizi veri görselleştirme yöntemini ve bunların altında yatan istatistikleri inceleyeceksiniz. Özellikle bir veri çerçevesindeki değişkenler arasındaki eğilimleri ve ilişkileri belirlemeye odaklanarak.

Evet, korelasyon ve regresyon gibi kavramlara odaklanacaksınız! Önce R’de korelasyona giriş yapacaksınız. Ardından, ggplot2 ve GGally gibi paketleri kullanarak R’de korelasyon matrislerini nasıl çizebileceğinizi göreceksiniz. Son olarak, hangi tür korelasyonların mevcut olduğunu ve bunların ileri analizleriniz için neden önemli olduğunu inceleyeceksiniz.

Bu konuya daha derinlemesine dalmak isterseniz, DataCamp’in Correlation and Regression kursunu almayı düşünebilirsiniz.

Arka Plan

Bugünkü eğitimde, Kaggle’dan alınmış bir film veri setiyle çalışarak, değişkenler arasındaki ilişkileri nasıl daha iyi anlayabileceğinizi keşfedeceksiniz.

Analizimizin “elmaları elmalarla” kıyaslayacak şekilde olması için, örneğin para birimlerinin aynı birimleri kullanmasını sağlayarak veriyi hafifçe düzenledim. Bu adım olmadan, gross, budget ve profit gibi değişkenlerin istatistiksel analizi yanıltıcı olurdu. Orijinal veri setine erişebilirsiniz.

Veriyi İçe Aktarma

movies veri setine erişip kullanıma hazır hale getirmek için, verinizi bir veri çerçevesine aktarmak ve son derece özgün bir isim olan movies değişkeninde saklamak üzere read.csv() fonksiyonunu kullanabilirsiniz!

movies <- read.csv(url("http://s3.amazonaws.com/dcwoods2717/movies.csv"))

Başlamak için gereken tek şey bu!

Verinizin Temel İncelenmesi

Bir veri çerçevesi içe aktarıldıktan sonra, veriniz hakkında genel bir fikir edinmek iyi bir fikirdir. Önce, incelenen verinin yapısına bakın. Aşağıda, bu son derece basit ve faydalı str() fonksiyonunu kullanmanın sonuçlarını görebilirsiniz:

str(movies)
## 'data.frame':    2961 obs. of  11 variables:
##  $ title              : Factor w/ 2907 levels "10 Cloverfield Lane",..: 1560 2143 34 2687 1405 1896 2633 894 1604 665 ...
##  $ genre              : Factor w/ 17 levels "Action","Adventure",..: 6 12 5 5 5 3 2 8 3 8 ...
##  $ director           : Factor w/ 1366 levels "Aaron Schneider",..: 474 472 781 828 175 1355 1328 1328 968 747 ...
##  $ year               : int  1920 1929 1933 1935 1936 1937 1939 1939 1940 1946 ...
##  $ duration           : int  110 100 89 81 87 83 102 226 88 144 ...
##  $ gross              : int  3000000 2808000 2300000 3000000 163245 184925485 22202612 198655278 84300000 20400000 ...
##  $ budget             : int  100000 379000 439000 609000 1500000 2000000 2800000 3977000 2600000 8000000 ...
##  $ cast_facebook_likes: int  4 109 995 824 352 229 2509 1862 1178 2037 ...
##  $ votes              : int  5 4546 7921 13269 143086 133348 291875 215340 90360 6304 ...
##  $ reviews            : int  2 107 162 164 331 349 746 863 252 119 ...
##  $ rating             : num  4.8 6.3 7.7 7.8 8.6 7.7 8.1 8.2 7.5 6.9 ...

Bu veri çerçevesinde, konsoldan 11 değişkene ait 2961 gözlemin bulunduğunu görebilirsiniz.

Bir kenar notu olarak, her film sadece bir saat uzunluğunda olsa bile, hepsini izlemek için dört aydan fazla süre boyunca durmaksızın film izlemeniz gerekirdi!

Konsol ayrıca her değişkeni adıyla, sınıfıyla ve birkaç örnek değeriyle listeler. Bu, veri çerçevesinde neler olduğuna dair oldukça iyi bir fikir verir; bu anlayış, analitik çabalarımız için kritik önemdedir.

Veri çerçevemize hızlı, üst düzey bir genel bakış yapmamıza yardımcı olacak bir başka harika fonksiyon da summary(). str() çalıştırıldığında üretilen çıktıya benzerliklere ve farklara dikkat edin.

summary(movies)
##                          title            genre    
##  Home                       :   3   Comedy   :848  
##  A Nightmare on Elm Street  :   2   Action   :738  
##  Across the Universe        :   2   Drama    :498  
##  Alice in Wonderland        :   2   Adventure:288  
##  Aloha                      :   2   Crime    :202  
##  Around the World in 80 Days:   2   Biography:135  
##  (Other)                    :2948   (Other)  :252  
##               director         year         duration    
##  Steven Spielberg :  23   Min.   :1920   Min.   : 37.0  
##  Clint Eastwood   :  19   1st Qu.:1999   1st Qu.: 95.0  
##  Martin Scorsese  :  16   Median :2004   Median :106.0  
##  Tim Burton       :  16   Mean   :2003   Mean   :109.6  
##  Spike Lee        :  15   3rd Qu.:2010   3rd Qu.:119.0  
##  Steven Soderbergh:  15   Max.   :2016   Max.   :330.0  
##  (Other)          :2857                                 
##      gross               budget          cast_facebook_likes
##  Min.   :      703   Min.   :      218   Min.   :     0     
##  1st Qu.: 12276810   1st Qu.: 11000000   1st Qu.:  2241     
##  Median : 34703228   Median : 26000000   Median :  4604     
##  Mean   : 58090401   Mean   : 40619384   Mean   : 12394     
##  3rd Qu.: 75590286   3rd Qu.: 55000000   3rd Qu.: 16926     
##  Max.   :760505847   Max.   :300000000   Max.   :656730     
##                                                             
##      votes            reviews           rating     
##  Min.   :      5   Min.   :   2.0   Min.   :1.600  
##  1st Qu.:  19918   1st Qu.: 199.0   1st Qu.:5.800  
##  Median :  55749   Median : 364.0   Median :6.500  
##  Mean   : 109308   Mean   : 503.3   Mean   :6.389  
##  3rd Qu.: 133348   3rd Qu.: 631.0   3rd Qu.:7.100  
##  Max.   :1689764   Max.   :5312.0   Max.   :9.300  
## 

Tek bir komutla, R size veri çerçevemizdeki her değişken için bazı temel istatistiksel bilgileri döndürdü. Artık neyle çalıştığınızı bildiğinize göre, hadi biraz daha derine inelim ve veriyi keşfedelim!

Özellik Mühendisliği: Kârın Hesaplanması

Kullanılabilir değişkenleri incelediğinizde, bazı sayısal değişkenlerin veri çerçevemiz hakkında yeni içgörüler sağlayacak şekilde dönüştürülebileceği anlaşılıyor.

Örneğin, gross ve budget değişkenlerine sahipsiniz; o halde neden biraz alt kümeye ayırma kullanarak her film için kârı hesaplamayasınız?

Kârı profit = gross - budget formülüyle hesaplayabilirsiniz. Aşağıdaki DataCamp Light parçasında deneyin!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdih1cmwoXCJodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kY3dvb2RzMjcxNy9tb3ZpZXMuY3N2XCIpKSIsInNhbXBsZSI6IiMgRmlsbCBpbiB0aGUgYXBwcm9wcmlhdGUgdmFyaWFibGUgbmFtZXMgdG8gc3Vic2V0IVxucHJvZml0IDwtIG1vdmllcyQuLi4uLiAtIG1vdmllcyQuLi4uLlxuXG4jIENoZWNrIHRoZSByZXN1bHRcbnN1bW1hcnkocHJvZml0KSIsInNvbHV0aW9uIjoiIyBGaWxsIGluIHRoZSBhcHByb3ByaWF0ZSB2YXJpYWJsZSBuYW1lcyB0byBzdWJzZXQhXG5wcm9maXQgPC0gbW92aWVzJGdyb3NzIC0gbW92aWVzJGJ1ZGdldFxuXG4jIENoZWNrIHRoZSByZXN1bHRcbnN1bW1hcnkocHJvZml0KSIsInNjdCI6InRlc3Rfb2JqZWN0KFwicHJvZml0XCIsIHVuZGVmaW5lZF9tc2c9XCJEaWQgeW91IGNvcnJlY3RseSBkZWZpbmUgdGhlIHZhcmlhYmxlIGBwcm9maXRgP1wiLCBpbmNvcnJlY3RfbXNnID0gXCJOb3QgcXVpdGUhXCIpXG50ZXN0X2Vycm9yKClcbnN1Y2Nlc3NfbXNnKFwiRXhjZWxsZW50IVwiKSJ9

Harika!

Veri çerçevemizde oldukça fazla sayıda para kazanan ve para kaybettiren film olduğunu görebilirsiniz.

Filmlerimizin profit değeri muhtemelen ileride ilginç analizler için kullanılabilir; o halde profit’i veri çerçevemize yeni bir sütun olarak ekleyelim.

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdihcImh0dHA6Ly9zMy5hbWF6b25hd3MuY29tL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIikiLCJzYW1wbGUiOiIjIEFkZCBhIGNvbHVtbiBmb3IgYHByb2ZpdGAgdG8gYG1vdmllc2AgXG5tb3ZpZXMkLi4uLi4gPC0gbW92aWVzJC4uLi4uIC0gbW92aWVzJC4uLi4uIiwic29sdXRpb24iOiIjIEFkZCBhIGNvbHVtbiBmb3IgYHByb2ZpdGAgdG8gYG1vdmllc2Bcbm1vdmllcyRwcm9maXQgPC0gbW92aWVzJGdyb3NzIC0gbW92aWVzJGJ1ZGdldCJ9

Korelasyon

profit veri çerçevemize yeni bir sütun olarak eklendiğine göre, veri setinizdeki değişkenler arasındaki ilişkilere daha yakından bakmanın zamanı geldi.

Hadi profit’in her filmin rating değerine göre nasıl değiştiğine bakalım.

Bunun için R’nin yerleşik plot ve abline fonksiyonlarını kullanabilirsiniz; burada plot bir saçılım grafiği üretirken, abline aşağıda göreceğiniz üzere doğrusal model argümanını eklediğimiz için bir regresyon çizgisi veya “en iyi uyum çizgisi” oluşturur.

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdih1cmwoXCJodHRwOi8vczMuYW1hem9uYXdzLmNvbS9kY3dvb2RzMjcxNy9tb3ZpZXMuY3N2XCIpKVxubW92aWVzJHByb2ZpdCA8LSBtb3ZpZXMkZ3Jvc3MgLSBtb3ZpZXMkYnVkZ2V0XG5vcHRpb25zKHNjaXBlbiA9IDk5OSkiLCJzYW1wbGUiOiIjIENyZWF0ZSB0aGUgc2NhdHRlciBwbG90IHdpdGggYHJhdGluZ3NgIG9uIHRoZSB4LWF4aXMgYW5kIGBwcm9maXRgIG9uIHRoZSB5LWF4aXNcbnBsb3QobW92aWVzJC4uLi4sIG1vdmllcyQuLi4uKVxuXG4jIEFkZCBhIHJlZ3Jlc3Npb24gbGluZXdpdGggdGhlIGZvcm0gYGFibGluZShsbSh5IH4geCkpYFxuXG5hYmxpbmUobG0obW92aWVzJC4uLi4gfiBtb3ZpZXMkLi4uLikpIiwic29sdXRpb24iOiIjIENyZWF0ZSB0aGUgc2NhdHRlciBwbG90IHdpdGggYHJhdGluZ3NgIG9uIHRoZSB4LWF4aXMgYW5kIGBwcm9maXRgIG9uIHRoZSB5LWF4aXNcbnBsb3QobW92aWVzJHJhdGluZywgbW92aWVzJHByb2ZpdClcblxuIyBBZGQgYSByZWdyZXNzaW9uIGxpbmUgd2l0aCB0aGUgZm9ybSBgYWJsaW5lKGxtKHkgfiB4KSlgIFxuYWJsaW5lKGxtKG1vdmllcyRwcm9maXQgfiBtb3ZpZXMkcmF0aW5nKSkifQ==

Çıktı aşağı yukarı beklediğiniz gibi miydi?

R regression

Genel olarak, daha yüksek rating değerine sahip filmlerin daha yüksek profit eğiliminde olduğu görülüyor. Bu ifadeyi, en azından veri çerçevemizde, rating ile profit arasında pozitif bir korelasyon var şeklinde de ifade edebiliriz.

Öte yandan, grafiğe üstünkörü bir bakış bile, yüksek puan alan ancak gişede büyük başarı elde edemeyen çok sayıda film olduğunu ve oldukça kârlı olup nispeten düşük puan alan filmlerin de bulunduğunu ortaya koyuyor.

Korelasyon, nedensellik anlamına GELMEZ!

Korelasyon ile nedenselliği ayırt etmenize yardımcı olacak bir anekdot şöyle: Plajda bir dondurma tezgâhı işletiyorum. Şehirdeki yaya geçidi ihlali yapanların ortalama sayısı, dondurma satışlarım arttığında artma eğiliminde oluyor; ancak dondurmam insanları trafik kurallarını görmezden gelmeye mi itiyor, yoksa başka bir etken mi rol oynuyor? Dondurmamın harika olduğunu kabul ediyorum ama muhtemelen güneşli hava, insanların hem dondurma istemesinde hem de yaya geçitlerinde bekleyip güneşte yanmak istememesinde etkili. Dondurma satışlarımla yaya geçidi ihlali sayısı arasında bir ilişki (korelasyon) var, ancak bunun nedensel bir ilişki olduğunu kesin olarak söyleyemezsiniz.

Bu düşünceyi eğitim boyunca aklınızda bulundurun!

R’de Korelasyonun Hesaplanması

O halde movies içindeki değişkenler arasında hangi tür ilişkiler var ve bu ilişkileri nicel olarak nasıl değerlendirebilirsiniz?

İlk yol, cor() ile korelasyonlar ve korelasyon matrisleri üretmektir:

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdihcImh0dHA6Ly9zMy5hbWF6b25hd3MuY29tL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIilcbm1vdmllcyRwcm9maXQgPC0gbW92aWVzJGdyb3NzIC0gbW92aWVzJGJ1ZGdldFxub3B0aW9ucyhzY2lwZW4gPSA5OTkpIiwic2FtcGxlIjoiIyBDb21wdXRlIFBlYXJzb24gY29ycmVsYXRpb25cbmNvcihtb3ZpZXMkcmF0aW5nLCBtb3ZpZXMkcHJvZml0KVxuXG4jIENvcnJlbGF0aW9uIE1hdHJpeFxuY29yKG1vdmllc1ssNDoxMF0pIn0=

Not: Hangi korelasyon katsayısını hesaplamak istediğinizi belirtmek için yöntemi de belirtebilirsiniz. Dikkatli olun; bu korelasyonlar belirli varsayımlarla çalışır: Kendall ve Spearman yöntemleri yalnızca sıralı girdiler için anlamlıdır. Bu da, korelasyon katsayısını hesaplamadan önce verilerinizi sıralamanız gerektiği anlamına gelir.

Ayrıca varsayılan yöntem olan Pearson korelasyonu, değişkenlerinizin normal dağılıma sahip olduğunu, değişkenlerin her bir çifti arasında doğrusal bir ilişki bulunduğunu ve verinin regresyon çizgisi etrafında normal dağıldığını varsayar.

Ayrıca Hmisc paketinin bir parçası olan rcorr() fonksiyonunu da kullanarak Pearson ve Spearman korelasyonları için anlamlılık düzeylerini hesaplayabilirsiniz.

Ayrıca göreceksiniz ki korelasyon matrisi, değişken kümeleri arasındaki korelasyon katsayılarını gösteren bir tablodur. Bu, veri setinizdeki değişkenler arasında hangi ilişkilerin bulunduğuna dair ilk fikir edinmek için zaten harika bir yöntemdir; ancak bir sonraki bölümde bunu biraz daha derinlemesine inceleyelim.

Korelasyonu Görsel Olarak Keşfetme: R Korelasyon Matrisi

Bu sonraki keşifte, movies veri çerçevenizdeki kullanılabilir değişkenleri kullanarak bir korelasyon matrisi çizeceksiniz. Bu basit grafik, hangi değişkenlerin diğer değişkenlerle negatif, pozitif, zayıf veya güçlü korelasyona sahip olduğunu hızlıca görselleştirmenizi sağlar.

Bunu başarmak için GGally adlı kullanışlı bir paketi ve ggcorr() adlı bir fonksiyonu kullanacaksınız.

Bu fonksiyon çağrısının biçimi ggcorr(df) olacaktır; burada df, fonksiyonu çağırdığınız veri çerçevesinin adıdır. Bu fonksiyonun çıktısı, değişken adlarımızla etiketlenmiş, üçgen biçimli, renk kodlu bir matris olacaktır. Her değişkenin diğerlerine göre korelasyon katsayısını, değişkenin matris içindeki konumuna bağlı olarak matriste yatay ve/veya dikey okuyarak bulabilirsiniz.

Kulağa kafa karıştırıcı gelebilir ama pratikte gerçekten basit, o yüzden aşağıdaki kod parçasında deneyin!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdih1cmwoXCJodHRwOi8vczMuYW1hem9uYXdzLmNvbS8vZGN3b29kczI3MTcvbW92aWVzLmNzdlwiKSlcbm1vdmllcyRwcm9maXQgPC0gbW92aWVzJGdyb3NzIC0gbW92aWVzJGJ1ZGdldFxubGlicmFyeShcIkdHYWxseVwiKSIsInNhbXBsZSI6IiMgUmVwbGFjZSB0aGUgXCIuLi4uLlwiIHdpdGggdGhlIG5hbWUgb2YgdGhlIGRhdGEgZnJhbWUgXG5nZ2NvcnIoLi4uLi4pIiwic29sdXRpb24iOiIjIFJlcGxhY2UgdGhlIFwiLi4uLi5cIiB3aXRoIHRoZSBuYW1lIG9mIHRoZSBkYXRhIGZyYW1lIFxuZ2djb3JyKG1vdmllcykifQ==

correlation coefficient

Az önce oluşturduğunuz korelasyon matrisinde (bu arada harika iş çıkardınız!), year gibi bir değişkenle ilişkili satıra veya sütuna gidip, başka bir değişkenle eşleşen hücrenin rengine bakarak korelasyon katsayısını görebilirsiniz.

Örneğin year değişkenini incelediğinizde, budget ile zayıf, pozitif bir korelasyon ve rating ile benzer şekilde zayıf, negatif bir korelasyon olduğunu görebilirsiniz.

Korelasyon katsayıları her zaman -1 ile 1 arasındadır (uç değerler dahil). -1’lik bir korelasyon katsayısı, x-değerleri artarken y-değerlerinin aynı oranda azaldığı mükemmel bir negatif uyumu gösterir. 1’lik bir korelasyon katsayısı ise y-değerlerinin x-değerleriyle aynı oranda arttığı mükemmel bir pozitif uyumu gösterir.

Çoğu durumda, yukarıdaki year örneğinde olduğu gibi, korelasyon katsayısı -1 ile 1 arasında bir yerde olacaktır.

Korelasyon matrisinde gösterilen değişkenler hakkında biraz tuhaf bir şey fark ettiniz mi?

movies içindeki değişkenlerin hepsi mevcut değil!

Bunun nedeni, movies içindeki değişkenlerin hepsinin sayısal olmamasıdır. ggcorr fonksiyonu sayısal olmayan değişkenleri otomatik olarak göz ardı eder; bu da, matrisi oluşturmadan önce bu tür değişkenleri “alt kümeye ayırma” zahmetinden kullanıcıyı kurtararak zaman kazandırır.

Korelasyon matrisinizin gerçekten “göze çarpmasını” istiyorsanız (ya da benim gibi biraz renk körüyseniz), daha görsel açıdan etkileyici ve veri yüklü matrisler üretmek için yapabileceğiniz birkaç basit ayar var.

İzleyen kod parçasında, label argümanını dahil ettiniz; bu argüman TRUE veya FALSE olabilir. Varsayılan ayar FALSE’tur; ancak label = TRUE eklerseniz, her ilişkinin korelasyon katsayısı ilgili hücreye dahil edilir. Bu da, her katsayının değerini renk skalasına bakarak tahmin etme gereğini ortadan kaldırır.

label_alpha argümanı, korelasyon katsayısının gücüne bağlı olarak her bir etiketin opaklığını artırıp azaltmanıza olanak tanır. Bu, hızlı ve görsel veri analizinde son derece kullanışlıdır.

Sözümüze güvenmeyin, kendiniz deneyin!

Şimdi daha iyi bir korelasyon matrisi çizelim:

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6Im1vdmllcyA8LSByZWFkLmNzdih1cmwoXCJodHRwOi8vczMuYW1hem9uYXdzLmNvbS8vZGN3b29kczI3MTcvbW92aWVzLmNzdlwiKSlcbm92aWVzJHByb2ZpdCA8LSBtb3ZpZXMkZ3Jvc3MgLSBtb3ZpZXMkYnVkZ2V0XG5saWJyYXJ5KFwiR0dhbGx5XCIpIiwic2FtcGxlIjoiIyBGaWxsIGluIFwiVFJVRVwiIG9yIFwiRkFMU0VcIiB0byBzZWUgaG93IHRoZSBjb3JyZWxhdGlvbiBtYXRyaXggY2hhbmdlc1xuZ2djb3JyKG1vdmllcywgXG4gICAgICAgbGFiZWwgPSAuLi4uLCAgXG4gICAgICAgbGFiZWxfYWxwaGEgPSAuLi4uLikifQ==

correlation coefficient

İzleyen grafiklerde, “güçlü” bir korelasyona sahip bir grafik oluşturulduğunda, regresyon çizgisinin (x/y) eğiminin 1/1 veya -1/1’e daha yakın olduğunu; “zayıf” bir korelasyonda ise regresyon çizgisinin neredeyse hiç eğime sahip olmayabileceğini göreceksiniz. Eğim 1/1 veya -1/1’e ne kadar yakınsa, çizilen iki değişken o kadar yakından ilişkilidir.

movies veri çerçevemiz özelinde, böyle bir regresyon çizgisi değişkenlerinizin doğası hakkında güçlü içgörüler sağlayabilir ve bu değişkenler arasında bir karşılıklı bağımlılığa işaret edebilir.

Örneğin, daha önce rating üzerindeki profit grafiğinizde, regresyon çizgimizin orta düzeyde, pozitif bir eğime sahip olduğunu gördünüz. Korelasyon matrisinize geri baktığınızda, bu iki değişkenin korelasyon katsayısının 0,3 olduğunu görüyorsunuz.

Makuldür, değil mi?

Korelasyon Türleri

Şimdi önceki bölümde gördüğünüz farklı korelasyon türlerini gösteren ek grafiklere bakalım!

Güçlü Korelasyon: Oylar ve İncelemelerin Grafiği

Güçlü, pozitif korelasyona sahip iki değişkeni çizerek başlayalım.

Korelasyon matrisimize baktığımızda, votes ile reviews değişkenlerinin 0,8’lik bir korelasyon değeriyle kriterlerinize uyduğunu görüyoruz. Bu, eğimimizin 1/1’e nispeten yakın olması gerektiği anlamına gelir.

Bu alıştırmada ve sonraki alıştırmalarda ggplot2 paketini kullanacaksınız. ggplot2 paketi, etkileyici veri görselleştirmeleri oluşturmak için kullanılabilen çok yönlü bir araç setidir.

Bu durumda, ggplot2 paketindeki qplot fonksiyonundan yararlanacaksınız; bu fonksiyon, geom (geometri) argümanına iletilen grafik türüne bağlı olarak birçok farklı grafiği üretebilir.

Aşağıdaki kod parçasında, geom iki tür geometri içeren bir vektöre ayarlanmıştır: point ve smooth. point bir saçılım grafiği, smooth ise bir eğilim çizgisi üretir. Ayrıca method’un lm olarak ayarlandığını da fark edeceksiniz; bu, eğilim çizgisinin daha önce profit ile years grafiğimizde oluşturulan tanıdık düz regresyon çizgisi olacağı anlamına gelir.

Kısacası, etkileyici veri görselleştirmelerini bir çırpıda oluşturmanın ne kadar kolay olduğunu öğreneceksiniz!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6ImxpYnJhcnkoXCJnZ3Bsb3QyXCIpXG5tb3ZpZXMgPC0gcmVhZC5jc3YodXJsKFwiaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIikpXG5tb3ZpZXMkcHJvZml0IDwtIG1vdmllcyRncm9zcyAtIG1vdmllcyRidWRnZXRcbm9wdGlvbnMoc2NpcGVuID0gOTk5KSIsInNhbXBsZSI6IiMgUGxvdCB2b3RlcyB2cyByZXZpZXdzXG5xcGxvdChtb3ZpZXMkLi4uLi4sIFxuICAgICAgbW92aWVzJC4uLi4uLCBcbiAgICAgIGRhdGEgPSAuLi4uLiwgXG4gICAgICBnZW9tID0gYyhcInBvaW50XCIsIFwic21vb3RoXCIpLCBcbiAgICAgIG1ldGhvZCA9IFwibG1cIiwgXG4gICAgICBhbHBoYSA9IEkoMSAvIDUpLCBcbiAgICAgIHNlID0gRkFMU0UpIiwic29sdXRpb24iOiIjIFBsb3QgdGhlIHZvdGVzIHZzIHJldmlld3NcbnFwbG90KG1vdmllcyR2b3RlcywgXG4gICAgICBtb3ZpZXMkcmV2aWV3cywgXG4gICAgICBkYXRhID0gbW92aWVzLCBcbiAgICAgIGdlb20gPSBjKFwicG9pbnRcIiwgXCJzbW9vdGhcIiksIFxuICAgICAgbWV0aG9kID0gXCJsbVwiLCBcbiAgICAgIGFscGhhID0gSSgxIC8gNSksIFxuICAgICAgc2UgPSBGQUxTRSkifQ==

positive R correlation

Yukarıdaki qplot fonksiyonunda dahil edilen alpha argümanını fark etmiş olabilirsiniz. qplot içindeki alpha kullanımı, ggcorr’de korelasyon katsayısı etiketlerinin opaklığını değiştirdiği gibi, saçılım grafiğindeki noktalara opaklık gradyanı uygular.

Kurduğunuz yapılandırmada, bir noktanın tam opaklığa ulaşması için üzerine 5 başka noktanın binmesi gerekir. alpha paydasındaki sayıyı artırıp azaltmak, bir noktanın opaklığının değişmesi için gereken üst üste binme sayısını etkiler. Bu estetiği kullanmanın bir nedeni, kullanıcıların grafiklerindeki veri noktası yoğunlaşmalarını hızla belirlemesine yardımcı olmasıdır; bu da sırf bir bakışla verilerimize dair yeni içgörüler ortaya çıkarabilir.

Devam edin, kodla oynayın ve nasıl çalıştığını kendiniz görün!

Zayıf Korelasyon: Yıllara Göre Kârın Grafiği

Şimdi profit ile years’ı çizerek “zayıf”, negatif korelasyonun nasıl göründüğüne bakalım. Bu kez herhangi bir method belirtilmedi, dolayısıyla eğilim çizgimiz bu fonksiyonun varsayılanı olan eğri uydurma (kıvrımlı bir eğri) biçiminde veriye göre değişecek. Eğilim çizgisinin belirli bölümleri boyunca, eğrinin güven aralığına göre boyutu artıp azalan açık gri bir alan olduğunu fark edeceksiniz.

Güven aralığı kavramına aşina değilseniz endişelenmeyin! İşi R yapacak ve bu kavram bu alıştırmadan sonra daha iyi açıklanacaktır.

Şimdilik, boşlukları gerekli kodla doldurun ve gözlemleyin!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6ImxpYnJhcnkoXCJnZ3Bsb3QyXCIpXG5tb3ZpZXMgPC0gcmVhZC5jc3YodXJsKFwiaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIikpXG5tb3ZpZXMkcHJvZml0IDwtIG1vdmllcyRncm9zcyAtIG1vdmllcyRidWRnZXRcbm9wdGlvbnMoc2NpcGVuID0gOTk5KSIsInNhbXBsZSI6IiMgUGxvdCBwcm9maXQgb3ZlciB5ZWFyc1xucXBsb3QobW92aWVzJHllYXIsIFxuICAgICAgbW92aWVzJHByb2ZpdCwgXG4gICAgICBkYXRhID0gbW92aWVzLCBcbiAgICAgIGdlb20gPSBjKFwicG9pbnRcIiwgXCJzbW9vdGhcIiksIFxuICAgICAgYWxwaGEgPSBJKDEgLyA1KSkiLCJzb2x1dGlvbiI6IiMgUGxvdCBwcm9maXQgb3ZlciB5ZWFyc1xucXBsb3QobW92aWVzJHllYXIsIFxuICAgICAgbW92aWVzJHByb2ZpdCwgXG4gICAgICBkYXRhID0gbW92aWVzLCBcbiAgICAgIGdlb20gPSBjKFwicG9pbnRcIiwgXCJzbW9vdGhcIiksIFxuICAgICAgYWxwaGEgPSBJKDEgLyA1KSkifQ==

weak correlation

Artık güven aralığını ve yumuşatma eğrisini iş başında görme fırsatı bulduğunuza göre, hangi gözlemleri yapabilirsiniz?

  • İlk olarak, grafiğin başlangıç kısmında profit’in her year ile birlikte artıyor gibi göründüğünü görüyorsunuz.
  • İkincisi, yumuşatma eğrisinden ayrılan gri alanın başlangıçta oldukça büyük olduğunu ve veri noktalarının (veya gözlemlerin) sayısının oldukça az olduğunu fark ediyorsunuz.
  • Üçüncüsü, eğri daha yoğun bir gözlem grubuna doğru ilerledikçe, gri alan küçülüyor ve neredeyse eğriye yapışıyor; bu arada eğri daha sonraki year’larda düşüşe geçiyor.

Sonuç olarak, güven aralığını yumuşatma eğrisiyle birlikte çizmek, regresyon çizgimize eşlik eden belirsizlik miktarını görmemizi sağlar. Bu belirsizlik, daha az gözlemle artar ve daha çok gözlemle azalır.

Bu, değişkenlerimiz arasındaki ilişkinin veri çerçevesi boyunca nasıl değiştiğini görselleştirmede ve gözlem yoğunluklarının çizilen eğriyi nasıl değiştirdiğini ortaya koymada oldukça yardımcıdır.

Buradaki uyarı, grafiğin biraz yanıltıcı olabilmesidir; çünkü değişkenleriniz arasında pozitif mi yoksa negatif mi bir korelasyon olduğunu görsel olarak ayırt etmek zor olabilir.

Şimdi profit ile year’ı, votes ile reviews’ı çizdiğiniz şekilde çizelim: her argümandaki “…..” yerine yıllar x ekseninde, profit ise y ekseninde olacak şekilde uygun ifadeleri yerleştirin. “data”nın hangi veri çerçevesine eşit olduğunu belirtmeyi unutmayın!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6ImxpYnJhcnkoXCJnZ3Bsb3QyXCIpXG5tb3ZpZXMgPC0gcmVhZC5jc3YodXJsKFwiaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIikpXG5tb3ZpZXMkcHJvZml0IDwtIG1vdmllcyRncm9zcyAtIG1vdmllcyRidWRnZXRcbm9wdGlvbnMoc2NpcGVuID0gOTk5KSIsInNhbXBsZSI6IiMgUGxvdCB0aGUgeWVhcnMgb24gdGhlIHgtYXhpcywgcHJvZml0IG9uIHRoZSB5LWF4aXNcbnFwbG90KG1vdmllcyQuLi4uLiwgXG4gICAgICBtb3ZpZXMkLi4uLi4sIFxuICAgICAgZGF0YSA9IC4uLi4uLCBcbiAgICAgIGdlb20gPSBjKFwicG9pbnRcIiwgXCJzbW9vdGhcIiksIFxuICAgICAgbWV0aG9kID0gXCJsbVwiLCBcbiAgICAgIGFscGhhID0gSSgxIC8gNSksIFxuICAgICAgc2UgPSBGQUxTRSkiLCJzb2x1dGlvbiI6IiMgUGxvdCB0aGUgeWVhcnMgb24gdGhlIHgtYXhpcywgcHJvZml0IG9uIHRoZSB5LWF4aXNcbnFwbG90KG1vdmllcyR5ZWFyLCBcbiAgICAgIG1vdmllcyRwcm9maXQsIFxuICAgICAgZGF0YSA9IG1vdmllcywgXG4gICAgICBnZW9tID0gYyhcInBvaW50XCIsIFwic21vb3RoXCIpLCBcbiAgICAgIG1ldGhvZCA9IFwibG1cIiwgXG4gICAgICBhbHBoYSA9IEkoMSAvIDUpLCBcbiAgICAgIHNlID0gRkFMU0UpIn0=

negative correlation

Korelasyon matrisinize geri baktığınızda, profit ile year’ın korelasyon katsayısının -0,1 olduğunu görüyorsunuz; bu, en iyi uyum çizgisi içeren grafikte, eğri uydurma kullanılan grafiğe kıyasla daha kolay görselleştirilebilir.

Hepsini Bir Araya Getirmek

GGally içinde kullanılabilen bir diğer güçlü fonksiyon olan ggpairs’a şimdi göz atalım. Bu fonksiyon harikadır; çünkü kullanıcıların, birden fazla değişkenin korelasyon katsayısını, bir saçılım grafiği (güven aralığıyla birlikte bir en iyi uyum çizgisi dahil) ve bir yoğunluk grafiğiyle birlikte gösteren bir matris oluşturmasına olanak tanır.

Bu tek fonksiyonu kullanarak, bu eğitimde ele aldığınız her şeyi özlü ve kolay anlaşılır bir şekilde etkili biçimde birleştirebilirsiniz.

Aşağıdaki kod parçasında, veri çerçevesinden en sevdiğiniz üç değişkeni seçin (alt kümeye ayırma gerekmez!), yerleştirin ve oynayın!

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6ImxpYnJhcnkoXCJnZ3Bsb3QyXCIpXG5saWJyYXJ5KFwiR0dhbGx5XCIpXG5tb3ZpZXMgPC0gcmVhZC5jc3YodXJsKFwiaHR0cDovL3MzLmFtYXpvbmF3cy5jb20vL2Rjd29vZHMyNzE3L21vdmllcy5jc3ZcIikpXG5tb3ZpZXMkcHJvZml0IDwtIG1vdmllcyRncm9zcyAtIG1vdmllcyRidWRnZXRcbm9wdGlvbnMoc2NpcGVuID0gOTk5KSIsInNhbXBsZSI6IiMgUGx1ZyBpbiB5b3VyIHRocmVlIGZhdm9yaXRlIHZhcmlhYmxlcyBhbmQgdGlua2VyIGF3YXkhXG5nZ3BhaXJzKG1vdmllcywgXG4gICAgICAgIGNvbHVtbnMgPSBjKFwiLi4uLi5cIiwgXCIuLi4uLlwiLCBcIi4uLi4uXCIpLCBcbiAgICAgICAgdXBwZXIgPSBsaXN0KGNvbnRpbnVvdXMgPSB3cmFwKFwiY29yXCIsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IDEwKSksIFxuICAgICAgICBsb3dlciA9IGxpc3QoY29udGludW91cyA9IFwic21vb3RoXCIpKSIsInNvbHV0aW9uIjoiIyBQbHVnIGluIHlvdXIgdGhyZWUgZmF2b3JpdGUgdmFyaWFibGVzIGFuZCB0aW5rZXIgYXdheSFcbmdncGFpcnMobW92aWVzLCBcbiAgICAgICAgY29sdW1ucyA9IGMoXCJjYXN0X2ZhY2Vib29rX2xpa2VzXCIsIFwiYnVkZ2V0XCIsIFwicHJvZml0XCIpLCBcbiAgICAgICAgdXBwZXIgPSBsaXN0KGNvbnRpbnVvdXMgPSB3cmFwKFwiY29yXCIsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IDEwKSksIFxuICAgICAgICBsb3dlciA9IGxpc3QoY29udGludW91cyA9IFwic21vb3RoXCIpKSJ9

correlation R matrix

Tahmin edebileceğiniz gibi, bir tür grafiğin ideal olduğu pek çok senaryo vardır — kilit nokta, hangi görselleştirme tekniklerinin mevcut olduğunu, bunların nasıl kullanılacağını ve nihai sonucun ne anlama geldiğini öğrenmektir!

İleriye Bakış

Bu eğitimde çok şey öğrendiniz; sonuna kadar geldiğiniz için tebrikler!

Umarım bu kavramları kendi analitik yolculuklarınızda kullanabilirsiniz! Bunlar R’de veri keşfinin gerçekten temelleridir ve verinizi analiz edip modellemeye başlamadan önce onu iyi tanıdığınızdan emin olmak için yapabileceğiniz çok daha fazla şey var. Neden çabalarınızı bir adım öteye taşımayıp DataCamp’in Exploratory Data Analysis kursuna başlamayasınız?

Bu arada, eğer movies veri setiyle devam etmek istemiyorsanız, Kaggle’a uğrayıp keşfetmek için zengin ve ilgi çekici bir veri seti bulmanızı öneririm!

Konular
R
İlgili

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör