vize projesi

Ouchar Abakar

28.02.2024

R Markdown, metin, R kodu ve sonuçları bir araya getiren dinamik ve etkileşimli bir belge oluşturma aracıdır. R Markdown, R programlama dilini kullanarak belgeler oluşturmanın yanı sıra, bu belgeleri HTML, PDF, Word ve diğer formatlara dönüştürmek için bir araçtır. İşte R Markdown’in önemli özellikleri ve avantajları:

Kolay Kullanım: R Markdown, metin ve R kodunu bir araya getirmek için basit ve kullanıcı dostu bir arayüz sunar. Markdown dilini öğrenmek kolaydır ve R kodunu metin belgelerine entegre etmek için basit bir yapı sunar.

Dinamik Belgeler: R Markdown, metin belgelerinin yanı sıra grafikler, tablolar ve diğer çıktıları otomatik olarak dahil edebilir. Bu, analiz sonuçlarınızı ve veri görselleştirmelerinizi doğrudan belgenizde paylaşmanızı sağlar.

Yeniden Çalıştırılabilirlik: R Markdown belgeleri, R kodunun yeniden çalıştırılabilir olduğu için değişen veriler veya parametrelerle kolayca güncellenebilir. Bu, belgelerinizin güncel kalmasını sağlar ve tekrar tekrar elle güncelleme yapma ihtiyacını azaltır.

Çeşitli Çıktı Biçimleri: R Markdown belgeleri, HTML, PDF, Word ve diğer formatlara kolayca dönüştürülebilir. Bu, belgelerinizin farklı platformlarda ve farklı kullanıcılarla paylaşılmasını kolaylaştırır.

R ve Diğer Programlarla Entegrasyon: R Markdown, R kodu dışında Python, SQL ve diğer programlama dilleriyle de entegre edilebilir. Bu, farklı kaynaklardan veri analizi ve sonuçlarınızı tek bir belgede birleştirmenizi sağlar.

Raporlama ve Sunum Oluşturma: R Markdown, veri analizi sonuçlarını raporlar veya sunumlar halinde hazırlamanıza olanak tanır. Bu, iş veya araştırma projelerinizde sonuçlarınızı anlatmanın etkili bir yoludur.

Sonuç olarak, R Markdown, R programlama dilini kullanan veri analizi ve raporlama işlerinde çok yönlü ve güçlü bir araçtır. Dinamik ve yeniden çalıştırılabilir belgeler oluşturmanıza olanak tanırken, farklı formatlarda çıktı üretebilme esnekliği sunar. Bu nedenle, araştırmacılar, veri bilimcileri ve analistler arasında yaygın olarak kullanılan bir araç haline gelmiştir.

packetler neden önemlidir

Paketler, programlama dillerindeki kütüphanelere benzeyen ve genellikle önceden yazılmış fonksiyonlar, sınıflar ve diğer kaynakları içeren yapısal birimlerdir. Özellikle R gibi açık kaynaklı ve geniş kullanılan programlama dillerinde paketlerin önemi büyüktür. İşte paketlerin neden önemli olduğuna dair bazı nedenler:

Fonksiyon ve Araçları Kolayca Kullanma: Paketler, çoğu zaman belirli bir işlevi gerçekleştiren ve ihtiyacınız olan fonksiyonları içerir. Bu, kendi kodunuzu tekrar tekrar yazmak yerine, paketlerde bulunan hazır fonksiyonları kullanarak zaman kazanmanızı sağlar.

Kod Tekrarını Azaltma: Paketler, genellikle sık kullanılan görevleri gerçekleştirmek için geliştirilmiş fonksiyonları içerir. Bu, aynı işi yapmak için sürekli olarak yeni kodlar yazma ihtiyacını azaltır ve kod tekrarını önler.

Geliştirme Hızını Artırma: Paketler, belirli bir probleme veya göreve yönelik olarak geliştirilmiş hazır çözümleri içerir. Bu, yeni projelere başlarken veya mevcut projeleri geliştirirken zaman kazanmanıza yardımcı olur ve geliştirme sürecini hızlandırır.

Topluluk Katkıları ve Paylaşımı: Açık kaynaklı programlama dillerinde, genellikle birçok farklı geliştiricinin katkıda bulunduğu ve paylaşılan paketler bulunur. Bu, geniş bir topluluk tarafından oluşturulan ve güncellenen paketlerin kullanılabilirliğini artırır.

Yeniden Kullanılabilirlik ve Uyumluluk: Paketler, farklı projelerde ve farklı kullanıcılar arasında kolayca yeniden kullanılabilir. Bu, bir projede başarılı olduğunuz bir paketi, başka bir projede de kullanarak işlerinizi daha tutarlı ve uyumlu hale getirmenize yardımcı olur.

Yeni Teknolojilere Erişim: Paketler, genellikle yeni teknolojilere veya gelişmiş algoritmaların uygulamalarına erişim sağlar. Bu, geliştiricilerin projelerine yeni ve güçlü özellikler eklemelerini sağlar.

Sonuç olarak, paketler programlama sürecinde büyük öneme sahiptir. Hazır fonksiyonları kullanarak zaman kazanır, kod tekrarını azaltır, geliştirme sürecini hızlandırır ve topluluk katkılarından yararlanarak daha güçlü ve tutarlı uygulamalar geliştirmenize olanak tanır.

spaceship titanic verileri inceleyelim

Kozmik bir gizemi çözmek için veri bilimi becerilerinize ihtiyaç duyulan 2912 yılına hoş geldiniz. Dört ışık yılı öteden bir sinyal aldık ve işler pek iyi görünmüyor.

Uzay Gemisi Titanik, bir ay önce fırlatılan yıldızlararası bir yolcu gemisiydi. Gemide neredeyse 13.000 yolcu bulunan gemi, güneş sistemimizden göçmenleri yakın yıldızların yörüngesinde bulunan üç yeni yaşanabilir dış gezegene taşımak üzere ilk yolculuğuna çıktı.

Dikkatsiz Uzay Gemisi Titanic, ilk varış noktası olan kavurucu 55 Cancri E’ye giderken Alpha Centauri’yi dönerken, bir toz bulutunun içine gizlenmiş bir uzay-zaman anormalliğiyle çarpıştı. Ne yazık ki 1000 yıl öncesindeki adaşı ile benzer bir kaderle karşılaştı. Gemi sağlam kalmasına rağmen yolcuların neredeyse yarısı alternatif bir boyuta taşındı

spaceship titanic
spaceship titanic

\[ r = \frac {\Sigma (x_i-\bar{x})(y_i-\bar{y})}{ \sqrt {\Sigma (x_i-\bar{x})^2 \Sigma (y_i-\bar{y})^2}} \] # covaryens förmülü

\[ Cov(X,Y)=\frac{\Sigma(X_i-\bar{X})(Y_i-\bar{Y}))}{n-1} \]

WDI verileri inirelim

library(explore)
library(dplyr)
## 
## Attachement du package : 'dplyr'
## Les objets suivants sont masqués depuis 'package:stats':
## 
##     filter, lag
## Les objets suivants sont masqués depuis 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ readr     2.1.4
## ✔ ggplot2   3.4.4     ✔ stringr   1.5.0
## ✔ lubridate 1.9.3     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(WDI)
## Warning: le package 'WDI' a été compilé avec la version R 4.3.3
data_WDI <- WDI(country = "all",indicator = "NY.GDP.MKTP.CD")
str(data_WDI)
## 'data.frame':    17024 obs. of  5 variables:
##  $ country       : chr  "Africa Eastern and Southern" "Africa Eastern and Southern" "Africa Eastern and Southern" "Africa Eastern and Southern" ...
##  $ iso2c         : chr  "ZH" "ZH" "ZH" "ZH" ...
##  $ iso3c         : chr  "AFE" "AFE" "AFE" "AFE" ...
##  $ year          : int  2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 ...
##  $ NY.GDP.MKTP.CD: num  NA 1.19e+12 1.09e+12 9.29e+11 1.01e+12 ...
##   ..- attr(*, "label")= chr "GDP (current US$)"
##  - attr(*, "lastupdated")= chr "2024-03-28"
##  - attr(*, "label")= chr [1:17024] "GDP (current US$)" "GDP (current US$)" "GDP (current US$)" "GDP (current US$)" ...
library(ggplot2)
japan_inflation <- WDI(country = "JP", indicator = "TX.VAL.TECH.MF.ZS", start =2000, end = 2022)
turkey_inflation <- WDI(country = "TR", indicator = "TX.VAL.TECH.MF.ZS", start =2000, end = 2023)
library(ggplot2)
yillar <- c(2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023)  # Yıllar
fransa_enflasyon <- c(0.0, 0.2, 1.0, 1.8, 1.1, 0.5, 0.4, 1.2, 1.5)  # fransa'nın yıllık enflasyon oranları
turkiye_enflasyon <- c(8.8, 7.7, 11.1, 20.3, 11.8, 14.6, 17.1, 18.2, 19.5)  # Türkiye'nin yıllık enflasyon oranları
library(ggplot2)
enflasyon_verileri <- data.frame(Yil = yillar, fransa= fransa_enflasyon, Turkiye = turkiye_enflasyon)
grafik <- ggplot(enflasyon_verileri, aes(x = Yil)) +
  geom_line(aes(y = fransa, color = "fransa")) +
  geom_line(aes(y = Turkiye, color = "Türkiye")) +
  labs(title = "fransa ve Türkiye Enflasyonu (2015-2023)",
       x = "Yıl",
       y = "Enflasyon Oranı (%)") +
  scale_color_manual(values = c("fransa" = "red", "Türkiye" = "blue")) + # Renkleri ayarla
  theme_minimal() # Tema ayarları
print(grafik)

enflasyon_verileri <- data.frame(Yil = yillar, fransa= fransa_enflasyon, Turkiye = turkiye_enflasyon)

“train” ve “test”veriler yükleyelim

library(readr)
train <- read_csv("C:/Users/HP/Downloads/train (2).csv")
## Rows: 8693 Columns: 14
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (5): PassengerId, HomePlanet, Cabin, Destination, Name
## dbl (6): Age, RoomService, FoodCourt, ShoppingMall, Spa, VRDeck
## lgl (3): CryoSleep, VIP, Transported
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
library(readr)
test <- read_csv("test.csv")
## Rows: 4277 Columns: 13
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (5): PassengerId, HomePlanet, Cabin, Destination, Name
## dbl (6): Age, RoomService, FoodCourt, ShoppingMall, Spa, VRDeck
## lgl (2): CryoSleep, VIP
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

packetleri hepsi bir anda toplayalım (veri temizleme)

library(tidyverse)
library(dplyr)

explore datayı temizlemek için bizi adim sunar

kaç tane boş gözetim olduğu bizi gösterir (her şey iyi buraya kadar), tane boş data (NA) fösterir

library(explore)
train %>% describe_all()
## # 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
str(train)
## spc_tbl_ [8,693 × 14] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ PassengerId : chr [1:8693] "0001_01" "0002_01" "0003_01" "0003_02" ...
##  $ HomePlanet  : chr [1:8693] "Europa" "Earth" "Europa" "Europa" ...
##  $ CryoSleep   : logi [1:8693] FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ Cabin       : chr [1:8693] "B/0/P" "F/0/S" "A/0/S" "A/0/S" ...
##  $ Destination : chr [1:8693] "TRAPPIST-1e" "TRAPPIST-1e" "TRAPPIST-1e" "TRAPPIST-1e" ...
##  $ Age         : num [1:8693] 39 24 58 33 16 44 26 28 35 14 ...
##  $ VIP         : logi [1:8693] FALSE FALSE TRUE FALSE FALSE FALSE ...
##  $ RoomService : num [1:8693] 0 109 43 0 303 0 42 0 0 0 ...
##  $ FoodCourt   : num [1:8693] 0 9 3576 1283 70 ...
##  $ ShoppingMall: num [1:8693] 0 25 0 371 151 0 3 0 17 0 ...
##  $ Spa         : num [1:8693] 0 549 6715 3329 565 ...
##  $ VRDeck      : num [1:8693] 0 44 49 193 2 0 0 NA 0 0 ...
##  $ Name        : chr [1:8693] "Maham Ofracculy" "Juanna Vines" "Altark Susent" "Solam Susent" ...
##  $ Transported : logi [1:8693] FALSE TRUE FALSE FALSE TRUE TRUE ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   PassengerId = col_character(),
##   ..   HomePlanet = col_character(),
##   ..   CryoSleep = col_logical(),
##   ..   Cabin = col_character(),
##   ..   Destination = col_character(),
##   ..   Age = col_double(),
##   ..   VIP = col_logical(),
##   ..   RoomService = col_double(),
##   ..   FoodCourt = col_double(),
##   ..   ShoppingMall = col_double(),
##   ..   Spa = col_double(),
##   ..   VRDeck = col_double(),
##   ..   Name = col_character(),
##   ..   Transported = col_logical()
##   .. )
##  - attr(*, "problems")=<externalptr>

verielrin gözlemlerini yerleri dolduralım ,aile fertlerine göre düzeltelim

train[c("ailenum", "ailesira")] <- str_split_fixed(train$PassengerId, "_", 2)
test[c("ailenum", "ailesira")] <- str_split_fixed(test$PassengerId, "_", 2)

cabin den bilgi çıkarma (sütünleri ayırp sıralayalım)

train[c('sutun1', 'sutun2', 'sutun3')] <- str_split_fixed(train$Cabin, '/', 3)
test[c('sutun1', 'sutun2', 'sutun3')] <- str_split_fixed(test$Cabin, '/', 3)

boşlukları NA ile doldoralım

train[train=='']<- NA
test[test=='']<-NA
train %>% describe_all()
## # A tibble: 19 × 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
## 15 ailenum      chr       0    0     6217    NA  NA       NA
## 16 ailesira     chr       0    0        8    NA  NA       NA
## 17 sutun1       chr     199    2.3      9    NA  NA       NA
## 18 sutun2       chr     199    2.3   1818    NA  NA       NA
## 19 sutun3       chr     199    2.3      3    NA  NA       NA

tahminlerimiz daha doğru bir sonuç için unique edelim

unique(train$HomePlanet)
## [1] "Europa" "Earth"  "Mars"   NA
unique(test$HomePlanet)
## [1] "Earth"  "Europa" "Mars"   NA

NA leri kategori olarak levels ile inceleyelim

train$HomePlanet <-addNA(train$HomePlanet)
test$HomePlanet <-addNA(test$HomePlanet)
levels(train$HomePlanet)
## [1] "Earth"  "Europa" "Mars"   NA
levels(test$HomePlanet)
## [1] "Earth"  "Europa" "Mars"   NA

levels içine olan tırnak içine alalım boş olan NA

levels(train$HomePlanet)[is.na(levels(train$HomePlanet))]<-"NA"
levels(test$HomePlanet)[is.na(levels(test$HomePlanet))]<-"NA"

# sonucu bakalım

levels(train$HomePlanet)
## [1] "Earth"  "Europa" "Mars"   "NA"
levels(test$HomePlanet)
## [1] "Earth"  "Europa" "Mars"   "NA"
train %>% describe_all()
## # A tibble: 19 × 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   fct       0    0        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
## 15 ailenum      chr       0    0     6217    NA  NA       NA
## 16 ailesira     chr       0    0        8    NA  NA       NA
## 17 sutun1       chr     199    2.3      9    NA  NA       NA
## 18 sutun2       chr     199    2.3   1818    NA  NA       NA
## 19 sutun3       chr     199    2.3      3    NA  NA       NA

Homeplanet e göre Age

train%>% describe_all()
## # A tibble: 19 × 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   fct       0    0        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
## 15 ailenum      chr       0    0     6217    NA  NA       NA
## 16 ailesira     chr       0    0        8    NA  NA       NA
## 17 sutun1       chr     199    2.3      9    NA  NA       NA
## 18 sutun2       chr     199    2.3   1818    NA  NA       NA
## 19 sutun3       chr     199    2.3      3    NA  NA       NA
test%>% describe_all()
## # A tibble: 18 × 8
##    variable     type     na na_pct unique   min   mean   max
##    <chr>        <chr> <int>  <dbl>  <int> <dbl>  <dbl> <dbl>
##  1 PassengerId  chr       0    0     4277    NA  NA       NA
##  2 HomePlanet   fct       0    0        4    NA  NA       NA
##  3 CryoSleep    lgl      93    2.2      3     0   0.37     1
##  4 Cabin        chr     100    2.3   3266    NA  NA       NA
##  5 Destination  chr      92    2.2      4    NA  NA       NA
##  6 Age          dbl      91    2.1     80     0  28.7     79
##  7 VIP          lgl      93    2.2      3     0   0.02     1
##  8 RoomService  dbl      82    1.9    843     0 219.   11567
##  9 FoodCourt    dbl     106    2.5    903     0 439.   25273
## 10 ShoppingMall dbl      98    2.3    716     0 177.    8292
## 11 Spa          dbl     101    2.4    834     0 303.   19844
## 12 VRDeck       dbl      80    1.9    797     0 311.   22272
## 13 Name         chr      94    2.2   4177    NA  NA       NA
## 14 ailenum      chr       0    0     3063    NA  NA       NA
## 15 ailesira     chr       0    0        8    NA  NA       NA
## 16 sutun1       chr     100    2.3      9    NA  NA       NA
## 17 sutun2       chr     100    2.3   1506    NA  NA       NA
## 18 sutun3       chr     100    2.3      3    NA  NA       NA

diğer sütünlerde NA leri temizleyelim

train$CryoSleep <- addNA(train$CryoSleep)
test$CryoSleep <- addNA(test$CryoSleep)
levels(train$CryoSleep)[is.na(levels(train$CryoSleep))] <- "NA"
levels(test$CryoSleep)[is.na(levels(test$CryoSleep))] <- "NA"

veri setindeki belirli bir sütundaki benzersiz değerleri listeleyerek, o sütundaki farklı kategorileri görmemize sağlar.

unique(train$Destination)
## [1] "TRAPPIST-1e"   "PSO J318.5-22" "55 Cancri e"   NA
train$Destination <-addNA(train$Destination)
test$Destination <-addNA(test$Destination)
train$side <-addNA(train$Age)
test$Age <-addNA(test$Age)
levels(train$Age)[is.na(levels(train$Age))] <-"NA"
levels(test$Age)[is.na(levels(test$Age))] <-"NA"
train %>% describe_all()
## # A tibble: 20 × 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   fct       0    0        4    NA  NA       NA
##  3 CryoSleep    fct       0    0        3    NA  NA       NA
##  4 Cabin        chr     199    2.3   6561    NA  NA       NA
##  5 Destination  fct       0    0        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
## 15 ailenum      chr       0    0     6217    NA  NA       NA
## 16 ailesira     chr       0    0        8    NA  NA       NA
## 17 sutun1       chr     199    2.3      9    NA  NA       NA
## 18 sutun2       chr     199    2.3   1818    NA  NA       NA
## 19 sutun3       chr     199    2.3      3    NA  NA       NA
## 20 side         fct       0    0       81    NA  NA       NA

#cryosleep

train$CryoSleep <-addNA(train$CryoSleep)
test$CryoSleep <-addNA(test$CryoSleep)
levels(train$CryoSleep)[is.na(levels(train$CryoSleep))] <-"NA"
levels(test$CryoSleep)[is.na(levels(test$CryoSleep))] <-"NA"
train %>% describe_all()
## # A tibble: 20 × 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   fct       0    0        4    NA  NA       NA
##  3 CryoSleep    fct       0    0        3    NA  NA       NA
##  4 Cabin        chr     199    2.3   6561    NA  NA       NA
##  5 Destination  fct       0    0        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
## 15 ailenum      chr       0    0     6217    NA  NA       NA
## 16 ailesira     chr       0    0        8    NA  NA       NA
## 17 sutun1       chr     199    2.3      9    NA  NA       NA
## 18 sutun2       chr     199    2.3   1818    NA  NA       NA
## 19 sutun3       chr     199    2.3      3    NA  NA       NA
## 20 side         fct       0    0       81    NA  NA       NA

deck için

train$sutun1 <-addNA(train$sutun1)
test$sutun1 <-addNA(test$sutun1)
levels(train$sutun2)[is.na(levels(train$sutun2))] <-"NA"
levels(test$sutun2)[is.na(levels(test$sutun2))] <-"NA"
train %>% describe_all()
## # A tibble: 20 × 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   fct       0    0        4    NA  NA       NA
##  3 CryoSleep    fct       0    0        3    NA  NA       NA
##  4 Cabin        chr     199    2.3   6561    NA  NA       NA
##  5 Destination  fct       0    0        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
## 15 ailenum      chr       0    0     6217    NA  NA       NA
## 16 ailesira     chr       0    0        8    NA  NA       NA
## 17 sutun1       fct       0    0        9    NA  NA       NA
## 18 sutun2       chr     199    2.3   1818    NA  NA       NA
## 19 sutun3       chr     199    2.3      3    NA  NA       NA
## 20 side         fct       0    0       81    NA  NA       NA

sutun 3 için

train$num <-addNA(train$sutun3)
test$sutun3 <-addNA(test$sutun3)
levels(train$sutun3)[is.na(levels(train$sutun3))] <-"NA"
levels(test$sutun3)[is.na(levels(test$sutun3))] <-"NA"
train %>% describe_all()
## # A tibble: 21 × 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   fct       0    0        4    NA  NA       NA
##  3 CryoSleep    fct       0    0        3    NA  NA       NA
##  4 Cabin        chr     199    2.3   6561    NA  NA       NA
##  5 Destination  fct       0    0        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 more rows

vIP için

train$VIP <-addNA(train$VIP)
test$VIP <-addNA(test$VIP)
levels(train$VIP)[is.na(levels(train$VIP))] <-"NA"
levels(test$VIP)[is.na(levels(test$VIP))] <-"NA"
train %>% describe_all()
## # A tibble: 21 × 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   fct       0    0        4    NA  NA      NA
##  3 CryoSleep    fct       0    0        3    NA  NA      NA
##  4 Cabin        chr     199    2.3   6561    NA  NA      NA
##  5 Destination  fct       0    0        4    NA  NA      NA
##  6 Age          dbl     179    2.1     81     0  28.8    79
##  7 VIP          fct       0    0        3    NA  NA      NA
##  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 more rows
train$Age <-addNA(train$Age)
test$Age <-addNA(test$Age)
levels(train$Age)[is.na(levels(train$Age))] <-"NA"
levels(test$Age)[is.na(levels(test$Age))] <-"NA"
train %>% describe_all()
## # A tibble: 21 × 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   fct       0    0        4    NA   NA     NA
##  3 CryoSleep    fct       0    0        3    NA   NA     NA
##  4 Cabin        chr     199    2.3   6561    NA   NA     NA
##  5 Destination  fct       0    0        4    NA   NA     NA
##  6 Age          fct       0    0       81    NA   NA     NA
##  7 VIP          fct       0    0        3    NA   NA     NA
##  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 more rows

test

test %>% describe_all()
## # A tibble: 18 × 8
##    variable     type     na na_pct unique   min  mean   max
##    <chr>        <chr> <int>  <dbl>  <int> <dbl> <dbl> <dbl>
##  1 PassengerId  chr       0    0     4277    NA   NA     NA
##  2 HomePlanet   fct       0    0        4    NA   NA     NA
##  3 CryoSleep    fct       0    0        3    NA   NA     NA
##  4 Cabin        chr     100    2.3   3266    NA   NA     NA
##  5 Destination  fct       0    0        4    NA   NA     NA
##  6 Age          fct       0    0       80    NA   NA     NA
##  7 VIP          fct       0    0        3    NA   NA     NA
##  8 RoomService  dbl      82    1.9    843     0  219. 11567
##  9 FoodCourt    dbl     106    2.5    903     0  439. 25273
## 10 ShoppingMall dbl      98    2.3    716     0  177.  8292
## 11 Spa          dbl     101    2.4    834     0  303. 19844
## 12 VRDeck       dbl      80    1.9    797     0  311. 22272
## 13 Name         chr      94    2.2   4177    NA   NA     NA
## 14 ailenum      chr       0    0     3063    NA   NA     NA
## 15 ailesira     chr       0    0        8    NA   NA     NA
## 16 sutun1       fct       0    0        9    NA   NA     NA
## 17 sutun2       chr     100    2.3   1506    NA   NA     NA
## 18 sutun3       fct       0    0        3    NA   NA     NA

Roomservice için

train$RoomService <-addNA(train$RoomService)
test$RoomService <-addNA(test$RoomService)
levels(train$RoomService)[is.na(levels(train$RoomService))] <-"NA"
levels(test$RoomService)[is.na(levels(test$RoomService))] <-"NA"
train %>% describe_all()
## # A tibble: 21 × 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   fct       0    0        4    NA   NA     NA
##  3 CryoSleep    fct       0    0        3    NA   NA     NA
##  4 Cabin        chr     199    2.3   6561    NA   NA     NA
##  5 Destination  fct       0    0        4    NA   NA     NA
##  6 Age          fct       0    0       81    NA   NA     NA
##  7 VIP          fct       0    0        3    NA   NA     NA
##  8 RoomService  fct       0    0     1274    NA   NA     NA
##  9 FoodCourt    dbl     183    2.1   1508     0  458. 29813
## 10 ShoppingMall dbl     208    2.4   1116     0  174. 23492
## # ℹ 11 more rows

Foodcourt

train$FoodCourt <-addNA(train$FoodCourt)
test$FoodCourt <-addNA(test$FoodCourt)
levels(train$FoodCourt)[is.na(levels(train$FoodCourt))] <-"NA"
levels(test$FoodCourt)[is.na(levels(test$FoodCourt))] <-"NA"
train %>% describe_all()
## # A tibble: 21 × 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   fct       0    0        4    NA   NA     NA
##  3 CryoSleep    fct       0    0        3    NA   NA     NA
##  4 Cabin        chr     199    2.3   6561    NA   NA     NA
##  5 Destination  fct       0    0        4    NA   NA     NA
##  6 Age          fct       0    0       81    NA   NA     NA
##  7 VIP          fct       0    0        3    NA   NA     NA
##  8 RoomService  fct       0    0     1274    NA   NA     NA
##  9 FoodCourt    fct       0    0     1508    NA   NA     NA
## 10 ShoppingMall dbl     208    2.4   1116     0  174. 23492
## # ℹ 11 more rows

shopping mall için

train$ShoppingMall <-addNA(train$ShoppingMall)
test$ShoppingMall <-addNA(test$ShoppingMall)
levels(train$ShoppingMall)[is.na(levels(train$ShoppingMall))] <-"NA"
levels(test$ShoppingMall)[is.na(levels(test$ShoppingMall))] <-"NA"
train %>% describe_all()
## # A tibble: 21 × 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   fct       0    0        4    NA    NA    NA
##  3 CryoSleep    fct       0    0        3    NA    NA    NA
##  4 Cabin        chr     199    2.3   6561    NA    NA    NA
##  5 Destination  fct       0    0        4    NA    NA    NA
##  6 Age          fct       0    0       81    NA    NA    NA
##  7 VIP          fct       0    0        3    NA    NA    NA
##  8 RoomService  fct       0    0     1274    NA    NA    NA
##  9 FoodCourt    fct       0    0     1508    NA    NA    NA
## 10 ShoppingMall fct       0    0     1116    NA    NA    NA
## # ℹ 11 more rows

bir veri çerçevesindeki gözlemleri “Destination” değişkenine göre gruplar ve her bir grup içinde “VIP” değişkeninin değerlerini düzenler. Ardından, eğer “VIP” değişkeni sayısal bir değişkense ve tüm değerleri sayısal (numeric) ise, o grup içindeki “VIP” değişkeninin ortalamasını alır. Eğer “VIP” değişkeninin tüm değerleri sayısal değilse veya içinde eksik değerler (NA) varsa, grup içindeki “VIP” değişkeninin değerlerini değiştirmez.

library(dplyr)
train <- train %>%
  group_by(Destination) %>%

  mutate(VIP = ifelse(all(is.numeric(VIP)),  ifelse(all(!is.na(VIP)), mean(VIP, na.rm = TRUE), VIP),VIP))
train <- train %>%
  group_by(Destination) %>%
  mutate_at(vars(VIP), ~replace_na(.,mean(., na.rm = TRUE)))

vip Değişkenini Sayısal Bir Değişkene Dönüştürme: as.numeric(as.character(train$VIP)) ifadesi, VIP değişkenini metinsel ifadelerden sayısal değerlere verir. VIP değişkeni gösterilen karakter, bu dönüştürme işlemlerini gerçekleştirmeyi mümkün sağlar.

train$VIP <- as.numeric(as.character(train$VIP))
class(train$VIP)
## [1] "numeric"
test$VIP <- as.numeric(as.character(test$VIP))
## Warning: NAs introduits lors de la conversion automatique
class(test$VIP)
## [1] "numeric"
unique(test$VIP)
## [1] NA
unique(train$VIP)
## [1] 1
train <- train %>%
  group_by(Destination) %>%

  mutate(VIP = ifelse(all(is.numeric(VIP)),ifelse (all(!is.na(VIP)), mean(VIP, na.rm = TRUE), VIP), VIP))
test <- test %>%
  group_by(Destination) %>%

  mutate(VIP = ifelse(all(is.numeric(VIP)),ifelse (all(!is.na(VIP)), mean(VIP, na.rm = TRUE), VIP), VIP))
test<- test %>%
  group_by(Destination) %>%
  mutate_at(vars(VIP), ~replace_na(.,mean(., na.rm = TRUE)))

“train” ve “test”veri çerçevesindeki “ShoppingMall” sütununu sayısal bir formata getirir. Ancak, bu işlemi gerçekleştirmeden önce, “ShoppingMall” sütununda uygun bir sayısal değer olduğundan emin olmalısınız. Eğer “ShoppingMall” sütununda sayısal olmayan veya eksik değerler varsa, bu işlem sonuçları etkileyebilir.

train$ShoppingMall <- as.numeric(as.character(train$ShoppingMall))
## Warning: NAs introduits lors de la conversion automatique

histogramı çizelim

hist(train$ShoppingMall)

test$ShoppingMall <- as.numeric(as.character(test$ShoppingMall))
## Warning: NAs introduits lors de la conversion automatique

histogramı çizelim

hist(test$ShoppingMall)

## Age için bakalım

train$Age <- as.numeric(as.character(train$Age))
## Warning: NAs introduits lors de la conversion automatique

histogramı çizelim

hist(train$Age)

test$Age <- as.numeric(as.character(test$Age))
## Warning: NAs introduits lors de la conversion automatique

histogramı çizelim

hist(test$Age)

## Artık cabın ıhtıyacım kaladıgi için kaladırıyorum

train <- train %>% select(-Cabin)
test  <- test %>% select(-Cabin)

histgram

VIM::aggr(x = train,sortVars=T)

## 
##  Variables sorted by number of missings: 
##      Variable      Count
##  ShoppingMall 0.02392730
##          Name 0.02300702
##        sutun1 0.02289198
##        sutun2 0.02289198
##        sutun3 0.02289198
##           num 0.02289198
##        VRDeck 0.02162660
##           Spa 0.02105142
##   Destination 0.02093639
##           Age 0.02059128
##          side 0.02059128
##   PassengerId 0.00000000
##    HomePlanet 0.00000000
##     CryoSleep 0.00000000
##           VIP 0.00000000
##   RoomService 0.00000000
##     FoodCourt 0.00000000
##   Transported 0.00000000
##       ailenum 0.00000000
##      ailesira 0.00000000
library(mice)
## Warning: le package 'mice' a été compilé avec la version R 4.3.3
## Warning in check_dep_version(): ABI version mismatch: 
## lme4 was built with Matrix ABI version 1
## Current Matrix ABI version is 0
## Please re-install lme4 from source or restore original 'Matrix' package
## 
## Attachement du package : 'mice'
## L'objet suivant est masqué depuis 'package:stats':
## 
##     filter
## Les objets suivants sont masqués depuis 'package:base':
## 
##     cbind, rbind
md.pattern(train[1:500,])

##     PassengerId HomePlanet CryoSleep Destination VIP RoomService FoodCourt
## 425           1          1         1           1   1           1         1
## 17            1          1         1           1   1           1         1
## 15            1          1         1           1   1           1         1
## 12            1          1         1           1   1           1         1
## 3             1          1         1           1   1           1         1
## 11            1          1         1           1   1           1         1
## 8             1          1         1           1   1           1         1
## 1             1          1         1           1   1           1         1
## 8             1          1         1           1   1           1         1
##               0          0         0           0   0           0         0
##     Transported ailenum ailesira sutun1 side num Spa VRDeck Name Age
## 425           1       1        1      1    1   1   1      1    1   1
## 17            1       1        1      1    1   1   1      1    1   1
## 15            1       1        1      1    1   1   1      1    1   1
## 12            1       1        1      1    1   1   1      1    1   0
## 3             1       1        1      1    1   1   1      1    1   0
## 11            1       1        1      1    1   1   1      1    0   1
## 8             1       1        1      1    1   1   1      0    1   1
## 1             1       1        1      1    1   1   1      0    1   1
## 8             1       1        1      1    1   1   0      1    1   1
##               0       0        0      0    0   0   8      9   11  15
##     ShoppingMall sutun2 sutun3   
## 425            1      1      1  0
## 17             1      0      0  2
## 15             0      1      1  1
## 12             1      1      1  1
## 3              0      1      1  2
## 11             1      1      1  1
## 8              1      1      1  1
## 1              1      0      0  3
## 8              1      1      1  1
##               18     18     18 97