Final Projesi
Spaceship Titanic
olayımız Hakkında Bilgi
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ı!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ı!
Sütunların Açıklamalarına Bakalım
train.csv - Yolcuların yaklaşık üçte ikisinin (~8700) kişisel kayıtları, eğitim verileri olarak kullanılacak.
PassengerId - Her yolcu için benzersiz bir Kimlik. Her Kimlik gggg_pp biçimini alır; burada gggg yolcunun birlikte seyahat ettiği grubu belirtir ve pp grup içindeki numaradır. Bir gruptaki insanlar çoğunlukla aile üyeleridir, ancak her zaman değil.
HomePlanet - Yolcunun ayrıldığı gezegen, genellikle daimi ikamet ettikleri gezegen.
CryoSleep - Yolcunun yolculuk süresince animasyonun askıya alınmasını seçip seçmediğini belirtir. Dondurucu uykudaki yolcular kabinlerine hapsedilir.
Kabin - Yolcunun kaldığı kabin numarası. Güverte/numara/yan formunu alır; burada taraf, İskele için P veya Sancak için S olabilir.
Hedef - Yolcunun ineceği gezegen.
Yaş - Yolcunun yaşı.
VIP - Yolcunun yolculuk sırasında özel VIP hizmeti için ödeme yapıp yapmadığı.
RoomService, FoodCourt, Alışveriş Merkezi, Spa, VRDeck - Yolcunun, Spaceship Titanic’in birçok lüks olanağının her birinde fatura ettiği tutar.
Adı - Yolcunun adı ve soyadı.
Taşındı - Yolcunun başka bir boyuta taşınıp taşınmadığı. Bu hedeftir, tahmin etmeye çalıştığınız sütundur.
test.csv - Yolcuların geri kalan üçte birinin (~4300) kişisel kayıtları, test verisi olarak kullanılacak. Göreviniz bu setteki yolcular için Taşınan değerini tahmin etmektir.
sample_submission.csv - Doğru formatta bir gönderim dosyası.
PassengerId - Test setindeki her yolcunun kimliği.
Taşınan - Hedef. Her yolcu için Doğru veya Yanlış’ı tahmin edin.
## ── 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
## # 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 chr 217 2.5 3 NA NA NA
## 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 chr 203 2.3 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 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 chr 0 0 2 NA NA NA
Bu R kodu, “train” adlı bir veri çerçevesindeki “PassengerId” sütununu alt çizgi karakteri (“_“) ile bölmek ve elde edilen parçaları”ailenum” ve “ailesira” adlı iki yeni sütuna atamak amacıyla yazılmıştır.
Bu R kodu, “test” adlı bir veri çerçevesindeki “PassengerId” sütununu alt çizgi karakteri (“_“) ile bölmek ve elde edilen parçaları”ailenum” ve “ailesira” adlı iki yeni sütuna atamak amacıyla yazılmıştır.
train <- separate(train, Cabin, c('deck','num','side')) # train için
test <- separate(test, Cabin, c('deck','num','side')) #test için Bu R kodu, “train” ve “test” adlı iki ayrı veri çerçevesindeki “Cabin” sütununu ayrıştırmak ve bu sütunu üç farklı sütuna bölerek yeni sütunlar oluşturmak amacıyla yazılmıştır. İlgili sütunlar “deck”, “num”, ve “side” olarak adlandırılmıştır.
## # 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 chr 217 2.5 3 NA NA NA
## 4 deck chr 199 2.3 9 NA NA NA
## 5 num chr 199 2.3 1818 NA NA NA
## 6 side chr 199 2.3 3 NA NA NA
## 7 Destination chr 182 2.1 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP chr 203 2.3 3 NA NA NA
## 10 RoomService dbl 181 2.1 1274 0 225. 14327
## 11 FoodCourt dbl 183 2.1 1508 0 458. 29813
## 12 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 13 Spa dbl 183 2.1 1328 0 311. 22408
## 14 VRDeck dbl 188 2.2 1307 0 305. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
Bu kod, “HomePlanet” sütunundaki eksik değerlere (NA) bir değer ekleyerek, veri çerçevesindeki eksik verilerle başa çıkmak için kullanılabilir. Eğer “HomePlanet” sütununda zaten eksik değerler varsa, bu kod bu eksik değerlere bir değer ekleyecektir.
## # 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 chr 217 2.5 3 NA NA NA
## 4 deck chr 199 2.3 9 NA NA NA
## 5 num chr 199 2.3 1818 NA NA NA
## 6 side chr 199 2.3 3 NA NA NA
## 7 Destination chr 182 2.1 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP chr 203 2.3 3 NA NA NA
## 10 RoomService dbl 181 2.1 1274 0 225. 14327
## 11 FoodCourt dbl 183 2.1 1508 0 458. 29813
## 12 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 13 Spa dbl 183 2.1 1328 0 311. 22408
## 14 VRDeck dbl 188 2.2 1307 0 305. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
Bu kod, “CryoSleep” sütunundaki eksik değerlere (NA) bir değer ekleyerek, veri çerçevesindeki eksik verilerle başa çıkmak için kullanılabilir. Eğer “CryoSleep” sütununda zaten eksik değerler varsa, bu kod bu eksik değerlere bir değer ekleyecektir.
## # 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 deck chr 199 2.3 9 NA NA NA
## 5 num chr 199 2.3 1818 NA NA NA
## 6 side chr 199 2.3 3 NA NA NA
## 7 Destination chr 182 2.1 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP chr 203 2.3 3 NA NA NA
## 10 RoomService dbl 181 2.1 1274 0 225. 14327
## 11 FoodCourt dbl 183 2.1 1508 0 458. 29813
## 12 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 13 Spa dbl 183 2.1 1328 0 311. 22408
## 14 VRDeck dbl 188 2.2 1307 0 305. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
## [1] "TRAPPIST-1e" "PSO J318.5-22" "55 Cancri e" NA
Bu kod, “Destination” sütunundaki benzersiz değerleri listeleyecektir. Bu, özellikle kategorik bir sütunun içeriğini anlamak ve bu kategoriler arasında farklılıkları gözlemlemek için kullanışlıdır.
Bu kod, “Destination” sütunlarındaki eksik değerlere bir değer ekleyerek, her iki veri çerçevesindeki eksik verilerle başa çıkmak için kullanılır. Eğer “Destination” sütununda zaten eksik değerler varsa, bu kod bu eksik değerlere bir değer ekleyecektir.
## # 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 deck chr 199 2.3 9 NA NA NA
## 5 num chr 199 2.3 1818 NA NA NA
## 6 side chr 199 2.3 3 NA NA NA
## 7 Destination fct 0 0 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP chr 203 2.3 3 NA NA NA
## 10 RoomService dbl 181 2.1 1274 0 225. 14327
## 11 FoodCourt dbl 183 2.1 1508 0 458. 29813
## 12 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 13 Spa dbl 183 2.1 1328 0 311. 22408
## 14 VRDeck dbl 188 2.2 1307 0 305. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
Bu R kodu, “train” ve “test” veri çerçevelerindeki “VIP” sütunlarındaki eksik değerlere (NA: Not Available) bir değer eklemek ve ardından “train” veri çerçevesinin tüm sütunlarının istatistik özetini almak için kullanılmıştır.
## # 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 deck chr 199 2.3 9 NA NA NA
## 5 num chr 199 2.3 1818 NA NA NA
## 6 side chr 199 2.3 3 NA NA NA
## 7 Destination fct 0 0 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP fct 0 0 3 NA NA NA
## 10 RoomService dbl 181 2.1 1274 0 225. 14327
## 11 FoodCourt dbl 183 2.1 1508 0 458. 29813
## 12 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 13 Spa dbl 183 2.1 1328 0 311. 22408
## 14 VRDeck dbl 188 2.2 1307 0 305. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
Bu kod ise dplyr paketi kullanılarak “train” veri çerçevesinin tüm sütunları için istatistik özetini alır.
Bu kod, “FoodCourt” sütunlarındaki eksik değerlere sıfır ekleyerek, veri çerçevelerindeki eksik verilerle başa çıkmak için kullanılır.
## # 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 deck chr 199 2.3 9 NA NA NA
## 5 num chr 199 2.3 1818 NA NA NA
## 6 side chr 199 2.3 3 NA NA NA
## 7 Destination fct 0 0 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP fct 0 0 3 NA NA NA
## 10 RoomService dbl 181 2.1 1274 0 225. 14327
## 11 FoodCourt dbl 0 0 1507 0 448. 29813
## 12 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 13 Spa dbl 183 2.1 1328 0 311. 22408
## 14 VRDeck dbl 188 2.2 1307 0 305. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
Bu kod, “CryoSleep” sütunlarındaki eksik değerlere bir değer ekleyerek, her iki veri çerçevesindeki eksik verilerle başa çıkmak için kullanılır. Eğer “CryoSleep” sütununda zaten eksik değerler varsa, bu kod bu eksik değerlere bir değer ekleyecektir.
## # 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 deck chr 199 2.3 9 NA NA NA
## 5 num chr 199 2.3 1818 NA NA NA
## 6 side chr 199 2.3 3 NA NA NA
## 7 Destination fct 0 0 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP fct 0 0 3 NA NA NA
## 10 RoomService dbl 181 2.1 1274 0 225. 14327
## 11 FoodCourt dbl 0 0 1507 0 448. 29813
## 12 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 13 Spa dbl 183 2.1 1328 0 311. 22408
## 14 VRDeck dbl 188 2.2 1307 0 305. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
## # 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 deck chr 199 2.3 9 NA NA NA
## 5 num chr 199 2.3 1818 NA NA NA
## 6 side chr 199 2.3 3 NA NA NA
## 7 Destination fct 0 0 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP fct 0 0 3 NA NA NA
## 10 RoomService dbl 181 2.1 1274 0 225. 14327
## 11 FoodCourt dbl 0 0 1507 0 448. 29813
## 12 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 13 Spa dbl 183 2.1 1328 0 311. 22408
## 14 VRDeck dbl 188 2.2 1307 0 305. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
Bu kod, “ShoppingMall” sütunlarındaki eksik değerlere 0 ekleyerek, veri çerçevelerindeki eksik verilerle başa çıkmak için kullanılır. Eksik değerleri belirli bir değerle doldurmak, analiz ve modelleme süreçlerinde veri temizleme ve hazırlık aşamalarında yaygın bir uygulamadır.
## # 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 deck chr 199 2.3 9 NA NA NA
## 5 num chr 199 2.3 1818 NA NA NA
## 6 side chr 199 2.3 3 NA NA NA
## 7 Destination fct 0 0 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP fct 0 0 3 NA NA NA
## 10 RoomService dbl 181 2.1 1274 0 225. 14327
## 11 FoodCourt dbl 0 0 1507 0 448. 29813
## 12 ShoppingMall dbl 0 0 1115 0 170. 23492
## 13 Spa dbl 183 2.1 1328 0 311. 22408
## 14 VRDeck dbl 188 2.2 1307 0 305. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
Bu kod, “Spa” sütunlarındaki eksik değerlere 0 ekleyerek, veri çerçevelerindeki eksik verilerle başa çıkmak için kullanılır. Eksik değerleri belirli bir değerle doldurmak, analiz ve modelleme süreçlerinde veri temizleme ve hazırlık aşamalarında yaygın bir uygulamadır.
## # 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 deck chr 199 2.3 9 NA NA NA
## 5 num chr 199 2.3 1818 NA NA NA
## 6 side chr 199 2.3 3 NA NA NA
## 7 Destination fct 0 0 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP fct 0 0 3 NA NA NA
## 10 RoomService dbl 181 2.1 1274 0 225. 14327
## 11 FoodCourt dbl 0 0 1507 0 448. 29813
## 12 ShoppingMall dbl 0 0 1115 0 170. 23492
## 13 Spa dbl 0 0 1327 0 305. 22408
## 14 VRDeck dbl 188 2.2 1307 0 305. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
Bu kod, “VRDeck” sütunlarındaki eksik değerlere 0 ekleyerek, veri çerçevelerindeki eksik verilerle başa çıkmak için kullanılır. Eksik değerleri belirli bir değerle doldurmak, analiz ve modelleme süreçlerinde veri temizleme ve hazırlık aşamalarında yaygın bir uygulamadır.
## # 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 deck chr 199 2.3 9 NA NA NA
## 5 num chr 199 2.3 1818 NA NA NA
## 6 side chr 199 2.3 3 NA NA NA
## 7 Destination fct 0 0 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP fct 0 0 3 NA NA NA
## 10 RoomService dbl 181 2.1 1274 0 225. 14327
## 11 FoodCourt dbl 0 0 1507 0 448. 29813
## 12 ShoppingMall dbl 0 0 1115 0 170. 23492
## 13 Spa dbl 0 0 1327 0 305. 22408
## 14 VRDeck dbl 0 0 1306 0 298. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
Bu kod, “train” veri çerçevesine “deck” adında yeni bir sütun ekler ve bu sütunu “side” sütunu ile doldurur. Aynı işlem “test” veri çerçevesinde de gerçekleşir, ancak burada “side” sütununda eksik değer olan gözlemler, addNA fonksiyonu ile birlikte yeni bir “side” sütununa eklenir.
## # 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 deck chr 199 2.3 9 NA NA NA
## 5 num chr 199 2.3 1818 NA NA NA
## 6 side fct 0 0 3 NA NA NA
## 7 Destination fct 0 0 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP fct 0 0 3 NA NA NA
## 10 RoomService dbl 181 2.1 1274 0 225. 14327
## 11 FoodCourt dbl 0 0 1507 0 448. 29813
## 12 ShoppingMall dbl 0 0 1115 0 170. 23492
## 13 Spa dbl 0 0 1327 0 305. 22408
## 14 VRDeck dbl 0 0 1306 0 298. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
Bu kod, var olan “deck” sütunlarını koruyarak, her iki veri çerçevesine de yeni bir “deck” sütunu ekler ve bu sütunu var olan “deck” sütununun değerleri ile doldurur.
## # 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 deck fct 0 0 9 NA NA NA
## 5 num chr 199 2.3 1818 NA NA NA
## 6 side fct 0 0 3 NA NA NA
## 7 Destination fct 0 0 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP fct 0 0 3 NA NA NA
## 10 RoomService dbl 181 2.1 1274 0 225. 14327
## 11 FoodCourt dbl 0 0 1507 0 448. 29813
## 12 ShoppingMall dbl 0 0 1115 0 170. 23492
## 13 Spa dbl 0 0 1327 0 305. 22408
## 14 VRDeck dbl 0 0 1306 0 298. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
Bu kod, var olan “num” sütunlarını koruyarak, her iki veri çerçevesine de yeni bir “num” sütunu ekler ve bu sütunu var olan “num” sütununun değerleri ile doldurur. Eğer “num” sütununda eksik değerler varsa, addNA fonksiyonu bu eksik değerlere NA ekleyecektir.
## # 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 deck fct 0 0 9 NA NA NA
## 5 num fct 0 0 1818 NA NA NA
## 6 side fct 0 0 3 NA NA NA
## 7 Destination fct 0 0 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP fct 0 0 3 NA NA NA
## 10 RoomService dbl 181 2.1 1274 0 225. 14327
## 11 FoodCourt dbl 0 0 1507 0 448. 29813
## 12 ShoppingMall dbl 0 0 1115 0 170. 23492
## 13 Spa dbl 0 0 1327 0 305. 22408
## 14 VRDeck dbl 0 0 1306 0 298. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
Bu kod, “RoomService” sütunlarındaki eksik değerlere 0 ekleyerek, veri çerçevelerindeki eksik verilerle başa çıkmak için kullanılır. Bu R kodu, “train” ve “test” veri çerçevelerindeki “RoomService” sütunlarındaki eksik değerlere (NA: Not Available) 0 (sıfır) değerini atamak için kullanılmıştır. mutate fonksiyonu, yeni bir sütun oluşturmayı veya var olan bir sütunu değiştirmeyi sağlar, coalesce fonksiyonu ise belirtilen sütunlardan ilki içindeki eksik değeri bulup, varsa sıradaki değeri kullanır.
## # 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 deck fct 0 0 9 NA NA NA
## 5 num fct 0 0 1818 NA NA NA
## 6 side fct 0 0 3 NA NA NA
## 7 Destination fct 0 0 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP fct 0 0 3 NA NA NA
## 10 RoomService dbl 0 0 1273 0 220. 14327
## 11 FoodCourt dbl 0 0 1507 0 448. 29813
## 12 ShoppingMall dbl 0 0 1115 0 170. 23492
## 13 Spa dbl 0 0 1327 0 305. 22408
## 14 VRDeck dbl 0 0 1306 0 298. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
u R kodu, “train”“rest” veri çerçevesindeki “VIP” değişkenindeki eksik değerlere (NA) özel bir değer olan “NA” eklemek için kullanılır. addNA fonksiyonu, bir vektördeki eksik değerlere özel bir değeri eklemek için kullanılır.
Bu R kodu, “train” ve “test” veri çerçevelerindeki “VIP” sütunlarındaki eksik değerlere (NA: Not Available) bir değer eklemek için kullanılmıştır. addNA fonksiyonu, belirtilen vektördeki eksik değerlere NA ekleyerek yeni bir vektör oluşturur. Bu kod, “VIP” sütunlarındaki eksik değerlere bir değer ekleyerek, her iki veri çerçevesindeki eksik verilerle başa çıkmak için kullanılır. Eğer “VIP” sütununda zaten eksik değerler varsa, bu kod bu eksik değerlere bir değer ekleyecektir.
## # 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 deck fct 0 0 9 NA NA NA
## 5 num fct 0 0 1818 NA NA NA
## 6 side fct 0 0 3 NA NA NA
## 7 Destination fct 0 0 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP fct 0 0 3 NA NA NA
## 10 RoomService dbl 0 0 1273 0 220. 14327
## 11 FoodCourt dbl 0 0 1507 0 448. 29813
## 12 ShoppingMall dbl 0 0 1115 0 170. 23492
## 13 Spa dbl 0 0 1327 0 305. 22408
## 14 VRDeck dbl 0 0 1306 0 298. 24133
## 15 Name chr 200 2.3 8474 NA NA NA
## 16 Transported chr 0 0 2 NA NA NA
## 17 ailenum chr 0 0 6217 NA NA NA
## 18 ailesira chr 0 0 8 NA NA NA
name bir şey ifade etmiyor. bilgi katmadığı için çok önemli bir durum olmadığı için name’i silelim. silmek için aşağıdaki kodu kullanıyoruz. .
Bu kod sonucunda, “train” veri çerçevesindeki “Name” sütunu çıkartılır ve güncellenmiş “train” veri çerçevesi elde edilir. Bu tür bir işlem, gereksiz veya analizde kullanılmayacak sütunları veri çerçevesinden çıkarmak için kullanılır ve veri setinin boyutunu küçültmek veya analizde odaklanılan sütunları belirlemek için faydalıdır.
## # 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 deck fct 0 0 9 NA NA NA
## 5 num fct 0 0 1818 NA NA NA
## 6 side fct 0 0 3 NA NA NA
## 7 Destination fct 0 0 4 NA NA NA
## 8 Age dbl 179 2.1 81 0 28.8 79
## 9 VIP fct 0 0 3 NA NA NA
## 10 RoomService dbl 0 0 1273 0 220. 14327
## 11 FoodCourt dbl 0 0 1507 0 448. 29813
## 12 ShoppingMall dbl 0 0 1115 0 170. 23492
## 13 Spa dbl 0 0 1327 0 305. 22408
## 14 VRDeck dbl 0 0 1306 0 298. 24133
## 15 Transported chr 0 0 2 NA NA NA
## 16 ailenum chr 0 0 6217 NA NA NA
## 17 ailesira chr 0 0 8 NA NA NA
Bu R kodu, “train” ve “test” veri çerçevelerine yeni bir “aile” sütunu ekler. Bu sütun, “ailenum” sütunundaki değerlerin çiftlenip çiftlenmediğini kontrol eder. Eğer bir değer daha önce görüldüyse (ilk görülen hariç) veya sondan başa doğru bir değer daha önce görüldüyse, “aile” sütunu 1 olarak atanır, aksi takdirde 0 olarak atanır.
Bu işlem, genellikle veri setinde benzersiz öğeleri belirlemek veya belirli bir koşulu sağlayan gözlemleri işaretlemek için kullanılır. Bu durumda, “ailenum” sütununda çiftlenen değerler “aile” sütununa 1 olarak atanmış, çiftlenmeyen değerler ise 0 olarak atanmıştır.
Aşağıdaki R kodu, “train” veri çerçevesinin “PassengerId”, “ailenum”, “ailesira” ve “aile” sütunlarını seçip, ilk 20 gözlemi gösterir:
## PassengerId ailenum ailesira aile
## 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
Bu R kodu, “train” ve “test” veri çerçevelerinden “ailenum”, “ailesira” ve “num” sütunlarını çıkarmak için kullanılmıştır. select fonksiyonu, belirli sütunları seçmek veya çıkarmak için kullanılır. Bu kod, belirtilen sütunları çıkararak veri çerçevelerini günceller.
## # 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 deck fct 0 0 9 NA NA NA
## 5 side fct 0 0 3 NA NA NA
## 6 Destination fct 0 0 4 NA NA NA
## 7 Age dbl 179 2.1 81 0 28.8 79
## 8 VIP fct 0 0 3 NA NA NA
## 9 RoomService dbl 0 0 1273 0 220. 14327
## 10 FoodCourt dbl 0 0 1507 0 448. 29813
## 11 ShoppingMall dbl 0 0 1115 0 170. 23492
## 12 Spa dbl 0 0 1327 0 305. 22408
## 13 VRDeck dbl 0 0 1306 0 298. 24133
## 14 Transported chr 0 0 2 NA NA NA
## 15 aile dbl 0 0 2 0 0.45 1
Bu R kodu, “train” ve “test” veri çerçevelerindeki “Age” sütunundaki eksik değerlere sütundaki diğer değerlerin ortalamasıyla doldurulmasını sağlar. is.na() fonksiyonu, bir vektördeki değerlerin NA (eksik) olup olmadığını kontrol eder.
Bu kod, “Age” sütunundaki eksik değerlere sütunun genel ortalaması ile doldurma işlemini gerçekleştirir. Benzer şekilde, ikinci blok da “test” veri çerçevesinde aynı işlemi uygular. Eksik değerleri doldurmak, analiz ve modelleme süreçlerinde yaygın bir veri temizleme yöntemidir.
## # 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 deck fct 0 0 9 NA NA NA
## 5 side fct 0 0 3 NA NA NA
## 6 Destination fct 0 0 4 NA NA NA
## 7 Age dbl 0 0 81 0 28.8 79
## 8 VIP fct 0 0 3 NA NA NA
## 9 RoomService dbl 0 0 1273 0 220. 14327
## 10 FoodCourt dbl 0 0 1507 0 448. 29813
## 11 ShoppingMall dbl 0 0 1115 0 170. 23492
## 12 Spa dbl 0 0 1327 0 305. 22408
## 13 VRDeck dbl 0 0 1306 0 298. 24133
## 14 Transported chr 0 0 2 NA NA NA
## 15 aile dbl 0 0 2 0 0.45 1
## # 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 deck fct 0 0 9 NA NA NA
## 5 side fct 0 0 3 NA NA NA
## 6 Destination fct 0 0 4 NA NA NA
## 7 Age dbl 0 0 81 0 28.8 79
## 8 VIP fct 0 0 3 NA NA NA
## 9 RoomService dbl 0 0 1273 0 220. 14327
## 10 FoodCourt dbl 0 0 1507 0 448. 29813
## 11 ShoppingMall dbl 0 0 1115 0 170. 23492
## 12 Spa dbl 0 0 1327 0 305. 22408
## 13 VRDeck dbl 0 0 1306 0 298. 24133
## 14 Transported chr 0 0 2 NA NA NA
## 15 aile dbl 0 0 2 0 0.45 1
LOGİSTİC REGRESSİON
Bu işlem, “Transported” sütunundaki değerleri mantıksal bir veri tipine dönüştürerek, bu sütunun içindeki bilgilerin doğruluğunu ve kullanılabilirliğini artırmayı amaçlar.
Bu R kodu, “train” veri çerçevesinden sadece 2. ila 15. sütunlar arasındaki sütunları içeren yeni bir “train_set” veri çerçevesi oluşturur. Kodun açıklaması şu şekildedir: train: Orijinal veri çerçevesinin adı. [2:15]: 2. sütundan 15. sütuna kadar olan sütunları seçer. train_set <- …: Seçilen sütunları içeren yeni bir veri çerçevesi olan “train_set” adlı değişkene atar.
Bu R kodu, “test” veri çerçevesinden sadece 2. ila 14. sütunlar arasındaki sütunları içeren yeni bir “test_set” veri çerçevesi oluşturur. Kodun açıklaması şu şekildedir: test: Orijinal test veri çerçevesinin adı. [2:14]: 2. sütundan 14. sütuna kadar olan sütunları seçer. test_set <- …: Seçilen sütunları içeren yeni bir veri çerçevesi olan “test_set” adlı değişkene atar.
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 kodu, “caTools” paketini kullanarak bir veri setini eğitim ve test setlerine bölmek için kullanılır. Ayrıca, set.seed(123) ifadesi, rastgele sayı üretme işlemlerinde tekrarlanabilirliği sağlamak için kullanılır. library(caTools): “caTools” paketini yükler.
set.seed(123): Rastgele sayı üretiminde kullanılan tohum değerini belirler, bu sayede işlemlerin tekrarlanabilirliği sağlanır. sample.split(train_set$Transported, SplitRatio = 0.75): “train_set” veri çerçevesinin “Transported” sütununa göre belirtilen oranda (0.75) rastgele bölünmesini sağlar. Böylece, verinin %75’i eğitim setine, %25’i test setine ayrılır. subset(train_set, split == TRUE): “split” vektöründe TRUE olan gözlemleri seçerek eğitim setini oluşturur. subset(train_set, split == FALSE): “split” vektöründe FALSE olan gözlemleri seçerek test setini oluşturur.
Bu kod bloğu, veriyi belirtilen oranda rastgele böler ve eğitim seti ile test setini oluşturur. Bu tür bir bölme işlemi, genellikle veri setini eğitim ve test setlerine ayırmak için kullanılır, böylece modelin eğitilmesi ve performansının değerlendirilmesi için ayrı ayrı veri setleri elde edilir.
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
Bu R kodu, “glm” (Generalized Linear Model) fonksiyonunu kullanarak bir lojistik regresyon modeli oluşturur. Bu model, bağımlı değişkenin “Transported” olduğu ve diğer tüm sütunlardan (bağımsız değişkenler) etkilendiği bir lojistik regresyon modelini temsil eder. logistic: Oluşturulan lojistik regresyon modelini temsil eden bir nesne. glm(): Generalized Linear Model fonksiyonu. formula = Transported ~ .: Modelin formülü, “Transported” sütunu ile tüm diğer sütunlar arasındaki ilişkiyi ifade eder. “~ .” ifadesi, tüm diğer sütunları ifade eder. family = binomial: Lojistik regresyon modelinin bağımlı değişkeninin binom dağılıma sahip olduğunu belirtir. data = training_set: Modelin eğitileceği veri setini belirtir, bu durumda “training_set” veri çerçevesi.
Bu kod, belirtilen formül ve veri seti üzerinde lojistik regresyon modeli oluşturur. Bu tür bir model, genellikle iki sınıflı (binary) bağımlı değişkenlerle çalışmak için kullanılır. Oluşturulan modeli daha sonra eğitmek, tahmin yapmak ve performansını değerlendirmek için kullanabilirsiniz.
## 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 olasılık tahminleri, genellikle bir sınıfa ait olma olasılıkları olarak yorumlanır. Tahmin edilen olasılıkların eşik değeri belirlenerek, sınıflandırma yapabilirsiniz. Örneğin, eşik değeri %50 olarak belirlenirse, olasılık %50’den büyükse gözlem “1”, değilse “0” olarak sınıflandırılabilir.
Bu kod, lojistik regresyon modelinin test setindeki gözlemlere ait olasılıklarını 0.5 eşiği üzerinde veya altında olup olmadığına bakarak bir sınıflandırma yapar. “y_pred” vektörü, her bir gözlem için 0 veya 1 değerini içerir ve genellikle modelin tahmin ettiği sınıf etiketlerini temsil eder.
Bu kod, test setindeki gerçek “Transported” değerlerine dayanarak, her bir gözlem için gerçek sınıf etiketlerini içeren bir vektör oluşturur. “y_true” vektörü, test setindeki gerçek sınıflandırma etiketlerini temsil eder.
Bu R kodu, “y_true” ve “y_pred” vektörleri arasında bir karmaşıklık matrisi (confusion matrix) oluşturur. Karmaşıklık matrisi, sınıflandırma modelinin performansını değerlendirmek için kullanılır ve gerçek ve tahmin edilen sınıflar arasındaki ilişkiyi gösterir.
## y_pred
## y_true 0 1
## 0 820 259
## 1 190 904
## [1] 0.7933732
Bu R kodu, bir doğruluk (accuracy) hesaplaması yapar. Doğruluk, bir sınıflandırma modelinin doğru tahmin ettiği gözlemlerin toplam gözlem sayısına oranını ifade eder. Bu ifade, toplam doğru tahmin edilen gözlemlerin (true_positive + true_negative) toplam gözlem sayısına bölünerek doğruluk oranını verir. Bu tür bir metrik, modelin genel performansını değerlendirmek için kullanılabilir. hesaplamadan elde edilen değer, modelin doğru tahmin etme oranını yüzde cinsinden ifade eder.
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
logistic_son: Oluşturulan lojistik regresyon modelini temsil eden bir nesne. glm(): Generalized Linear Model fonksiyonu. formula = Transported ~ .: Modelin formülü, “Transported” sütunu ile tüm diğer sütunlar arasındaki ilişkiyi ifade eder. “~ .” ifadesi, tüm diğer sütunları ifade eder. family = binomial: Lojistik regresyon modelinin bağımlı değişkeninin binom dağılıma sahip olduğunu belirtir. data = train_set: Modelin eğitileceği veri setini belirtir, bu durumda “train_set” veri çerçevesi. Bu kod, belirtilen formül ve veri seti üzerinde bir lojistik regresyon modeli oluşturur. Oluşturulan modeli daha sonra eğitmek, tahmin yapmak ve performansını değerlendirmek için kullanabilirsiniz.
## 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, “logistic_son” adlı önceden eğitilmiş lojistik regresyon modelini kullanarak “test_set” veri çerçevesindeki gözlemlere ait olasılık tahminlerini yapar. İlgili kodun açıklaması şu şekildedir:
R Copy code prob_pred <- predict(logistic_son, type = ‘response’, newdata = test_set) prob_pred: Bu değişken, “logistic_son” lojistik regresyon modelini kullanarak yapılan olasılık tahminlerini içerir. predict(logistic_son, type = ‘response’, newdata = test_set): Bu ifade, “logistic_son” adlı lojistik regresyon modelini kullanarak “test_set” veri çerçevesindeki gözlemlere ait olasılık tahminlerini elde etmek için kullanılır. logistic_son: Önceden eğitilmiş lojistik regresyon modeli. type = ‘response’: Olasılık tahminlerini elde etmek için kullanılan tipi belirtir. ‘response’, bağımlı değişkenin olasılıklarını ifade eder. newdata = test_set: Tahmin yapılacak yeni veri setini belirtir. test_set, test setini temsil eder. Bu olasılık tahminleri, genellikle bir sınıfa ait olma olasılıkları olarak yorumlanır. Tahmin edilen olasılıkların eşik değeri belirlenerek, sınıflandırma yapabilirsiniz.
Bu kod, lojistik regresyon modelinin test setindeki gözlemlere ait olasılıklarını 0.5 eşiği üzerinde veya altında olup olmadığına bakarak bir sınıflandırma yapar. “y_pred” vektörü, her bir gözlem için TRUE veya FALSE değerini içerir ve genellikle modelin tahmin ettiği sınıf etiketlerini temsil eder.
Bu R kodu, “y_pred” vektöründen elde edilen sınıflandırma sonuçlarını içeren karakter türünde bir vektör oluşturur ve bu sınıflandırma sonuçlarına karşılık gelen “PassengerId” değerlerini içeren bir “PassengerId” vektörünü belirler.
as.character(y_pred): “y_pred” vektöründeki sınıflandırma sonuçlarını içeren vektörü karakter türüne dönüştürür. Bu, genellikle sınıflandırma sonuçlarını karakter türünde bir vektör olarak kullanmak için yapılır. test$PassengerId: “test” veri çerçevesindeki “PassengerId” sütununu seçer. Bu, tahmin sonuçlarına karşılık gelen yolcu kimliklerini içeren bir vektörü temsil eder. Bu iki vektörü kullanarak, her bir yolcunun kimliği (PassengerId) ile tahmin edilen “Transported” durumunu içeren bir veri seti oluşturabilirsiniz. Bu tip bir veri seti, modelin test setindeki gözlemlere ait tahmin sonuçlarını ve bu tahminlere karşılık gelen yolcu kimliklerini içerir.
as.vector(Transported): “Transported” değişkenini vektöre dönüştürür. Bu işlem, “Transported” değişkenini bir vektöre indirger. Bu tür dönüşümler, bazen belirli türdeki nesnelerin (örneğin, faktör veya karakter) tipini değiştirmek veya sadece bir vektöre dönüştürmek için kullanılır. Burada, “Transported” değişkeni bir vektör haline getirilmiştir.
Bu tür bir “submission” veri çerçevesi, genellikle modelin tahmin sonuçlarını içerir ve bu sonuçları belirli bir formatta (örneğin, Kaggle gibi bir yarışma formatı) sunmak için kullanılabilir.
Veri çerçevesi, R programlamasında tablo benzeri bir veri yapısıdır ve farklı türde verileri içerebilir. Bu dönüşüm genellikle, bir matrisi veya başka bir veri yapısını daha esnek ve kullanımı kolay olan bir veri çerçevesine çevirmek amacıyla yapılır.
Bu tür bir dönüşüm, metin verilerini daha düzenli ve okunabilir hale getirmek için kullanılabilir.
Bu kod, oluşturulan “submission” veri çerçevesini CSV formatında bir dosyaya yazarak, elde edilen tahmin sonuçlarını ve yolcu kimliklerini içeren bir dosya oluşturur. Oluşturulan CSV dosyası, “submission_logistic.csv” adıyla kaydedilir.
NAİVE BAYES
Bu kod, “train” veri çerçevesinden 2. sütundan 15. sütuna kadar olan sütunları içeren yeni bir veri çerçevesi olan “train_set”i oluşturur. Burada 2:15, 2. sütundan 15. sütuna kadar olan sütunların seçildiğini belirtir.
Bu kod ise, “test” veri çerçevesinden 2. sütundan 14. sütuna kadar olan sütunları içeren yeni bir veri çerçevesi olan “test_set”i oluşturur. Burada 2:14, 2. sütundan 14. sütuna kadar olan sütunların seçildiğini belirtir.
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 kodu, “caTools” paketini kullanarak veri setini eğitim ve test setlerine bölen bir ayrışım yapar.
library(caTools): “caTools” paketini yükler. Bu paket, veri setini bölme (splitting) işlemi için kullanılır. set.seed(123): R’de rastgele sayıları üretirken aynı sonuçları elde etmek için bir tohum değeri (seed) belirler. Bu, tekrarlanabilirliği sağlamak için kullanılır. split = sample.split(train_set$Transported, SplitRatio = 0.75): “train_set” veri çerçevesindeki “Transported” değişkenini kullanarak veri setini belirli bir oranda (SplitRatio) eğitim ve test setlerine böler. Bölme oranı, 0.75 olarak belirtilmiştir.
training_set = subset(train_set, split == TRUE): “split” vektöründe TRUE olan gözlemleri içeren eğitim setini seçer ve “training_set” değişkenine atar. testing_set = subset(train_set, split == FALSE): “split” vektöründe FALSE olan gözlemleri içeren test setini seçer ve “testing_set” değişkenine atar. Bu kod, genellikle makine öğrenimi modellerini eğitip değerlendirmek için kullanılan eğitim ve test setlerini oluşturmak amacıyla kullanılır. sample.split() fonksiyonu, özellikle sınıflandırma problemlerinde dengeli sınıflar elde etmek için kullanılan bir ayrışım stratejisidir.
Bu kod, test setindeki gözlemlere ait sınıflandırma olasılıklarını içeren bir veri çerçevesini “preds” değişkenine atar. Bu olasılıklar, sınıflandırma probleminde her bir sınıf için öngörülen olasılıkları temsil eder.
Bu kod, test setindeki gerçek sınıfları temsil eden bir vektör oluşturur. Eğer 13. sütun “Transported” değişkenini temsil ediyorsa, y_true vektörü, bu sütundaki TRUE ve FALSE değerlere karşılık gelen 1 ve 0’lardan oluşacaktır.
Bu R kodu, bir sınıflandırma modelinin olasılık tahminlerini kullanarak sınıflandırma tahminleri oluşturur. modelin 1 veya 0 olarak sınıflandırma tahminlerini elde etmek için kullanılır. Eğer bir olasılık değeri 0.5’ten büyükse, tahmin 1 olarak belirlenir; aksi halde tahmin 0 olarak belirlenir.
Bu kod, gerçek sınıfları temsil eden “y_true” vektörü ile tahmin edilen sınıfları temsil eden “tahminet” vektörü arasında bir karmaşıklık matrisi oluşturur.
## tahminet
## y_true 0 1
## 0 510 569
## 1 78 1016
## [1] 0.7022549
naiveBayes(Transported ~ ., data = train_set): “Transported” değişkenini hedef değişken olarak belirleyip, tüm diğer değişkenleri bağımsız değişkenler olarak kullanarak bir Naive Bayes modeli oluşturur.
Bu kod, Naive Bayes modelini kullanarak test setindeki yeni gözlemler için sınıflandırma olasılıklarını içeren bir veri çerçevesi oluşturur. Bu olasılıklar, genellikle 0 ile 1 arasında değerlerdir ve her bir sınıf için bir olasılık değeri içerir.
Bu R kodu, Naive Bayes modeli tarafından yapılan sınıflandırma olasılıklarını kullanarak sınıflandırma tahminleri oluşturur.
Bu kod, genellikle bir modelin 0.5 eşik değeri üzerinde veya altında sınıflandırma tahminleri yapmasına dayanarak, bir veri noktasının bir sınıfa ait olup olmadığını belirlemek için kullanılır. Eğer olasılık 0.5’ten büyükse, tahmin TRUE olarak belirlenir; aksi halde tahmin FALSE olarak belirlenir.
modelin tahminlerini içeren bir vektörü ve bu tahminlere karşılık gelen yolcu kimliklerini içeren bir vektörü birleştirme veya birleştirilmiş halde kullanma amacına hizmet eder
Bu R kodu, “PassengerId” ve “Transported” sütunlarını içeren bir matrisi oluşturur ve bu matrisi “submission” adlı bir nesneye atar.
Bu tip dönüşümler, bir nesnenin türünü değiştirmek ve bir veri çerçevesi olarak kullanmak istenildiğinde kullanılır.
Bu tür bir dönüşüm, metin verilerini daha düzenli ve okunabilir hale getirmek için kullanılır. Başlık formatı genellikle her kelimenin ilk harfinin büyük olması şeklinde olup, bu, metin verilerinin daha estetik görünmesine ve anlaşılmasına yardımcı olabilir
Bu kod, “submission” veri çerçevesini CSV formatında bir dosyaya
yazarak, elde edilen tahmin sonuçlarını ve yolcu kimliklerini içeren bir
dosya oluşturur.
RANDOM FOREST
## randomForest 4.7-1.1
## Type rfNews() to see new features/changes/bug fixes.
##
## Attaching package: 'randomForest'
## The following object is masked from 'package:dplyr':
##
## combine
## The following object is masked from 'package:ggplot2':
##
## margin
## Warning in randomForest.default(m, y, ...): The response has five or fewer
## unique values. Are you sure you want to do regression?
Oluşturulan “fit_rf” modeli, rastgele orman algoritmasının özellikle sınıflandırma problemlerinde kullanılan bir modeldir. Model, “Transported” değişkenini tahmin etmek için diğer değişkenleri kullanır. Random Forest, birden çok karar ağacının bir araya getirilmiş bir ensemble modelidir. Her bir ağaç, veri setinin bir alt kümesi üzerinde eğitilir ve sonuçlar bir araya getirilerek daha güçlü ve genelleştirilebilir bir model elde edilir.
## IncNodePurity
## HomePlanet 86.56828
## CryoSleep 227.04338
## deck 125.72817
## side 35.70499
## Destination 45.47290
## Age 158.59021
## VIP 12.31694
## RoomService 213.55531
## FoodCourt 172.48516
## ShoppingMall 143.85594
## Spa 227.73612
## VRDeck 209.27604
## aile 22.04354
Bu R kodu, bir rastgele orman modelinin değişken önem sıralamasını içeren bir matrisi döndürür. Bu skorlar, modelin her bir özellikle ilgili olarak ne kadar bilgi kazandığını veya kaybettiğini gösterir. Değişken önem sıralaması, modelin tahminlerine katkıda bulunan özellikleri anlamak için önemli bir araçtır.
Bu R kodu, “preds” adlı bir vektördeki değerlere dayanarak “y_pred” adlı bir vektör oluşturur.
Bu R kodu, bir sınıflandırma modelinden elde edilen tahminleri içeren “y_pred” vektörünü karakter türüne dönüştürür ve “test” veri çerçevesindeki “PassengerId” sütununu “PassengerId” adlı bir vektöre atar.
Bu R kodu, “Transported” değişkenini bir vektöre dönüştürür.
Bu kod, “PassengerId” ve “Transported” sütunlarını içeren bir veri çerçevesi oluşturur ve ardından bu veri çerçevesini “submission” adlı değişkene atar. Bu tür bir veri çerçevesi, modelin tahmin ettiği sınıfları ve bu tahminlere karşılık gelen yolcu kimliklerini içerebilir.
Bu R kodu, “stringr” paketini kullanarak “submission” veri çerçevesindeki “Transported” sütunundaki metin verilerini başlığa (title case) dönüştürür.
Bu kod, oluşturulan “submission” veri çerçevesini CSV formatında bir dosyaya yazarak, elde edilen tahmin sonuçlarını ve yolcu kimliklerini içeren bir dosya oluşturur. Oluşturulan CSV dosyası, “submission_rf.csv” adıyla kaydedilir.