Ekonometri Vize Proje

Ilk Ders Yapılanlar

  • R yükleme
  • Rmarkdown başlangıç
  • Web sayfası hazırlama
  • İnternete yükleme

Formül

\[c^2 = a^2 + b^2 \]

Türkiye göçmen grafiği

yillar <- c(2010, 2011, 2012, 2013, 2014)
gocmen_sayisi <- c(10000, 12000, 15000, 14000, 16000)


veri <- data.frame(Yil = yillar, Gocmen_Sayisi = gocmen_sayisi)

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
ggplot(veri, aes(x = Yil, y = Gocmen_Sayisi)) +
  geom_line() +
  geom_point() +
  labs(x = "Yıl", y = "Göçmen Sayısı", title = "Türkiye'deki Yıllara Göre Göçmen Sayısı")

Makine Öğrenmesi

Makine öğrenmesi, bilgisayarların veri kullanarak öğrenmelerini sağlayan bir teknolojidir. Bu teknoloji, veriye dayalı olarak belirli görevleri gerçekleştirmek için algoritmalar kullanır. Örneğin, resimlerde nesneleri tanıma, e-postalardaki spam mesajlarını tespit etme veya finansal verileri analiz etme gibi görevlerde kullanılabilir. Makine öğrenmesi, veriye dayalı öğrenme ve tahmin yapma süreçlerini otomatikleştirir ve genellikle denetimli, denetimsiz veya pekiştirmeli öğrenme olarak gruplandırılır. Bu teknoloji, birçok endüstride büyük veri analitiği, yapay zeka ve otomasyon alanlarında kullanılır.

Kaggle Projesi

Spaceship Titanic Tanıtım

2912 yılına hoş geldiniz, veri bilimi becerilerinizin bir kozmik gizemi çözmek için gerektiği bir zamandayız. Dört ışık yılı uzaklıktan bir ileti aldık ve durum pek iç açıcı değil.

Uzay Gemisi Titanic, yaklaşık bir ay önce fırlatılan bir yıldızlararası yolcu gemisiydi. Neredeyse 13.000 yolcusuyla gemi, güneş sistemimizden üç yeni yaşanabilir ekzoplanete yolcu taşıyarak ilk seyahatini başlattı.

İlk hedefi sıcak 55 Cancri E olan Titanic, Alpha Centauri’yi dolaşırken bir toz bulutunun içinde gizlenmiş bir uzayzaman anomalisiyle çarpıştı. Ne yazık ki, adını 1000 yıl önceki gemiden alan bu gemi benzer bir kaderi paylaştı. Gemi bütünlüğünü korudu ancak yolcuların neredeyse yarısı alternatif bir boyuta taşındı!

Kurtarma ekiplerine yardımcı olmak ve kayıp yolcuları kurtarmak için, geminin hasar görmüş bilgisayar sisteminden kurtarılan kayıtları kullanarak anomaliden etkilenen yolcuları tahmin etme görevi size veriliyor.

Onları kurtararak ve tarihi değiştirerek yardımcı olun!

Ortalama, standart sapma, kovaryans ve korelasyon nedir?

  • Ortalama (Mean): Bir veri setindeki değerlerin toplamının, veri setindeki toplam öğe sayısına bölünmesiyle elde edilen sayıdır. Örneğin, bir sınıftaki öğrencilerin notlarının ortalaması, tüm öğrencilerin notlarının toplamının öğrenci sayısına bölünmesiyle bulunur.

  • Standart Sapma (Standard Deviation): Bir veri setindeki değerlerin ne kadar yayıldığını ölçen bir istatistik değeridir. Standart sapma, ortalama etrafındaki varyansı gösterir. Daha düşük bir standart sapma, değerlerin ortalamaya yakın olduğunu, daha yüksek bir standart sapma ise değerlerin daha çok dağıldığını gösterir.

  • Kovaryans (Covariance): İki değişken arasındaki ilişkinin değişkenlik ölçüsüdür. Pozitif bir kovaryans, iki değişkenin birlikte artma eğiliminde olduğunu gösterirken, negatif bir kovaryans, bir değişken artarken diğerinin azaldığını gösterir.

  • Korelasyon (Correlation): İki değişken arasındaki ilişkinin gücünü ve yönünü ölçen istatistiksel bir ölçüdür. Korelasyon katsayısı, -1 ile +1 arasında değer alır. +1 mükemmel pozitif korelasyonu, -1 mükemmel negatif korelasyonu ve 0 ise herhangi bir ilişki olmadığını gösterir.

Bir şirketin hisse senedi fiyatlarıyla ilgili olarak bir yıl boyunca her ayın sonunda veriler toplanmıştır. Aşağıdaki veriler, hisse senedi A’nın fiyatları ile hisse senedi B’nin fiyatları arasındaki ilişkiyi göstermektedir:

Aylar: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

Hisse Senedi A Fiyatları ($): 10, 12, 14, 18, 20, 22, 24, 28, 30, 32, 34, 38

Hisse Senedi B Fiyatları ($): 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30

Şimdi, bu verilere dayanarak ortalama, standart sapma, kovaryans ve korelasyonu hesaplayabiliriz

  • Ortalama:

  • Hisse Senedi A için ortalama: 10 + 12 + 14 + 18 + 20 + 22 + 24 + 28 + 30 + 32 + 34 + 38 = 282

  • Toplam hisse senedi sayısı = 12

  • Ortalama = 282 / 12 = 23.5$

  • Hisse Senedi B için ortalama: 8 + 10 + 12 + 14 + 16 + 18 + 20 + 22 + 24 + 26 + 28 + 30 = 230

  • Toplam hisse senedi sayısı = 12

  • Ortalama = 230 / 12 = 19.17$

  • Standart Sapma:

  • Hisse Senedi A için standart sapma:

  • Standart sapma = √[Σ(xi - μ)² / N]

  • N = 12 (hisse senedi sayısı)

  • μ = 23.5 (hisse senedi A için ortalama) xi değerleri hisse senedi A fiyatlarıdır.

  • Hisse Senedi B için standart sapma:

  • Standart sapma = √[Σ(xi - μ)² / N] N = 12 (hisse senedi sayısı) μ = 19.17 (hisse senedi B için ortalama) xi değerleri hisse senedi B fiyatlarıdır.

  • Kovaryans:

  • Kovaryans = Σ[(xi - μx) * (yi - μy)] / N μx = 23.5 (hisse senedi A için ortalama) μy = 19.17 (hisse senedi B için ortalama) xi ve yi değerleri hisse senedi A ve B fiyatlarıdır.

  • Korelasyon:

  • Korelasyon = Kovaryans / (standart sapma A * standart sapma B)

Train ve Test seti nedir?

  • Train Seti (Eğitim Seti): Train seti, makine öğrenimi modelinin eğitildiği veri kümesidir. Bu veri kümesi, genellikle birçok örneğin (veri noktalarının veya gözlemlerin) yanı sıra bu örneklerle ilişkilendirilmiş doğru çıktılar (etiketler veya hedefler) içerir. Model, bu eğitim setini kullanarak öğrenme sürecini gerçekleştirir; yani, veriler arasındaki desenleri tanır ve bu desenleri temsil eden bir model oluşturur.

  • Test Seti (Doğrulama Seti): Test seti, eğitim sonrasında modelin performansını değerlendirmek için kullanılan ayrı bir veri kümesidir. Bu veri kümesi, modelin daha önce görmediği veri örneklerini içerir ve bu örneklerin doğru çıktıları da bilinir. Model, test setindeki verileri kullanarak tahminler yapar ve bu tahminlerle gerçek çıktılar arasındaki uyumu ölçeriz. Bu sayede modelin genelleme yeteneği hakkında bilgi ediniriz, yani yeni ve görülmemiş verilere nasıl cevap vereceğini tahmin ederiz.

library(readr)
train <- read_csv("train.csv")
test <- read_csv("test.csv")
library(rmarkdown)
## Warning: package 'rmarkdown' was built under R version 4.3.3
paged_table(train)

Veri Seti Açıklaması

Bu yarışmada göreviniz, Spaceship Titanic’in uzay-zaman anomali ile çarpışması sırasında bir yolcunun başka bir boyuta taşınıp taşınmadığını tahmin etmektir. Bu tahminleri yapmanıza yardımcı olmak için, geminin hasar görmüş bilgisayar sisteminden kurtarılan kişisel kayıtlardan oluşan bir set verilmiştir.

##Dosya ve Veri Alanı Açıklamaları

  • train.csv - Yaklaşık olarak yolcuların üçte ikisi için (~8700) kişisel kayıtları içerir ve eğitim verisi olarak kullanılır.
  • PassengerId - Her yolcu için benzersiz bir kimlik. Her kimlik gggg_pp şeklinde olup, gggg yolcuyla seyahat eden grubu ve pp ise gruptaki sıra numarasını gösterir. Bir grup içindeki kişiler genellikle aile üyeleridir, ancak her zaman değildir.
  • HomePlanet - Yolcunun ayrıldığı gezegen, genellikle kalıcı ikametgah gezegenidir.
  • CryoSleep - Yolcunun yolculuk boyunca askıya alınma seçeneğini gösterir. CryoSleep’te olan yolcular kabinlerine hapsedilir.
  • Cabin - Yolcunun kaldığı kabin numarası, deck/num/side şeklinde verilir; side ya Port için P ya da Starboard için S olabilir.
  • Destination - Yolcunun iniş yapacağı gezegen.
  • Age - Yolcunun yaşı.
  • VIP - Yolcunun yolculuk sırasında özel VIP hizmeti için ödeme yapmış olup olmadığını gösterir.
  • RoomService, FoodCourt, ShoppingMall, Spa, VRDeck - Yolcunun Spaceship Titanic’in birçok lüks imkanında ne kadar harcama yaptığını gösterir.
  • Name - Yolcunun adı ve soyadı.
  • Transported - Yolcunun başka bir boyuta taşınıp taşınmadığını gösterir. Bu hedef, tahmin etmeye çalıştığınız sütundur. test.csv - Geriye kalan üçte birlik (~4300) yolcuların kişisel kayıtlarını içerir ve test verisi olarak kullanılır. Göreviniz bu setteki yolcuların Transported değerini tahmin etmektir.
    • sample_submission.csv - Doğru formatta bir gönderim dosyası.
    • PassengerId - Test setindeki her yolcu için bir kimlik.
    • Transported - Hedef. Her yolcu için True veya False tahmini yapın.
library(tidyverse)
veri <- separate(train, PassengerId, into = c("group_id","sequence_number"),sep = "_", remove = FALSE)
library(dplyr)
tekrarlanan_gruplar <- veri %>%
  group_by(group_id) %>%
  filter(n() > 1) %>%
  pull(group_id)
veri <- veri %>%
  mutate(beraber_yolculuk_yapanlar = ifelse(group_id) %in% tekrarlanan_gruplar , TRUE, FALSE)
veri <- separate(veri, Cabin, into = c("sutun1", "sutun2", "sutun3"), sep = "/", remove = FALSE)
library(explore)
## Warning: package 'explore' was built under R version 4.3.3
describe_all(train)
## # A tibble: 14 × 8
##    variable     type     na na_pct unique   min   mean   max
##    <chr>        <chr> <int>  <dbl>  <int> <dbl>  <dbl> <dbl>
##  1 PassengerId  chr       0    0     8693    NA  NA       NA
##  2 HomePlanet   chr     201    2.3      4    NA  NA       NA
##  3 CryoSleep    lgl     217    2.5      3     0   0.36     1
##  4 Cabin        chr     199    2.3   6561    NA  NA       NA
##  5 Destination  chr     182    2.1      4    NA  NA       NA
##  6 Age          dbl     179    2.1     81     0  28.8     79
##  7 VIP          lgl     203    2.3      3     0   0.02     1
##  8 RoomService  dbl     181    2.1   1274     0 225.   14327
##  9 FoodCourt    dbl     183    2.1   1508     0 458.   29813
## 10 ShoppingMall dbl     208    2.4   1116     0 174.   23492
## 11 Spa          dbl     183    2.1   1328     0 311.   22408
## 12 VRDeck       dbl     188    2.2   1307     0 305.   24133
## 13 Name         chr     200    2.3   8474    NA  NA       NA
## 14 Transported  lgl       0    0        2     0   0.5      1

Bilinmeyen Verileri Yok Etme

– Veri setimizde bilinmeyen değerleri verilen verilere göre paylaştırıyoruz.Paylaştırdığımız verileri farklı isimle aşağıya kaydettik.Orjinal verilerimizi koruyoruz.

veri2 <- veri %>% na.omit()
veri$HomePlanet <- as.factor(veri$HomePlanet)
veri <- veri %>%
  group_by(group_id) %>% 
  mutate(homeplanetnasiz = if_else(is.na(HomePlanet), "Earth", HomePlanet))
veri$Destination <- as.factor(veri$Destination)
veri <- veri %>%
  group_by(group_id) %>% 
  mutate(DestinationNasiz = if_else(is.na(Destination), "Earth", Destination))
veri$homeplanetnasiz <- as.factor(veri$homeplanetnasiz)
veri$DestinationNasiz <- as.factor(veri$DestinationNasiz)
veri$VIP <- as.factor(veri$VIP)
library(dplyr)
library(magrittr)
## 
## Attaching package: 'magrittr'
## The following object is masked from 'package:purrr':
## 
##     set_names
## The following object is masked from 'package:tidyr':
## 
##     extract
veri <- veri %>%
  group_by(group_id) %>% 
  mutate(VIPNasiz = if_else(is.na(VIP), "FALSE", VIP))
veri$VIPNasiz <- as.factor(veri$VIPNasiz)
veri$RoomService <- as.factor(veri$RoomService)
train <- train %>% mutate_if(is.character,as.factor)
library(ggplot2)
ggplot(train, aes(x=RoomService)) + 
  geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

veri <- veri %>%
  group_by(group_id) %>% 
  mutate(RoomServiceNAsiz = if_else(is.na(RoomService), "0", RoomService))
veri$RoomServiceNAsiz <- as.factor(veri$RoomServiceNAsiz)
veri$Age <- as.factor(veri$Age)
ggplot(train, aes(x=Age)) + 
  geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

veri <- veri %>%
  group_by(group_id) %>% 
  mutate(AgeNAsiz = if_else(is.na(Age), "20", Age))
veri$AgeNAsiz <- as.factor(veri$AgeNAsiz)
summary(veri)
##  PassengerId          group_id         sequence_number     HomePlanet  
##  Length:8693        Length:8693        Length:8693        Earth :4602  
##  Class :character   Class :character   Class :character   Europa:2131  
##  Mode  :character   Mode  :character   Mode  :character   Mars  :1759  
##                                                           NA's  : 201  
##                                                                        
##                                                                        
##                                                                        
##  CryoSleep          Cabin              sutun1             sutun2         
##  Mode :logical   Length:8693        Length:8693        Length:8693       
##  FALSE:5439      Class :character   Class :character   Class :character  
##  TRUE :3037      Mode  :character   Mode  :character   Mode  :character  
##  NA's :217                                                               
##                                                                          
##                                                                          
##                                                                          
##     sutun3                 Destination        Age          VIP      
##  Length:8693        55 Cancri e  :1800   24     : 324   FALSE:8291  
##  Class :character   PSO J318.5-22: 796   18     : 320   TRUE : 199  
##  Mode  :character   TRAPPIST-1e  :5915   21     : 311   NA's : 203  
##                     NA's         : 182   19     : 293               
##                                          23     : 292               
##                                          (Other):6974               
##                                          NA's   : 179               
##   RoomService     FoodCourt        ShoppingMall          Spa         
##  0      :5577   Min.   :    0.0   Min.   :    0.0   Min.   :    0.0  
##  1      : 117   1st Qu.:    0.0   1st Qu.:    0.0   1st Qu.:    0.0  
##  2      :  79   Median :    0.0   Median :    0.0   Median :    0.0  
##  3      :  61   Mean   :  458.1   Mean   :  173.7   Mean   :  311.1  
##  4      :  47   3rd Qu.:   76.0   3rd Qu.:   27.0   3rd Qu.:   59.0  
##  (Other):2631   Max.   :29813.0   Max.   :23492.0   Max.   :22408.0  
##  NA's   : 181   NA's   :183       NA's   :208       NA's   :183      
##      VRDeck            Name           Transported     beraber_yolculuk_yapanlar
##  Min.   :    0.0   Length:8693        Mode :logical   Mode :logical            
##  1st Qu.:    0.0   Class :character   FALSE:4315      FALSE:8693               
##  Median :    0.0   Mode  :character   TRUE :4378                               
##  Mean   :  304.9                                                               
##  3rd Qu.:   46.0                                                               
##  Max.   :24133.0                                                               
##  NA's   :188                                                                   
##    TRUE           FALSE         homeplanetnasiz      DestinationNasiz
##  Mode:logical   Mode :logical   Earth :4803     55 Cancri e  :1800   
##  TRUE:8693      FALSE:8693      Europa:2131     Earth        : 182   
##                                 Mars  :1759     PSO J318.5-22: 796   
##                                                 TRAPPIST-1e  :5915   
##                                                                      
##                                                                      
##                                                                      
##   VIPNasiz    RoomServiceNAsiz    AgeNAsiz   
##  FALSE:8494   0      :5758     20     : 456  
##  TRUE : 199   1      : 117     24     : 324  
##               2      :  79     18     : 320  
##               3      :  61     21     : 311  
##               4      :  47     19     : 293  
##               5      :  28     23     : 292  
##               (Other):2603     (Other):6697

– İşimize yarayacağını düşündüğümüz verilerdeki bilinmeyenleri doldurarak yaşayanlarla ilgili yapacağımız testlerde daha kesin sonuçlar alabiliriz ve bilinmeyenler önümüzde bir engel olmayacak.