Final Proje

Abdoulaye Ali Hissein

16/01/24

Spaceship Titanic(Uzay Gemisi Titanik)

Description

Hoş geldiniz 2912 yılına, burada veri bilimi becerilerinizle bir kozmik gizemi çözmeye ihtiyaç var. Dört ışık yılı uzaktan 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ızlar arası yolcu gemisiydi. 13.000’den fazla yolcusuyla, gemi ilk seyahatine başladı ve Güneş Sistemi’nden üç yeni yerleşilebilir ötegezegenin etrafında dolaşarak göçmenleri taşıdı.

Alpha Centauri’yi dolaşırken ilk varış noktası olan sıcak 55 Cancri E’ye giden yolunda, dikkatsizce Uzay Gemisi Titanic, bir toz bulutunun içinde gizlenmiş bir uzay-zaman anomaliyle çarpıştı. Ne yazık ki, gemi bütünlüğünü korudu ancak neredeyse yarıya yakını yolcular başka bir boyuta taşındı!

Şimdi, kayıp yolcuları geri getirmek ve gemiyi güvenli bir şekilde yönlendirmek için veri bilimi becerilerinize ihtiyaç var. Uzay Gemisi Titanic’in durumu hakkında gelen verilere bakalım ve bu kozmik gizemi çözmek için bir plan yapalım!

Dataset Description (Veri Kümesi Açıklaması)

Bu yarışmada göreviniz, Uzay Gemisi Titanic’in uzay-zaman anomalisiyle ç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 bir dizi kişisel kayıt verisi verilmiştir.

File and Data Field Descriptions(Dosya ve Veri Alanı Açıklamaları)

train.csv - Eğitim verisi olarak kullanılacak olan yaklaşık üçte ikisi (~8700) yolcu için kişisel kayıtlar.

PassengerId - Her yolcu için benzersiz bir kimlik. Her kimlik gggg_pp biçiminde olup, gggg yolcu ile seyahat eden grubu gösterir ve pp grup içindeki sıra numarasını temsil eder. Bir grup içindekiler genellikle aile üyeleridir, ancak her zaman böyle olmayabilir.

HomePlanet - Yolcunun ayrıldığı gezegen, genellikle kalıcı ikamet gezegenidir.

CryoSleep - Yolcunun yolculuk süresince dondurularak uykuya alınıp alınmayı seçip seçmediğini gösterir. CryoSleep’teki yolcular kabinlerine kapatılır.

Cabin - Yolcunun kaldığı kabin numarası. Deck/num/side biçiminde olup, side, Port için P veya Starboard için S olabilir.

Destination - Yolcunun iniş yapacağı gezegen.

Age - Yolcunun yaşı.

VIP - Yolcunun yolculuk sırasında özel VIP hizmet için ödeme yapılıp yapmadığını gösterir.

RoomService, FoodCourt, ShoppingMall, Spa, VRDeck - Yolcunun Spaceship Titanic’in birçok lüks olanaklarından her birinde fatura miktarı.

Name - Yolcunun adı ve soyadı.

Transported - Yolcunun başka bir boyuta taşınıp taşınmadığı. Bu, tahmin etmeye çalıştığınız hedef, yani öngörmeye çalıştığınız sütun.

test.csv - Geriye kalan üçte birlik (~4300) yolcu için kullanılacak olan kişisel kayıtların bulunduğu test verisi. 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 ya True ya da False tahmini yapın.

Download data(Data indirmek)

data indirmek

ibrary(readr): readr paketini yükler. Bu paket, hızlı ve etkili bir şekilde metin tabanlı veri dosyalarını okumak için kullanılır.

read_csv(“train.csv”): “train.csv” dosyasını okur ve içerisindeki veriyi bir veri çerçevesine yükler. Bu dosya genellikle bir eğitim veri setini temsil eder.

read_csv(“test.csv”): “test.csv” dosyasını okur ve içerisindeki veriyi bir veri çerçevesine yükler. Bu dosya genellikle bir test veri setini temsil eder.

Sonuç olarak, “train” ve “test” veri çerçeveleri, ilgili CSV dosyalarındaki veriyle doldurulmuş olur.

library(readr)
sample_submission_1_ <- read_csv("sample_submission (1).csv")
## Rows: 4277 Columns: 2
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): PassengerId
## lgl (1): 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.
View(sample_submission_1_)
library(readr)
test <- read_csv("test (1).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.
library(readr)
train <- read_csv("train (1).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.

Bu R dilindeki kod satırı, explore paketini yükler.

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ purrr     1.0.2
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.4.4     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ 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(explore)

Bu R dilindeki kod parçası (dplyr)

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

Verielrin gözlemlerini yerleri dolduralım(ailenum ve ailesira)fertlerine göre düzeltelim

train için

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

est (cabin ayırps sıralaman )

Cabinden bilgi çıkrımak(sütüünlrfi)

train[c('deck', 'num', 'side')] <- str_split_fixed(train$Cabin, '/', 3)
test[c('deck', 'num', 'side')] <- str_split_fixed(test$Cabin, '/', 3)

veri setinizdeki boş değerleri nasıl ele almanız gerektiği veri setinizin özelliklerine ve analiz hedeflerinize bağlıdır. train için

train[train == ''] <-NA
test[test == ''] <- NA

Bu R dilindeki kod parçası (dplyr)

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 deck         chr     199    2.3      9    NA  NA       NA
## 18 num          chr     199    2.3   1818    NA  NA       NA
## 19 side         chr     199    2.3      3    NA  NA       NA

Univariate Distribution Histogram Bar Chart (with frequency) ## 1 columns ignored with more than 50 categories. ## PassengerId: 8693 categories

Artık (Cabine) ihtiyacım kalmadığı için kaldrıyorum

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

Bu R dilindeki kod parçası, dplyr paketini kullanarak bir veri çerçevesinin tüm değişkenleri için temel istatistikleri elde etmeye çalışır. Ancak, describe_all() fonksiyonu direkt olarak dplyr paketinde bulunmamaktadır.

train %>% 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     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 Destination  chr     182    2.1      4    NA  NA       NA
##  5 Age          dbl     179    2.1     81     0  28.8     79
##  6 VIP          lgl     203    2.3      3     0   0.02     1
##  7 RoomService  dbl     181    2.1   1274     0 225.   14327
##  8 FoodCourt    dbl     183    2.1   1508     0 458.   29813
##  9 ShoppingMall dbl     208    2.4   1116     0 174.   23492
## 10 Spa          dbl     183    2.1   1328     0 311.   22408
## 11 VRDeck       dbl     188    2.2   1307     0 305.   24133
## 12 Name         chr     200    2.3   8474    NA  NA       NA
## 13 Transported  lgl       0    0        2     0   0.5      1
## 14 ailenum      chr       0    0     6217    NA  NA       NA
## 15 ailesira     chr       0    0        8    NA  NA       NA
## 16 deck         chr     199    2.3      9    NA  NA       NA
## 17 num          chr     199    2.3   1818    NA  NA       NA
## 18 side         chr     199    2.3      3    NA  NA       NA

Bu ifade, “HomePlanet” sütunundaki benzersiz değerleri bulur. Yani, her bir farklı değeri bir kez içeren bir vektör elde edersiniz.

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

levels(train$HomePlanet) ifadesi, “train” veri çerçevesindeki “HomePlanet” adlı sütunun faktör tipinde olduğu varsayımı altında bu faktörün kategorik seviyelerini (levels) döndürür.

train$HomePlanet <- addNA(train$HomePlanet)
test$HomePlanet <- addNA(test$HomePlanet)

Bu ifade, “HomePlanet” sütunundaki benzersiz değerleri bulur. Yani, her bir farklı değeri bir kez içeren bir vektör elde edersiniz.

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

train için levels(trainHomePlanet)[is.na(levels(train HomePlanet))] <- “NA”: Bu ifade, NA değerleri içeren kategorik seviyeleri “NA” karakter dizisi ile değiştirir.

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

Bu ifade, “HomePlanet” sütunundaki benzersiz değerleri bulur. Yani, her bir farklı değeri bir kez içeren bir vektör elde edersiniz

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

Bu R dilindeki kod parçası (dplyr)

train %>% 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     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 Destination  chr     182    2.1      4    NA  NA       NA
##  5 Age          dbl     179    2.1     81     0  28.8     79
##  6 VIP          lgl     203    2.3      3     0   0.02     1
##  7 RoomService  dbl     181    2.1   1274     0 225.   14327
##  8 FoodCourt    dbl     183    2.1   1508     0 458.   29813
##  9 ShoppingMall dbl     208    2.4   1116     0 174.   23492
## 10 Spa          dbl     183    2.1   1328     0 311.   22408
## 11 VRDeck       dbl     188    2.2   1307     0 305.   24133
## 12 Name         chr     200    2.3   8474    NA  NA       NA
## 13 Transported  lgl       0    0        2     0   0.5      1
## 14 ailenum      chr       0    0     6217    NA  NA       NA
## 15 ailesira     chr       0    0        8    NA  NA       NA
## 16 deck         chr     199    2.3      9    NA  NA       NA
## 17 num          chr     199    2.3   1818    NA  NA       NA
## 18 side         chr     199    2.3      3    NA  NA       NA

train için Bu ifade, gruplanmış veri çerçevesindeki “Age” sütunundaki eksik değerleri, o sütundaki değerlerin ortalaması ile doldurur.

train <- train %>%
  group_by(HomePlanet) %>%
  mutate_at(vars(Age), ~replace_na(., mean(., na.rm = TRUE)))

test için

Bu R dilindeki kod, “train” veri çerçevesindeki “CryoSleep” adlı bir değişkenin içindeki eksik değerleri (NA) ekleyerek, bu eksik değerlere özel bir etiket eklemeyi amaçlar.

test <- test %>%
  group_by(HomePlanet) %>%
  mutate_at(vars(Age), ~replace_na(., mean(., na.rm = TRUE)))

için

Bu R dilindeki kod, “train” veri çerçevesindeki “CryoSleep” adlı bir değişkenin içindeki eksik değerleri (NA) ekleyerek, bu eksik değerlere özel bir etiket eklemeyi amaçlar.

train %>% 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     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 Destination  chr     182    2.1      4    NA  NA       NA
##  5 Age          dbl       0    0       84     0  28.8     79
##  6 VIP          lgl     203    2.3      3     0   0.02     1
##  7 RoomService  dbl     181    2.1   1274     0 225.   14327
##  8 FoodCourt    dbl     183    2.1   1508     0 458.   29813
##  9 ShoppingMall dbl     208    2.4   1116     0 174.   23492
## 10 Spa          dbl     183    2.1   1328     0 311.   22408
## 11 VRDeck       dbl     188    2.2   1307     0 305.   24133
## 12 Name         chr     200    2.3   8474    NA  NA       NA
## 13 Transported  lgl       0    0        2     0   0.5      1
## 14 ailenum      chr       0    0     6217    NA  NA       NA
## 15 ailesira     chr       0    0        8    NA  NA       NA
## 16 deck         chr     199    2.3      9    NA  NA       NA
## 17 num          chr     199    2.3   1818    NA  NA       NA
## 18 side         chr     199    2.3      3    NA  NA       NA

train için Bu R dilindeki kod, “train” veri çerçevesindeki “CryoSleep” adlı bir değişkenin içindeki eksik değerleri (NA) ekleyerek, bu eksik değerlere özel bir etiket eklemeyi amaçlar.

train$CryoSleep <- addNA(train$CryoSleep)
test$CryoSleep <- addNA(test$CryoSleep)

test için Bu R dilindeki kod, “test” veri çerçevesindeki “CryoSleep” adlı bir değişkenin içindeki eksik değerleri (NA) ekleyerek, bu eksik değerlere özel bir etiket eklemeyi amaçlar.

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

Bu R dilindeki kod parçası, dplyr paketini kullanarak bir veri çerçevesinin tüm değişkenleri için temel istatistikleri elde etmeye çalışır. Ancak, describe_all() fonksiyonu direkt olarak dplyr paketinde bulunmamaktadır.

train %>% 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     8693    NA  NA       NA
##  2 HomePlanet   fct       0    0        4    NA  NA       NA
##  3 CryoSleep    fct       0    0        3    NA  NA       NA
##  4 Destination  chr     182    2.1      4    NA  NA       NA
##  5 Age          dbl       0    0       84     0  28.8     79
##  6 VIP          lgl     203    2.3      3     0   0.02     1
##  7 RoomService  dbl     181    2.1   1274     0 225.   14327
##  8 FoodCourt    dbl     183    2.1   1508     0 458.   29813
##  9 ShoppingMall dbl     208    2.4   1116     0 174.   23492
## 10 Spa          dbl     183    2.1   1328     0 311.   22408
## 11 VRDeck       dbl     188    2.2   1307     0 305.   24133
## 12 Name         chr     200    2.3   8474    NA  NA       NA
## 13 Transported  lgl       0    0        2     0   0.5      1
## 14 ailenum      chr       0    0     6217    NA  NA       NA
## 15 ailesira     chr       0    0        8    NA  NA       NA
## 16 deck         chr     199    2.3      9    NA  NA       NA
## 17 num          chr     199    2.3   1818    NA  NA       NA
## 18 side         chr     199    2.3      3    NA  NA       NA

Bu R kodu, “train” adlı bir veri çerçevesinin “Destination” adlı bir sütunundaki benzersiz (unique) değerleri listeleyen bir komuttur. İşte bu kodun açıklaması:

unique(train$Destination)
## [1] "TRAPPIST-1e"   "PSO J318.5-22" "55 Cancri e"   NA

Kodun etkisi, “Destination” sütununda eksik değerlere sahip olan gözlemleri belirginleştirmektir. Ancak, bu işlem genel olarak veri setinin özelliklerine ve amacına bağlı olarak değişebilir.

train$Destination <- addNA(train$Destination)
test$Destination <- addNA(test$Destination)

Yani, bu kod “Destination” sütunundaki faktör seviyeleri arasında eksik değerlere sahip olanları belirginleştirmek üzere kullanılır. Faktörlerin seviyelerini düzenlemek veya eksik değerleri belirginleştirmek, veri analizi veya model eğitimi sırasında daha düzgün çalışmayı sağlamak amacıyla yapılabilir.

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

Bu R dilindeki kod parçası, dplyr paketini kullanarak bir veri çerçevesinin tüm değişkenleri için temel istatistikleri elde etmeye çalışır. Ancak, describe_all() fonksiyonu direkt olarak dplyr paketinde bulunmamaktadır.

train %>% 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     8693    NA  NA       NA
##  2 HomePlanet   fct       0    0        4    NA  NA       NA
##  3 CryoSleep    fct       0    0        3    NA  NA       NA
##  4 Destination  fct       0    0        4    NA  NA       NA
##  5 Age          dbl       0    0       84     0  28.8     79
##  6 VIP          lgl     203    2.3      3     0   0.02     1
##  7 RoomService  dbl     181    2.1   1274     0 225.   14327
##  8 FoodCourt    dbl     183    2.1   1508     0 458.   29813
##  9 ShoppingMall dbl     208    2.4   1116     0 174.   23492
## 10 Spa          dbl     183    2.1   1328     0 311.   22408
## 11 VRDeck       dbl     188    2.2   1307     0 305.   24133
## 12 Name         chr     200    2.3   8474    NA  NA       NA
## 13 Transported  lgl       0    0        2     0   0.5      1
## 14 ailenum      chr       0    0     6217    NA  NA       NA
## 15 ailesira     chr       0    0        8    NA  NA       NA
## 16 deck         chr     199    2.3      9    NA  NA       NA
## 17 num          chr     199    2.3   1818    NA  NA       NA
## 18 side         chr     199    2.3      3    NA  NA       NA

Bu R kodu, bir veri çerçevesindeki “side” adlı bir değişkenin içindeki eksik değerlere (NA - Not Available) özel bir etiket eklemek için kullanılmış bir komuttur. addNA fonksiyonu, bir vektördeki eksik değerleri eklemek için kullanılır.

train$side <- addNA(train$side)
test$side <- addNA(test$side)

Bu R kodu, bir faktör değişkeninin seviyeleri içinde eksik (NA) değerlere sahip olan seviyeleri belirginleştirmek veya özel bir etiket eklemek için kullanılmış bir komuttur. Eğer “train” veri çerçevesinde bir “side” adlı faktör değişkeni bulunuyorsa, bu kod şu işlevi gerçekleştirir:

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

Bu R dilindeki kod parçası, dplyr paketini kullanarak bir veri çerçevesinin tüm değişkenleri için temel istatistikleri elde etmeye çalışır. Ancak, describe_all() fonksiyonu direkt olarak dplyr paketinde bulunmamaktadır.

train %>% 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     8693    NA  NA       NA
##  2 HomePlanet   fct       0    0        4    NA  NA       NA
##  3 CryoSleep    fct       0    0        3    NA  NA       NA
##  4 Destination  fct       0    0        4    NA  NA       NA
##  5 Age          dbl       0    0       84     0  28.8     79
##  6 VIP          lgl     203    2.3      3     0   0.02     1
##  7 RoomService  dbl     181    2.1   1274     0 225.   14327
##  8 FoodCourt    dbl     183    2.1   1508     0 458.   29813
##  9 ShoppingMall dbl     208    2.4   1116     0 174.   23492
## 10 Spa          dbl     183    2.1   1328     0 311.   22408
## 11 VRDeck       dbl     188    2.2   1307     0 305.   24133
## 12 Name         chr     200    2.3   8474    NA  NA       NA
## 13 Transported  lgl       0    0        2     0   0.5      1
## 14 ailenum      chr       0    0     6217    NA  NA       NA
## 15 ailesira     chr       0    0        8    NA  NA       NA
## 16 deck         chr     199    2.3      9    NA  NA       NA
## 17 num          chr     199    2.3   1818    NA  NA       NA
## 18 side         fct       0    0        3    NA  NA       NA

Bu R kodu, “train” adlı bir veri çerçevesindeki “VIP” adlı bir değişkenin içindeki eksik değerlere (NA - Not Available) özel bir etiket eklemek için kullanılmış bir komuttur. addNA fonksiyonu, bir vektördeki eksik değerleri eklemek için kullanılır.

Bu R kodu, “train” adlı bir veri çerçevesindeki “VIP” adlı bir değişkenin içindeki eksik değerlere (NA - Not Available) özel bir etiket eklemek için kullanılmış bir komuttur. addNA fonksiyonu, bir vektördeki eksik değerleri eklemek için kullanılır.

train$VIP <- addNA(train$VIP)
test$VIP <- addNA(test$VIP)

Bu R kodu, bir faktör değişkeninin seviyeleri içinde eksik (NA) değerlere sahip olan seviyeleri belirginleştirmek veya özel bir etiket eklemek için kullanılmış bir komuttur. Eğer “train” veri çerçevesinde bir “VIP” adlı faktör değişkeni bulunuyorsa, bu kod şu işlevi gerçekleştirir:

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

Bu R dilindeki kod parçası, dplyr paketini kullanarak bir veri çerçevesinin tüm değişkenleri için temel istatistikleri elde etmeye çalışır. Ancak, describe_all() fonksiyonu direkt olarak dplyr paketinde bulunmamaktadır.

train %>% 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     8693    NA  NA      NA
##  2 HomePlanet   fct       0    0        4    NA  NA      NA
##  3 CryoSleep    fct       0    0        3    NA  NA      NA
##  4 Destination  fct       0    0        4    NA  NA      NA
##  5 Age          dbl       0    0       84     0  28.8    79
##  6 VIP          fct       0    0        3    NA  NA      NA
##  7 RoomService  dbl     181    2.1   1274     0 225.  14327
##  8 FoodCourt    dbl     183    2.1   1508     0 458.  29813
##  9 ShoppingMall dbl     208    2.4   1116     0 174.  23492
## 10 Spa          dbl     183    2.1   1328     0 311.  22408
## 11 VRDeck       dbl     188    2.2   1307     0 305.  24133
## 12 Name         chr     200    2.3   8474    NA  NA      NA
## 13 Transported  lgl       0    0        2     0   0.5     1
## 14 ailenum      chr       0    0     6217    NA  NA      NA
## 15 ailesira     chr       0    0        8    NA  NA      NA
## 16 deck         chr     199    2.3      9    NA  NA      NA
## 17 num          chr     199    2.3   1818    NA  NA      NA
## 18 side         fct       0    0        3    NA  NA      NA

Bu R kodu, “train” adlı veri çerçevesindeki “Destination” değişkenine göre gruplandıktan sonra, “RoomService” değişkenindeki eksik değerleri (NA - Not Available) grup ortalaması ile dolduran bir işlemi gerçekleştirir.

train <- train %>%
  group_by(Destination) %>%
  mutate_at(vars(RoomService), ~replace_na(., mean(., na.rm = TRUE)))
test <- test %>%
  group_by(Destination) %>%
  mutate_at(vars(RoomService), ~replace_na(., mean(., na.rm = TRUE)))

Bu R dilindeki kod parçası, dplyr paketini kullanarak bir veri çerçevesinin tüm değişkenleri için temel istatistikleri elde etmeye çalışır. Ancak, describe_all() fonksiyonu direkt olarak dplyr paketinde bulunmamaktadır.

train %>% 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     8693    NA  NA      NA
##  2 HomePlanet   fct       0    0        4    NA  NA      NA
##  3 CryoSleep    fct       0    0        3    NA  NA      NA
##  4 Destination  fct       0    0        4    NA  NA      NA
##  5 Age          dbl       0    0       84     0  28.8    79
##  6 VIP          fct       0    0        3    NA  NA      NA
##  7 RoomService  dbl       0    0     1277     0 225.  14327
##  8 FoodCourt    dbl     183    2.1   1508     0 458.  29813
##  9 ShoppingMall dbl     208    2.4   1116     0 174.  23492
## 10 Spa          dbl     183    2.1   1328     0 311.  22408
## 11 VRDeck       dbl     188    2.2   1307     0 305.  24133
## 12 Name         chr     200    2.3   8474    NA  NA      NA
## 13 Transported  lgl       0    0        2     0   0.5     1
## 14 ailenum      chr       0    0     6217    NA  NA      NA
## 15 ailesira     chr       0    0        8    NA  NA      NA
## 16 deck         chr     199    2.3      9    NA  NA      NA
## 17 num          chr     199    2.3   1818    NA  NA      NA
## 18 side         fct       0    0        3    NA  NA      NA

Bu R kodu, “train” adlı veri çerçevesindeki “FoodCourt” adlı bir sayısal değişkenin histogramını oluşturur. Histogram, bir sayısal değişkenin dağılımını görselleştirmek için kullanılan yaygın bir grafik türüdür.

hist(train$FoodCourt)

Bu R kodu, “train” adlı bir veri çerçevesindeki “FoodCourt” adlı bir sayısal değişkenin içindeki eksik değerleri (NA - Not Available) 0 ile doldurmayı amaçlamaktadır.

train <- train %>% mutate(FoodCourt = coalesce(FoodCourt, 0))
test <- test %>% mutate(FoodCourt = coalesce(FoodCourt, 0))

Bu R dilindeki kod parçası, dplyr paketini kullanarak bir veri çerçevesinin tüm değişkenleri için temel istatistikleri elde etmeye çalışır. Ancak, describe_all() fonksiyonu direkt olarak dplyr paketinde bulunmamaktadır.

train %>% 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     8693    NA  NA      NA
##  2 HomePlanet   fct       0    0        4    NA  NA      NA
##  3 CryoSleep    fct       0    0        3    NA  NA      NA
##  4 Destination  fct       0    0        4    NA  NA      NA
##  5 Age          dbl       0    0       84     0  28.8    79
##  6 VIP          fct       0    0        3    NA  NA      NA
##  7 RoomService  dbl       0    0     1277     0 225.  14327
##  8 FoodCourt    dbl       0    0     1507     0 448.  29813
##  9 ShoppingMall dbl     208    2.4   1116     0 174.  23492
## 10 Spa          dbl     183    2.1   1328     0 311.  22408
## 11 VRDeck       dbl     188    2.2   1307     0 305.  24133
## 12 Name         chr     200    2.3   8474    NA  NA      NA
## 13 Transported  lgl       0    0        2     0   0.5     1
## 14 ailenum      chr       0    0     6217    NA  NA      NA
## 15 ailesira     chr       0    0        8    NA  NA      NA
## 16 deck         chr     199    2.3      9    NA  NA      NA
## 17 num          chr     199    2.3   1818    NA  NA      NA
## 18 side         fct       0    0        3    NA  NA      NA

Bu R kodu, “train” adlı bir veri çerçevesindeki “ShoppingMall”, “Spa” ve “VRDeck” adlı üç sayısal değişkenin içindeki eksik değerleri (NA - Not Available) 0 ile doldurmayı amaçlamaktadır.

train <- train %>% mutate(ShoppingMall = coalesce(ShoppingMall, 0), Spa = coalesce(Spa, 0), VRDeck = coalesce(VRDeck, 0))
test <- test %>% mutate(ShoppingMall = coalesce(ShoppingMall, 0), Spa = coalesce(Spa, 0), VRDeck = coalesce(VRDeck, 0))

Bu R dilindeki kod parçası, dplyr paketini kullanarak bir veri çerçevesinin tüm değişkenleri için temel istatistikleri elde etmeye çalışır. Ancak, describe_all() fonksiyonu direkt olarak dplyr paketinde bulunmamaktadır.

train %>% 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     8693    NA  NA      NA
##  2 HomePlanet   fct       0    0        4    NA  NA      NA
##  3 CryoSleep    fct       0    0        3    NA  NA      NA
##  4 Destination  fct       0    0        4    NA  NA      NA
##  5 Age          dbl       0    0       84     0  28.8    79
##  6 VIP          fct       0    0        3    NA  NA      NA
##  7 RoomService  dbl       0    0     1277     0 225.  14327
##  8 FoodCourt    dbl       0    0     1507     0 448.  29813
##  9 ShoppingMall dbl       0    0     1115     0 170.  23492
## 10 Spa          dbl       0    0     1327     0 305.  22408
## 11 VRDeck       dbl       0    0     1306     0 298.  24133
## 12 Name         chr     200    2.3   8474    NA  NA      NA
## 13 Transported  lgl       0    0        2     0   0.5     1
## 14 ailenum      chr       0    0     6217    NA  NA      NA
## 15 ailesira     chr       0    0        8    NA  NA      NA
## 16 deck         chr     199    2.3      9    NA  NA      NA
## 17 num          chr     199    2.3   1818    NA  NA      NA
## 18 side         fct       0    0        3    NA  NA      NA

Artık (Name) ıhtıyacım kalmadığı için kaldırıyorum

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

Bu R dilindeki kod parçası, dplyr paketini kullanarak bir veri çerçevesinin tüm değişkenleri için temel istatistikleri elde etmeye çalışır. Ancak, describe_all() fonksiyonu direkt olarak dplyr paketinde bulunmamaktadır.

train %>% describe_all()
## # A tibble: 17 × 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 Destination  fct       0    0        4    NA  NA      NA
##  5 Age          dbl       0    0       84     0  28.8    79
##  6 VIP          fct       0    0        3    NA  NA      NA
##  7 RoomService  dbl       0    0     1277     0 225.  14327
##  8 FoodCourt    dbl       0    0     1507     0 448.  29813
##  9 ShoppingMall dbl       0    0     1115     0 170.  23492
## 10 Spa          dbl       0    0     1327     0 305.  22408
## 11 VRDeck       dbl       0    0     1306     0 298.  24133
## 12 Transported  lgl       0    0        2     0   0.5     1
## 13 ailenum      chr       0    0     6217    NA  NA      NA
## 14 ailesira     chr       0    0        8    NA  NA      NA
## 15 deck         chr     199    2.3      9    NA  NA      NA
## 16 num          chr     199    2.3   1818    NA  NA      NA
## 17 side         fct       0    0        3    NA  NA      NA

Bu R kodu, “train” adlı bir veri çerçevesindeki “VIP” adlı bir değişkenin içindeki eksik değerlere (NA - Not Available) özel bir etiket eklemek için kullanılmış bir komuttur. addNA fonksiyonu, bir vektördeki eksik değerleri eklemek için kullanılır.

train$deck <- addNA(train$deck)
test$deck <- addNA(test$deck)

Bu R kodu, bir faktör değişkeninin seviyeleri içinde eksik (NA) değerlere sahip olan seviyeleri belirginleştirmek veya özel bir etiket eklemek için kullanılmış bir komuttur. Eğer “train” veri çerçevesinde bir “side” adlı faktör değişkeni bulunuyorsa, bu kod şu işlevi gerçekleştirir:

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

Bu R dilindeki kod parçası, dplyr paketini kullanarak bir veri çerçevesinin tüm değişkenleri için temel istatistikleri elde etmeye çalışır. Ancak, describe_all() fonksiyonu direkt olarak dplyr paketinde bulunmamaktadır.

train %>% describe_all()
## # A tibble: 17 × 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 Destination  fct       0    0        4    NA  NA      NA
##  5 Age          dbl       0    0       84     0  28.8    79
##  6 VIP          fct       0    0        3    NA  NA      NA
##  7 RoomService  dbl       0    0     1277     0 225.  14327
##  8 FoodCourt    dbl       0    0     1507     0 448.  29813
##  9 ShoppingMall dbl       0    0     1115     0 170.  23492
## 10 Spa          dbl       0    0     1327     0 305.  22408
## 11 VRDeck       dbl       0    0     1306     0 298.  24133
## 12 Transported  lgl       0    0        2     0   0.5     1
## 13 ailenum      chr       0    0     6217    NA  NA      NA
## 14 ailesira     chr       0    0        8    NA  NA      NA
## 15 deck         fct       0    0        9    NA  NA      NA
## 16 num          chr     199    2.3   1818    NA  NA      NA
## 17 side         fct       0    0        3    NA  NA      NA

Bu R kodu, “train” adlı bir veri çerçevesindeki “VIP” adlı bir değişkenin içindeki eksik değerlere (NA - Not Available) özel bir etiket eklemek için kullanılmış bir komuttur. addNA fonksiyonu, bir vektördeki eksik değerleri eklemek için kullanılır.

train$num <- addNA(train$num)
test$num <- addNA(test$num)

Bu R kodu, bir faktör değişkeninin seviyeleri içinde eksik (NA) değerlere sahip olan seviyeleri belirginleştirmek veya özel bir etiket eklemek için kullanılmış bir komuttur. Eğer “train” veri çerçevesinde bir “side” adlı faktör değişkeni bulunuyorsa, bu kod şu işlevi gerçekleştirir:

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

Bu R dilindeki kod parçası, dplyr paketini kullanarak bir veri çerçevesinin tüm değişkenleri için temel istatistikleri elde etmeye çalışır. Ancak, describe_all() fonksiyonu direkt olarak dplyr paketinde bulunmamaktadır.

train %>% describe_all()
## # A tibble: 17 × 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 Destination  fct       0      0      4    NA  NA      NA
##  5 Age          dbl       0      0     84     0  28.8    79
##  6 VIP          fct       0      0      3    NA  NA      NA
##  7 RoomService  dbl       0      0   1277     0 225.  14327
##  8 FoodCourt    dbl       0      0   1507     0 448.  29813
##  9 ShoppingMall dbl       0      0   1115     0 170.  23492
## 10 Spa          dbl       0      0   1327     0 305.  22408
## 11 VRDeck       dbl       0      0   1306     0 298.  24133
## 12 Transported  lgl       0      0      2     0   0.5     1
## 13 ailenum      chr       0      0   6217    NA  NA      NA
## 14 ailesira     chr       0      0      8    NA  NA      NA
## 15 deck         fct       0      0      9    NA  NA      NA
## 16 num          fct       0      0   1818    NA  NA      NA
## 17 side         fct       0      0      3    NA  NA      NA

Bu R kodu, “train” adlı bir veri çerçevesine yeni bir “aile” adlı sütun ekler. Bu sütun, “ailenum” adlı bir başka sütundaki değerlerin çiftlenip çiftlenmediğini kontrol eder ve buna bağlı olarak 1 veya 0 değeri al

train$aile <- ifelse(duplicated(train$ailenum) | duplicated(train$ailenum, fromLast = TRUE) , 1, 0)
test$aile <- ifelse(duplicated(test$ailenum) | duplicated(test$ailenum, fromLast = TRUE) , 1, 0)

Bu R kodu, “train” adlı bir veri çerçevesinden belirli sütunları seçerek ve ilk 20 gözlemi görüntüleyerek bir önizleme (head) oluşturur.

head(train[,c( "PassengerId", "ailenum", "ailesira",  "aile")] , 20)
## # A tibble: 20 × 4
##    PassengerId ailenum ailesira  aile
##    <chr>       <chr>   <chr>    <dbl>
##  1 0001_01     0001    01           0
##  2 0002_01     0002    01           0
##  3 0003_01     0003    01           1
##  4 0003_02     0003    02           1
##  5 0004_01     0004    01           0
##  6 0005_01     0005    01           0
##  7 0006_01     0006    01           1
##  8 0006_02     0006    02           1
##  9 0007_01     0007    01           0
## 10 0008_01     0008    01           1
## 11 0008_02     0008    02           1
## 12 0008_03     0008    03           1
## 13 0009_01     0009    01           0
## 14 0010_01     0010    01           0
## 15 0011_01     0011    01           0
## 16 0012_01     0012    01           0
## 17 0014_01     0014    01           0
## 18 0015_01     0015    01           0
## 19 0016_01     0016    01           0
## 20 0017_01     0017    01           1

Artık (ailenum,ailesira ve num)ıhtıyacımız kalamadığı için kaldırıyorum

train <- train %>% select(-c(ailenum, ailesira, num))
test <- test %>% select(-c(ailenum, ailesira, num))

Bu R dilindeki kod parçası, dplyr paketini kullanarak bir veri çerçevesinin tüm değişkenleri için temel istatistikleri elde etmeye çalışır. Ancak, describe_all() fonksiyonu direkt olarak dplyr paketinde bulunmamaktadır.

train %>% describe_all()
## # A tibble: 15 × 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 Destination  fct       0      0      4    NA  NA       NA
##  5 Age          dbl       0      0     84     0  28.8     79
##  6 VIP          fct       0      0      3    NA  NA       NA
##  7 RoomService  dbl       0      0   1277     0 225.   14327
##  8 FoodCourt    dbl       0      0   1507     0 448.   29813
##  9 ShoppingMall dbl       0      0   1115     0 170.   23492
## 10 Spa          dbl       0      0   1327     0 305.   22408
## 11 VRDeck       dbl       0      0   1306     0 298.   24133
## 12 Transported  lgl       0      0      2     0   0.5      1
## 13 deck         fct       0      0      9    NA  NA       NA
## 14 side         fct       0      0      3    NA  NA       NA
## 15 aile         dbl       0      0      2     0   0.45     1

LOGİSTİC REGRESYON

Logistik regresyonun katsayıları, ilgili bağımsız değişkenin bağımlı değişken üzerindeki etkisini belirtir. Pozitif bir katsayı, bağımsız değişkenin arttığında bağımlı değişkenin olasılığının arttığını gösterir. Negatif bir katsayı ise bağımsız değişkenin arttığında bağımlı değişkenin olasılığının azaldığını gösterir.

train için Bu R dilindeki kod, bir veri çerçevesinden belirli bir sütun aralığını (2. sütundan 15. sütuna kadar olan sütunlar) seçmeyi amaçlar. İşte bu kodun açıklamaları: train: Bu, üzerinde işlem yapılacak olan veri çerçevesini temsil eder. [2:15]: Bu ifade, veri çerçevesindeki sütunları seçmek için kullanılır. Burada 2:15, 2. sütundan başlayarak 15. sütuna kadar olan tüm sütunları seçer.

test için Bu R dilindeki kod, bir veri çerçevesinden belirli bir sütun aralığını (2. sütundan 15. sütuna kadar olan sütunlar) seçmeyi amaçlar. İşte bu kodun açıklamaları: train: Bu, üzerinde işlem yapılacak olan veri çerçevesini temsil eder. [2:15]: Bu ifade, veri çerçevesindeki sütunları seçmek için kullanılır. Burada 2:15, 2. sütundan başlayarak 15. sütuna kadar olan tüm sütunları seçer

train_set <- train[2:15]
test_set <- test[2:14]

R dilindeki kod, veri bölme işlemini gerçekleştirmek için caTools paketini kullanır. Veri setini eğitim ve test setlerine ayırmak, genellikle bir modeli eğitmek ve ardından modelin performansını değerlendirmek için kullanılır. İşte kodun açıklamaları: library(caTools): Bu ifade, caTools paketini yükler. Bu paket, rastgele veri bölme işlemi yapmak için kullanılır.

library(caTools)
set.seed(123)
split = sample.split(train_set$Transported, SplitRatio = 0.75)
training_set = subset(train_set, split == TRUE)
testing_set = subset(train_set, split == FALSE)

Bu R dilindeki kod, bir lojistik regresyon modelini oluşturmayı amaçlar. İşte bu kodun açıklamaları:

logistic = glm(formula = Transported ~ ., family = binomial,data = training_set)
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred

Bu R dilindeki kod, oluşturulan lojistik regresyon modeli (logistic modeli) kullanılarak test seti üzerindeki gözlemler için olasılık tahminleri elde etmeyi amaçlar.

prob_pred = predict(logistic, type = 'response' ,newdata = testing_set[-11])
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == :
## prediction from rank-deficient fit; attr(*, "non-estim") has doubtful cases

Bu R kodu, bir sınıflandırma modelinin tahminlerini belirli bir eşik değeri kullanarak ikili bir sınıfa dönüştürmeyi amaçlar. Eğer bir modelin çıktısı (olasılık tahminleri) belirli bir eşik değerden büyükse, tahmin 1 (genellikle pozitif sınıf); aksi takdirde, tahmin 0 (genellikle negatif sınıf) olacaktır.

y_pred = ifelse(prob_pred > 0.5, 1,0)

olaslığı tahmını 6.300825e-01 olaslığı true

Bu R dilindeki kod, belirli bir eşik değeri üzerinden elde edilen olasılık tahminlerini temel alarak sınıflandırma yapmayı amaçlar. İşte bu kodun açıklamaları:

y_true= ifelse(testing_set[11] == TRUE, 1,0)

Bu R dilindeki kod, bir karışıklık matrisi (confusion matrix) oluşturmayı amaçlar. Karışıklık matrisi, bir sınıflandırma modelinin performansını değerlendirmek için kullanılır ve gerçek ve tahmin edilen sınıfların sayılarını gösterir. İşte bu kodun açıklamaları:

cm = table(y_true, y_pred)

Bu R dilindeki kod, önceden oluşturulmuş bir karışıklık matrisini (cm) ekrana yazdırmayı amaçlar. Eğer bu kodu çalıştırırsanız, karışıklık matrisinin içeriğini görebilirsiniz. İşte bu kodun açıklamaları:

cm
##       y_pred
## y_true   0   1
##      0 819 260
##      1 189 905
(819 + 905)/(819 + 905 + 260 + 189)
## [1] 0.7933732

Bu R kodu, bir lojistik regresyon modeli oluşturmayı ve bu modeli kullanarak sınıflandırma tahminleri yapmayı amaçlamaktadır. İki bloktan oluşan bu kodlarda, birinci blokta lojistik regresyon modeli kurulurken, ikinci blokta bu model kullanılarak sınıflandırma tahminleri yapılır.

logistic_son = glm(formula = Transported ~ ., family = binomial, data = train_set)
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
prob_pred <- predict(logistic_son, type = 'response', newdata = test_set)
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == :
## prediction from rank-deficient fit; attr(*, "non-estim") has doubtful cases
y_pred <- ifelse(prob_pred > 0.5, 1, 0)

Bu R kodu, önceki bloklardan elde edilen sınıflandırma tahminlerini (y_pred) ve test setine ait yolcu kimliklerini (test$PassengerId) içeren iki vektör oluşturmayı amaçlamaktadır.

Transported <- as.character(y_pred)
PassengerId <- test$PassengerId

Bu R kodu, “Transported” adlı vektörü, eğer farklı bir veri türü veya yapısı içeriyorsa, düz bir vektöre dönüştürmeyi amaçlar

Transported <- as.vector(Transported)

Bu R kodu, iki vektörü yan yana (sütunlarını birleştirerek) içeren bir matris ya da veri çerçevesi oluşturmayı amaçlar. Bu tür bir birleştirme işlemi, genellikle model tahminlerini ve tahminlere karşılık gelen gözlem kimliklerini birleştirmek ve bir sunum ya da başka bir amaç için kullanmak için yapılır.

submission <- cbind(PassengerId, Transported)

Bu ifade, as.data.frame() fonksiyonunu kullanarak “submission” adlı matrisi veya başka bir nesneyi veri çerçevesine dönüştürür. as.data.frame() fonksiyonu, veri çerçevesi oluşturmak için kullanılır.

submission <- as.data.frame(submission)
library(stringr)

Bu R kodu, “submission” veri çerçevesindeki “Transported” sütunundaki metin verilerini başlık (title) formatına dönüştürmeyi amaçlar. str_to_title() fonksiyonu, metin verilerini başlık formatına getirmek için kullanılı

submission$Transported <- str_to_title(submission$Transported)

Bu R kodu, “submission” veri çerçevesini bir CSV dosyasına yazmayı amaçlar. CSV (Comma-Separated Values), virgülle ayrılmış değerler anlamına gelir ve tablo benzeri verileri depolamak için yaygın olarak kullanılan bir dosya biçimidir.

write.csv(submission, "submission_logistic.csv" , row.names = FALSE, quote = FALSE)

SVM

Hesaplama Maliyeti: Büyük veri setlerinde ve karmaşık modellerde hesaplama maliyeti yüksek olabilir.

Hiperparametre Ayarı: Hiperparametrelerin doğru bir şekilde ayarlanması genellikle deneyim ve hesaplama gücü gerektirir.

Çok Sınıflı Sınıflandırma: SVM, doğrudan çok sınıflı sınıflandırma problemleriyle başa çıkmak için tasarlanmamıştır. Ancak, bu sorun, birkaç ikili sınıflandırma problemiyle çözülebilir.

Bu R dilindeki kod, e1071 paketinde bulunan svm (Support Vector Machines) fonksiyonunu kullanarak bir Destek Vektör Makineleri (Support Vector Machines, SVM) sınıflandırma modeli oluşturmayı amaçlar. İşte bu kodun açıklamaları:

Bu R kodu, e1071 paketi kullanılarak bir destek vektör makinesi (SVM) sınıflandırma modeli kurmayı ve bu modeli kullanarak test veri setindeki gözlemleri sınıflandırmayı amaçlamaktadır.

library(e1071)
fit_svm <- svm(Transported ~ ., data = training_set, type = 'C-classification', kernel = 'linear')
preds <- predict(fit_svm, newdata = testing_set, type = "raw") %>% data.frame()

Bu R kodu, karışıklık matrisi (confusion matrix) oluşturmayı amaçlar. Karışıklık matrisi, sınıflandırma modelinin performansını değerlendirmek için kullanılan bir matristir. Bu matris, modelin gerçek sınıflara (y_true) ve model tarafından yapılan sınıflandırmalara (y_pred) göre doğru ve yanlış sınıflandırmaları gösterir.

cm = table(y_true, y_pred)

Bu R kodu, önceki adımda oluşturulan karışıklık matrisini (cm) ekrana bastırmak amacıyla kullanılır. Yani, bu ifade, karışıklık matrisinin içeriğini görmek için kullanılır.

cm
##       y_pred
## y_true FALSE TRUE
##      0   510  569
##      1    78 1016
(831 + 923)/(831 + 923 +171 + 248)
## [1] 0.807179

Bu R kodu, e1071 paketindeki svm fonksiyonunu kullanarak bir destek vektör makinesi (SVM) sınıflandırma modeli oluşturmayı amaçlar. İşte bu kodun adım adım açıklaması:

svm_son <- svm(Transported ~ ., data = train_set, type = 'C-classification', kernel = 'linear')

Bu R kodu, daha önce eğitilmiş olan destek vektör makinesi (SVM) sınıflandırma modeli (svm_son) kullanılarak yeni bir veri setindeki gözlemlerin sınıflandırma tahminlerini yapmayı amaçlar. İşte bu kodun adım adım açıklaması:

preds <- predict(svm_son, newdata = test_set, type = "response") %>% data.frame()

Bu R kodu, daha önce elde edilen preds veri çerçevesindeki sınıflandırma tahminlerini (preds$.) y_pred adlı bir vektöre atamayı amaçlar. İşte bu kodun adım adım açıklaması:

y_pred = preds$.

Bu R kodu, daha önce elde edilen y_pred vektörünü kullanarak sınıflandırma tahminlerini karakter dizisine dönüştürmeyi ve test setindeki yolcu ID’lerini (PassengerId) elde etmeyi amaçlar. İşte bu kodun adım adım açıklaması:

Transported <- as.character(y_pred)
PassengerId <- test$PassengerId

Bu R kodu, daha önce oluşturulan Transported karakter dizisini bir vektöre dönüştürmeyi amaçlar. Ancak, as.vector() fonksiyonu kullanılmasına gerek yoktur, çünkü as.character() fonksiyonu zaten bir karakter dizisini bir karakter vektörüne dönüştürebilir.

Transported <- as.vector(Transported)

Bu R kodu, daha önce elde edilen PassengerId ve Transported vektörlerini kullanarak bir veri çerçevesi oluşturmayı amaçlar. İşte bu kodun adım adım açıklaması:

submission <- cbind(PassengerId, Transported)

Bu R kodu, submission adlı nesnenin türünü veri çerçevesine dönüştürmeyi amaçlar. İşte bu kodun adım adım açıklaması:

submission <- as.data.frame(submission)

Bu R kodu, submission veri çerçevesindeki “Transported” sütunundaki karakter dizilerin baş harfini büyük yapmayı amaçlar. str_to_title() fonksiyonu, karakter dizisinin her kelimesinin baş harfini büyük yapar.

submission$Transported <- str_to_title(submission$Transported)

Bu R kodu, submission veri çerçevesini bir CSV dosyasına yazmayı amaçlar. İşte bu kodun adım adım açıklaması:

write.csv(submission, "sub_svm.csv",row.names = FALSE, quote = FALSE)

SVM RADİAL (KERNE1)

SVM’nin “radial” veya “RBF” çekirdeğinin kullanılması, SVM algoritmasının özellikle karmaşık ve karışık veri yapılarıyla başa çıkabilme yeteneğini artırır. RBF çekirdeği, veri noktalarının uzaysal dağılımına duyarlılık gösterir ve bu, SVM’nin esnek bir şekilde sınıflandırma yapmasına yardımcı olur.

Bu R kodu, destek vektör makineleri (SVM) kullanarak bir sınıflandırma modeli oluşturur. SVM, özellikle sınıflandırma problemleri için kullanılan bir makine öğrenimi algoritmasıdır. Burada kullanılan kod, e1071 paketinde bulunan svm fonksiyonunu kullanmaktadır.

svm_ker_son = svm(Transported ~ ., data =train_set, type = 'C-classification', kernel = 'radial')

Bu R kodu, daha önce eğitilmiş olan destek vektör makinesi (SVM) sınıflandırma modeli (svm_son) kullanılarak yeni bir veri setindeki gözlemlerin sınıflandırma tahminlerini yapmayı amaçlar. İşte bu kodun adım adım açıklaması:

perds <- predict(svm_ker_son, newdata =  test_set, type = "raw") %>% data.frame()

Bu R kodu, daha önce elde edilen preds veri çerçevesindeki sınıflandırma tahminlerini (preds$.) y_pred adlı bir vektöre atamayı amaçlar. İşte bu kodun adım adım açıklaması:

y_pred = preds$.

Bu R kodu, daha önce elde edilen y_pred vektörünü kullanarak sınıflandırma tahminlerini karakter dizisine dönüştürmeyi ve test setindeki yolcu ID’lerini (PassengerId) elde etmeyi amaçlar. İşte bu kodun adım adım açıklaması:

Transported <- as.character(y_pred)
PassengerId <- test$PassengerId

Bu R kodu, daha önce oluşturulan Transported karakter dizisini bir vektöre dönüştürmeyi amaçlar. Ancak, as.vector() fonksiyonu kullanılmasına gerek yoktur, çünkü as.character() fonksiyonu zaten bir karakter dizisini bir karakter vektörüne dönüştürebilir.

Transported <- as.vector(Transported)

Bu R kodu, daha önce elde edilen PassengerId ve Transported vektörlerini kullanarak bir veri çerçevesi oluşturmayı amaçlar. İşte bu kodun adım adım açıklaması:

submission <- cbind(PassengerId, Transported)

Bu R kodu, submission adlı nesnenin türünü veri çerçevesine dönüştürmeyi amaçlar. İşte bu kodun adım adım açıklaması:

submission <- as.data.frame(submission)

Bu R kodu, submission veri çerçevesindeki “Transported” sütunundaki karakter dizilerin baş harfini büyük yapmayı amaçlar. str_to_title() fonksiyonu, karakter dizisinin her kelimesinin baş harfini büyük yapar.

library(stringr)

submission$Transported <- str_to_title(submission$Transported)

Bu R kodu, submission veri çerçevesini bir CSV dosyasına yazmayı amaçlar. İşte bu kodun adım adım açıklaması:

write.csv(submission, "sub_kernelsvm.csv", row.names =FALSE, quote = FALSE)