titanic spaceship
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ı! Kurtarma ekiplerine yardımcı olmak ve kayıp yolcuları geri almak için, uzay gemisinin hasarlı bilgisayar sisteminden elde edilen kayıtları kullanarak anormallik nedeniyle hangi yolcuların taşındığını tahmin etmeniz gerekiyor.
Onları kurtarmaya ve geçmişi değiştirmeye yardım edin!
## 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.
View(train) fonksiyonunu kullanarak bu veri çerçevesini görüntüler. View() fonksiyonu, R Studio’da bir veri çerçevesini interaktif bir şekilde gözlemlemenizi sağlayan bir fonksiyondur.
## 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.
ead_csv(“test.csv”): “test.csv” adlı CSV dosyasını okur. test <- read_csv(“test.csv”): Okunan veriyi “test” adlı bir veri çerçevesine atar. View(test): “test” veri çerçevesini R Studio ortamında gösterir.
## spc_tbl_ [4,277 × 13] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ PassengerId : chr [1:4277] "0013_01" "0018_01" "0019_01" "0021_01" ...
## $ HomePlanet : chr [1:4277] "Earth" "Earth" "Europa" "Europa" ...
## $ CryoSleep : logi [1:4277] TRUE FALSE TRUE FALSE FALSE FALSE ...
## $ Cabin : chr [1:4277] "G/3/S" "F/4/S" "C/0/S" "C/1/S" ...
## $ Destination : chr [1:4277] "TRAPPIST-1e" "TRAPPIST-1e" "55 Cancri e" "TRAPPIST-1e" ...
## $ Age : num [1:4277] 27 19 31 38 20 31 21 20 23 24 ...
## $ VIP : logi [1:4277] FALSE FALSE FALSE FALSE FALSE FALSE ...
## $ RoomService : num [1:4277] 0 0 0 0 10 0 0 0 0 0 ...
## $ FoodCourt : num [1:4277] 0 9 0 6652 0 ...
## $ ShoppingMall: num [1:4277] 0 0 0 0 635 263 0 0 0 0 ...
## $ Spa : num [1:4277] 0 2823 0 181 0 ...
## $ VRDeck : num [1:4277] 0 0 0 585 0 60 0 0 0 0 ...
## $ Name : chr [1:4277] "Nelly Carsoning" "Lerome Peckers" "Sabih Unhearfus" "Meratz Caltilter" ...
## - attr(*, "spec")=
## .. cols(
## .. PassengerId = col_character(),
## .. HomePlanet = col_character(),
## .. CryoSleep = col_logical(),
## .. Cabin = col_character(),
## .. Destination = col_character(),
## .. Age = col_double(),
## .. VIP = col_logical(),
## .. RoomService = col_double(),
## .. FoodCourt = col_double(),
## .. ShoppingMall = col_double(),
## .. Spa = col_double(),
## .. VRDeck = col_double(),
## .. Name = col_character()
## .. )
## - attr(*, "problems")=<externalptr>
##
##
## processing file: report.rmd
##
|
| | 0%
|
|. | 2%
|
|.. | 5% [global_options]
|
|... | 7%
|
|.... | 10% [introduce]
|
|.... | 12%
|
|..... | 14% [plot_intro]
|
|...... | 17%
|
|....... | 19% [data_structure]
|
|........ | 21%
|
|......... | 24% [missing_profile]
|
|.......... | 26%
|
|........... | 29% [univariate_distribution_header]
|
|........... | 31%
|
|............ | 33% [plot_histogram]
|
|............. | 36%
|
|.............. | 38% [plot_density]
|
|............... | 40%
|
|................ | 43% [plot_frequency_bar]
|
|................. | 45%
|
|.................. | 48% [plot_response_bar]
|
|.................. | 50%
|
|................... | 52% [plot_with_bar]
|
|.................... | 55%
|
|..................... | 57% [plot_normal_qq]
|
|...................... | 60%
|
|....................... | 62% [plot_response_qq]
|
|........................ | 64%
|
|......................... | 67% [plot_by_qq]
|
|.......................... | 69%
|
|.......................... | 71% [correlation_analysis]
|
|........................... | 74%
|
|............................ | 76% [principal_component_analysis]
|
|............................. | 79%
|
|.............................. | 81% [bivariate_distribution_header]
|
|............................... | 83%
|
|................................ | 86% [plot_response_boxplot]
|
|................................. | 88%
|
|................................. | 90% [plot_by_boxplot]
|
|.................................. | 93%
|
|................................... | 95% [plot_response_scatterplot]
|
|.................................... | 98%
|
|.....................................| 100% [plot_by_scatterplot]
## output file: C:/Users/user/Documents/ekono/report.knit.md
## "C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/pandoc" +RTS -K512m -RTS "C:\Users\user\Documents\ekono\report.knit.md" --to html4 --from markdown+autolink_bare_uris+tex_math_single_backslash --output pandoc15cff16eb9.html --lua-filter "C:\Users\user\AppData\Local\R\win-library\4.3\rmarkdown\rmarkdown\lua\pagebreak.lua" --lua-filter "C:\Users\user\AppData\Local\R\win-library\4.3\rmarkdown\rmarkdown\lua\latex-div.lua" --embed-resources --standalone --variable bs3=TRUE --section-divs --table-of-contents --toc-depth 6 --template "C:\Users\user\AppData\Local\R\win-library\4.3\rmarkdown\rmd\h\default.html" --no-highlight --variable highlightjs=1 --variable theme=yeti --mathjax --variable "mathjax-url=https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" --include-in-header "C:\Users\user\AppData\Local\Temp\RtmpcVyTms\rmarkdown-str15cfff1c28.html"
##
## Output created: report.html
Bu kodları kullanarak, “test” veri çerçevesinin yapısını anlayabilir ve “train” veri çerçevesi için kapsamlı bir keşif raporu oluşturabilirsiniz.
## ── 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::between() masks data.table::between()
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::first() masks data.table::first()
## ✖ lubridate::hour() masks data.table::hour()
## ✖ lubridate::isoweek() masks data.table::isoweek()
## ✖ dplyr::lag() masks stats::lag()
## ✖ dplyr::last() masks data.table::last()
## ✖ lubridate::mday() masks data.table::mday()
## ✖ lubridate::minute() masks data.table::minute()
## ✖ lubridate::month() masks data.table::month()
## ✖ lubridate::quarter() masks data.table::quarter()
## ✖ lubridate::second() masks data.table::second()
## ✖ purrr::transpose() masks data.table::transpose()
## ✖ lubridate::wday() masks data.table::wday()
## ✖ lubridate::week() masks data.table::week()
## ✖ lubridate::yday() masks data.table::yday()
## ✖ lubridate::year() masks data.table::year()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Bu kodları kullanarak, tidyverse paketinin sunduğu geniş araçlarla veri manipülasyonu ve görselleştirmesini gerçekleştirebilir, aynı zamanda explore paketini kullanarak veri setinizi keşfetmeye başlayabilirsiniz.
train” veri çerçevesine “ailenum” ve “ailesıra” adlı iki yeni değişken eklenmiş olur, ve bu değişkenler “PassengerId” değişkeninin “_“’den önceki ve sonraki kısımlarını içerir.
“test” veri çerçevesine “ailenum” ve “ailesıra” adlı iki yeni değişken eklenmiş olur, ve bu değişkenler “PassengerId” değişkeninin “_“’den önceki ve sonraki kısımlarını içerir.
train” veri çerçevesine “deck”, “num” ve “side” adlı üç yeni değişken eklenmiş olur, ve bu değişkenler “Cabin” değişkeninin belirli bölümlerini içerir.
“test” veri çerçevesine “deck”, “num” ve “side” adlı üç yeni değişken eklenmiş olur, ve bu değişkenler “Cabin” değişkeninin belirli bölümlerini içerir. Bu tür bir işlem genellikle veri ön işleme adımında kullanılır ve kategorik değişkenlerin daha anlamlı parçalara ayrılmasına yardımcı olabilir.
Bu tür bir işlem genellikle veri temizleme ve veri ön işleme aşamalarında kullanılır. NA değerleri, R’da eksik veya bilinmeyen verileri temsil eden bir özel değerdir. Eksik verilerle başa çıkmak, analizlerinizi daha güvenilir hale getirebilir ve modelleme süreçlerinde doğruluğu artırabilir. Bu nedenle, veri çerçevelerindeki boş değerleri NA’ya dönüştürmek, veri analizi ve modelleme için genel bir iyi uygulamadır.
## # 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 ailesıra 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
Bu istatistiksel özet, her değişken için minimum, 25. yüzdelik, ortanca, 75. yüzdelik, maksimum değerleri ve diğer özet istatistikleri içerir. Ayrıca, kategorik değişkenler için mod değeri de görüntülenebilir.
Bu tür bir istatistiksel özet, veri setinin genel dağılımı, merkezi eğilimi ve değişkenliği hakkında bilgi sağlar.
## # A tibble: 18 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 PassengerId chr 0 0 4277 NA NA NA
## 2 HomePlanet chr 87 2 4 NA NA NA
## 3 CryoSleep lgl 93 2.2 3 0 0.37 1
## 4 Cabin chr 100 2.3 3266 NA NA NA
## 5 Destination chr 92 2.2 4 NA NA NA
## 6 Age dbl 91 2.1 80 0 28.7 79
## 7 VIP lgl 93 2.2 3 0 0.02 1
## 8 RoomService dbl 82 1.9 843 0 219. 11567
## 9 FoodCourt dbl 106 2.5 903 0 439. 25273
## 10 ShoppingMall dbl 98 2.3 716 0 177. 8292
## 11 Spa dbl 101 2.4 834 0 303. 19844
## 12 VRDeck dbl 80 1.9 797 0 311. 22272
## 13 Name chr 94 2.2 4177 NA NA NA
## 14 ailenum chr 0 0 3063 NA NA NA
## 15 ailesıra chr 0 0 8 NA NA NA
## 16 deck chr 100 2.3 9 NA NA NA
## 17 num chr 100 2.3 1506 NA NA NA
## 18 side chr 100 2.3 3 NA NA NA
Bu komut, “test” veri çerçevesindeki sayısal değişkenlere odaklanarak istatistiksel özetler sağlar. Bu kodlar, “test” veri çerçevesindeki değişkenlere ilişkin istatistiksel özet bilgilerini sağlayacaktır.
Bu tür bir işlem genellikle veri ön işleme aşamasında kullanılır. “Cabin” değişkeni çıkarıldığına göre, bu değişkenin içerdiği bilgiler artık analiz veya modelleme süreçlerine dahil edilmeyecek demektir. Veri setindeki gereksiz veya eksik bilgileri temizlemek ve modelleme sürecini basitleştirmek için bu tür adımlar atılabilir.
## NULL
Bu tür bir işlem genellikle kategorik değişkenlerin modelleme süreçlerine uygun hale getirilmesi veya eksik kategorik seviyelerin eklenmesi için kullanılır. addNA() fonksiyonu, eksik seviyeleri ekleyerek, modelleme sürecinde beklenmeyen durumlarla başa çıkma konusunda yardımcı olabilir.
Bu ifade, “train” veri çerçevesindeki “HomePlanet” değişkeninin seviyeleri içinde (levels(train$HomePlanet)) NA (eksik) değerlerin olduğu durumları belirler ve bu eksik değerleri “NA” ile değiştirir. Yani, eğer “HomePlanet” değişkeninin seviyelerinde eksik bir kategori varsa, bu kategori “NA” ile değiştirilir. aynı işlemi “test” veri çerçevesi için gerçekleştirir.
## [1] "Earth" "Europa" "Mars" "NA"
levels(train$HomePlanet) ifadesi, “train” veri çerçevesindeki “HomePlanet” değişkeninin sahip olduğu kategorik seviyeleri gösterir. Bu seviyeler, değişkenin alabileceği farklı kategorik değerleri temsil eder.
Örneğin, eğer “HomePlanet” değişkeni ülkeleri temsil ediyorsa, bu komut, veri çerçevesinde bulunan farklı ülkelerin adlarını listeleyebilir.
train <- train %>% group_by(HomePlanet,Destination) %>% mutate(across(Age, ~replace_na(., mean(., na.rm=TRUE)))) bu kod “train” veri çerçevesini “HomePlanet” ve “Destination” değişkenlerine göre gruplayarak, her bir grup içindeki “Age” değişkenindeki eksik değerleri o grup içindeki ortalama değerlerle doldurur. Bu tür bir işlem, eksik verilerin uygun bir şekilde doldurulması için yaygın olarak kullanılan bir tekniktir.
test <- test %>% group_by(HomePlanet,Destination) %>% mutate(across(Age, ~replace_na(., mean(., na.rm=TRUE)))) bu kod “test” veri çerçevesini “HomePlanet” ve “Destination” değişkenlerine göre gruplayarak, her bir grup içindeki “Age” değişkenindeki eksik değerleri o grup içindeki ortalama değerlerle doldurur
## [1] "Earth" "Europa" "Mars" "NA"
Bu işlemler, “CryoSleep” değişkeninin içerdiği eksik kategorik seviyeleri ekleyerek veya değiştirerek veri setini uygun hale getirmeyi amaçlar. “NA” değeri, R’da eksik veya bilinmeyen veriyi temsil eden özel bir değerdir ve bu değerle çalışmak, eksik değerlere dikkat etmeyi sağlayabilir.
Bu işlem, “Destination” değişkeninin içerdiği eksik kategorik seviyeleri “NA” (Not Available) olarak doldurmayı amaçlar. Bu tür bir işlem, modelleme sürecinde faktör değişkenleriyle çalışırken, eksik seviyelerle başa çıkmak için yaygın olarak kullanılır. “NA” değeri, R’da eksik veya bilinmeyen veriyi temsil eden özel bir değerdir. Bu değeri eklemek, bu kategorik seviyelerin eksik olduğunu belirtir ve bu durumun modelleme sürecinde dikkate alınmasına yardımcı olur.
## [1] "55 Cancri e" "PSO J318.5-22" "TRAPPIST-1e" "NA"
Bu tür işlemler, kategorik değişkenlerle çalışırken eksik seviyelerle başa çıkmak için kullanılır. “NA” değeri, eksik veya bilinmeyen veriyi temsil eden özel bir değerdir ve bu değeri eklemek, bu kategorik seviyelerin eksik olduğunu belirtir. Bu, modelleme sürecinde kategorik değişkenlerin eksik değerlerle başa çıkılmasına yardımcı olabilir.
Bu işlem, “side” değişkeninin içerdiği eksik kategorik seviyeleri “NA” (Not Available) olarak doldurmayı amaçlar. “NA” değeri, R’da eksik veya bilinmeyen veriyi temsil eden özel bir değerdir. Bu değeri eklemek, bu kategorik seviyelerin eksik olduğunu belirtir ve bu durumun modelleme sürecinde dikkate alınmasına yardımcı olur.
Bu tür bir işlem genellikle kategorik değişkenlerle çalışırken eksik seviyelerle başa çıkmak için kullanılır. Bu sayede, modelleme sürecinde kategorik değişkenlerin eksik değerlerle nasıl başa çıkılacağını belirleme şansına sahip olabilirsiniz.
Bu işlem, “side” değişkeninin içerdiği eksik kategorik seviyeleri “NA” (Not Available) olarak doldurmayı amaçlar. “NA” değeri, R’da eksik veya bilinmeyen veriyi temsil eden özel bir değerdir. Bu değeri eklemek, bu kategorik seviyelerin eksik olduğunu belirtir ve bu durumun modelleme sürecinde dikkate alınmasına yardımcı olur.
Bu tür bir işlem genellikle kategorik değişkenlerle çalışırken eksik seviyelerle başa çıkmak için kullanılır. Bu sayede, modelleme sürecinde kategorik değişkenlerin eksik değerlerle nasıl başa çıkılacağını belirleme şansına sahip olabilirsiniz.
Bu ifade, “train” veri çerçevesindeki “side” değişkeninin seviyelerini kontrol eder. Eğer bu seviyeler içinde eksik bir kategori (NA) varsa, bu kategoriyi “NA” ile değiştirir.
Bir faktör değişkenin seviyeleri, kategorik değişkenin alabileceği farklı kategorik değerleri temsil eder. Ancak, bazen veri setinde belirli bir kategorik değer eksik olabilir. Bu durumda, eksik olan kategorik değeri eklemek veya belirli bir değerle doldurmak amacıyla bu tür bir işlem gerçekleştirilebilir.
Bu tür bir işlem, kategorik değişkenlerle çalışırken eksik seviyelerle başa çıkmak için kullanılır. “NA” değeri, eksik veya bilinmeyen veriyi temsil eden özel bir değerdir. Bu değeri eklemek, bu kategorik seviyelerin eksik olduğunu belirtir ve bu durumun modelleme sürecinde dikkate alınmasına yardımcı olur.
Ancak, benzer şekilde, eğer “NA” kategorisi zaten mevcutsa ve bu işlemle bir değişiklik olmazsa, bu durumda “NA” kategorisini tekrar eklemek gereksiz olabilir. Bu nedenle, veri setini dikkatlice kontrol etmek ve eksik değerleri nasıl işleyeceğinizi anlamak önemlidir.
## [1] "P" "S" "NA"
Bu tür bir işlem, veri setinin içeriğini anlamak ve analiz veya modelleme süreçlerine uygun ön işleme adımlarını belirlemek için yaygın olarak kullanılır. Eğer “side” değişkeni bir faktör değilse, yani sadece sayısal veya karakter bir değişkense, bu kod seviyeleri listelemeyecektir.
## [1] "FALSE" "TRUE" "NA"
Bu ifade, “train” veri çerçevesindeki “VIP” değişkeninin seviyeleri içinde (levels(train$VIP)) NA (eksik) değerlerin olduğu durumları belirler ve bu eksik değerleri “NA” ile doldurur. Yani, eğer “VIP” değişkeninin seviyelerinde eksik bir kategori varsa, bu kategori “NA” ile değiştirilir. , aynı işlemi “test” veri çerçevesi için gerçekleştirir. “train” veri çerçevesindeki “VIP” değişkeninin seviyelerini listeler.
## [1] "55 Cancri e" "PSO J318.5-22" "TRAPPIST-1e" "NA"
Bu tür işlemler, kategorik değişkenlerle çalışırken eksik seviyelerle başa çıkmak için kullanılır. “NA” değeri, eksik veya bilinmeyen veriyi temsil eden özel bir değerdir ve bu değeri eklemek, bu kategorik seviyelerin eksik olduğunu belirtir ve bu durumun modelleme sürecinde dikkate alınmasına yardımcı olur.
train <- train %>% group_by(HomePlanet,Destination) %>% mutate(across(RoomService, ~replace_na(., mean(., na.rm=TRUE)))) Bu kod, eksik değerlerin “RoomService” değişkenindeki grup ortalamaları ile doldurulması amacıyla kullanılmaktadır. Bu tür bir işlem, eksik değerleri etkili bir şekilde doldurarak veri setinin analizine veya modellemesine katkıda bulunabilir.
test <- test %>% group_by(HomePlanet,Destination) %>% mutate(across(RoomService, ~replace_na(., mean(., na.rm=TRUE)))) Bu kod, “test” veri çerçevesindeki eksik değerleri grup bazında ortalama ile doldurarak, veri setinin analizine veya modellemesine katkıda bulunmayı amaçlar. Ancak, her durumda bu tür bir işlemin uygun olup olmadığını değerlendirmek önemlidir. Modelleme sürecinde kullanılan tekniklere ve veri setinin özelliklerine bağlı olarak, eksik değerleri doldurmanın farklı yaklaşımları da düşünülmelidir.
Histogram, değişkenin değerlerinin belirli aralıklarda nasıl dağıldığını
ve hangi değer aralıklarının daha sık veya daha seyrek olduğunu
görselleştiren bir grafiktir. Eğer histogramda belirli bir eğilim,
simetri veya çarpıklık varsa, bu, değişkenin dağılımı hakkında bilgi
sağlayabilir. Örneğin, normal dağılıma benzer bir görünüm, değişkenin
normal dağılıma daha yakın olduğunu gösterebilir.
Bu görselleştirme, “ShoppingMall” değişkeninin değerlerinin dağılımını
anlamak ve bu değişken üzerinde yapılacak analiz veya modelleme sürecine
hazırlık yapmak amacıyla kullanılmış olabilir.
Bu histogram, “Spa” değişkeninin değerlerinin nasıl dağıldığını, hangi
aralıklarda yoğunluk gösterdiğini ve potansiyel aykırı değerleri görsel
olarak incelemenize yardımcı olabilir.
Bu tür bir işlem, eksik değerleri belirli bir değerle doldurmak veya başka bir değerle değiştirmek için kullanılır. Bu durumda, eksik “ShoppingMall” değerleri sıfır ile doldurularak analiz veya modelleme süreçlerinde eksik değerlerle başa çıkma sağlanmış olur. Ancak, eksik değerleri doldurma stratejileri veri setinin özelliklerine bağlı olarak değişebilir, bu nedenle kullanılan stratejinin veri setine uygun olduğundan emin olunmalıdır.
Bu işlem, “FoodCourt” değişkenindeki eksik değerleri sıfır ile doldurarak analiz veya modelleme süreçlerinde eksik değerlerle başa çıkmayı sağlar. Ancak, eksik değerleri doldurma stratejileri veri setinin özelliklerine bağlı olarak değişebilir, bu nedenle kullanılan stratejinin veri setine uygun olduğundan emin olunmalıdır.
Bu işlem, “Spa” değişkenindeki eksik değerleri sıfır ile doldurarak analiz veya modelleme süreçlerinde eksik değerlerle başa çıkmayı sağlar. Eksik değerleri doldurma stratejileri, veri setinin özelliklerine bağlı olarak değişebilir, bu nedenle kullanılan stratejinin veri setine uygun olduğundan emin olunmalıdır.
Bu işlem, “VRDeck” değişkenini “Spa” değişkeninden türetmek ve aynı zamanda eksik değerleri sıfır ile doldurmak amacıyla yapılmış gibi görünüyor. Ancak, kodun “VRDeck” değişkenine “Spa” yerine “Spa” değişkeninin eksik değerlerini atadığına dikkat edilmelidir. Eğer “VRDeck” değişkeni tamamen farklı bir değişken olarak kullanılacaksa, “Spa” değişkeninin eksik değerlerini değil, belki başka bir strateji ile doldurulması daha uygun olabilir.
Bu işlem, “Name” değişkeninin veri setindeki analiz ve modelleme süreçlerine katkı sağlamayacağı düşünüldüğünde, bu değişkeni veri çerçevesinden çıkarma işlemidir. “select(-Name)” ifadesi, “Name” değişkenini seçilen sütunlardan çıkarmaya yönelik bir dplyr fonksiyonudur.
## [1] "A" "B" "C" "D" "E" "F" "G" "T" "NA"
Bu işlemler, “deck” değişkenindeki eksik değerleri düzenlemek ve kategorik değişkenin seviyelerini kontrol etmek amacıyla gerçekleştirilmiş gibi görünmektedir. Ancak, veri setinizin özelliklerine ve analiz amacınıza bağlı olarak bu tür işlemleri uygulamadan önce dikkatlice düşünmek önemlidir.
Bu işlemler, “num” değişkenindeki eksik değerleri düzenlemek ve kategorik bir değişkenin seviyelerini kontrol etmek amacıyla gerçekleştirilmiş gibi görünmektedir.
## # A tibble: 20 × 4
## PassengerId ailenum ailesıra 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
Bu kod bloğu, aynı “ailenum” değerine sahip yolcuların aynı aileye ait olduğunu belirleyen bir “aile” değişkeni oluşturur. Eğer “aile” değeri 1 ise, aynı aileye ait oldukları anlamına gelir; 0 ise aynı aileye ait olmadıklarını gösterir. Bu tür bir değişken, aile ilişkilerini anlamak veya belirli bir özellikteki grupları tanımlamak için kullanılabilir.
Bu tür bir değişken çıkarma işlemi, kullanılan analiz veya modelleme yöntemine bağlı olarak değişebilir. Eksik veya gereksiz olduğunu düşündüğünüz değişkenleri çıkarmadan önce, veri setinizin özelliklerine ve analiz amacınıza dikkatlice göz atmak önemlidir.
Logistic Resgresyon
Bu tür bir sütun seçimi, veri setinizdeki belirli değişkenlere odaklanmayı veya modelleme sürecinde kullanılacak özellikleri belirlemeyi amaçlar. . Hangi sütunları seçtiğiniz, kullanacağınız model ve analiz amacınıza bağlı olarak değişebilir.
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 işlemler, genellikle veri setini eğitim ve test setlerine ayırmak amacıyla kullanılır. Eğitim seti, modelinizi öğrenmek için kullanılırken, test seti ise eğittiğiniz modelin performansını değerlendirmek için kullanılır. Bu bölme işlemi, veri setinin daha önce görmediği veriler üzerinde modelin nasıl performans gösterdiğini değerlendirmenize yardımcı olur.
bu kod “Transported” değişkenini diğer tüm bağımsız değişkenlere göre lojistik bir regresyon modeliyle tahmin etmek üzere eğitim seti üzerinde bir model oluşturur. Bu model, ikili bir bağımlı değişkenin (örneğin, “Evet/Hayır” veya “1/0” gibi) olasılık dağılımını tahmin etmeye çalışacaktır. Model, logistic adında bir nesne olarak atanır ve daha sonra bu nesne üzerinden tahminler yapmak veya model performansını değerlendirmek için kullanılabilir.
prob_pred = predict(logistic, type = 'response', newdata = testing_set[-11])
y_pred = ifelse(prob_pred > 0.5, 1, 0)prob_pred vektörü, test setindeki her bir gözlem için lojistik regresyon modeli tarafından tahmin edilen olasılıkları içerir. y_pred vektörü ise, bu olasılıkları temel alarak yapılan sınıflandırmayı içerir. Bu sınıflandırma, genellikle belirlenen bir kesme değeri (burada 0.5) üzerinden yapılır. Bu kesme değeri, tahmin edilen olasılıkların hangi sınıfa ait olduğunu belirlemek için kullanılır.
Bu iki vektör, sınıflandırma modelinin performansını değerlendirmek için kullanılabilir.
Karmaşıklık matrisi, modelin performansını çeşitli metriklerle değerlendirmek için kullanılabilir. Örneğin, doğruluk (accuracy), hassasiyet (precision), duyarlılık (recall), özgüllük (specificity) gibi metrikler bu matristen hesaplanabilir.
Elde edilen cm matrisi, sınıflandırma modelinizin performansını değerlendirmek üzere kullanılabilir. Bu matrisi kullanarak çeşitli performans metriklerini hesaplamak ve yorumlamak mümkündür.
## y_pred
## y_true 0 1
## 0 836 243
## 1 259 835
Elde ettiğiniz karmaşıklık matrisini görmek için cm komutunu kullanabilirsiniz.
## [1] 0.7882075
Bu ifade, doğruluk (accuracy) metriğini hesaplamak için kullanılır. Doğruluk, doğru tahmin edilen gözlemlerin toplam gözlem sayısına oranını ifade eder. Bu ifadeyi hesapladığınızda, modelinizin doğru tahmin etme oranını elde edersiniz. Bu, modelin toplam gözlemler içinde ne kadarının doğru tahmin edildiğini gösterir.
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
prob_pred = predict(logistic_son, type = 'response', newdata = test_set)
y_pred = ifelse(prob_pred > 0.5, TRUE , FALSE)`Bu adımlar, yeni bir lojistik regresyon modeli oluşturarak ve bu modeli kullanarak test setinde tahminler yaparak sınıflandırma problemini çözmek için kullanılır. Elde edilen y_pred vektörü, test setindeki gözlemler için modelin sınıflandırma tahminlerini içerir.
prob_pred = predict(logistic_son, type = 'response', newdata = test_set)
y_pred = ifelse(prob_pred > 0.5, TRUE , FALSE)Bu iki satır kod sonucunda, y_pred vektörü elde edilir. Bu vektör, her bir gözlem için modelin yaptığı sınıflandırmayı içerir. TRUE değeri, modelin pozitif sınıfı (1) tahmin ettiğini, FALSE değeri ise negatif sınıfı (0) tahmin ettiğini gösterir. Bu tür bir sınıflandırma sonucu, modelin performansının değerlendirilmesi ve karar algoritmasının ne kadar doğru çalıştığının anlaşılması için kullanılır.
Bu işlem sonucunda, PassengerId ve Transported değişkenlerini içeren bir veri çerçevesi oluşturulmuş olacaktır. Bu veri çerçevesi, modelin test seti üzerindeki tahmin sonuçlarını daha fazla incelemek veya başka analizler için kullanmak üzere kullanılabilir.
Bu R kodu, modelin test setindeki tahmin sonuçlarını içeren y_pred vektörünü kullanarak yeni bir Transported değişkeni oluşturur ve bu değişkeni “character” (karakter) türüne dönüştürür. Ardından, PassengerId ve Transported değişkenlerini içeren bir veri çerçevesi oluşturur.
Bu submission veri çerçevesi, tahmin sonuçlarını ve ilgili yolcu kimlik numaralarını içerir ve genellikle bir modelin performansını değerlendirmek veya bir yarışmaya katılmak amacıyla oluşturulan bir sonuç dosyasına benzer şekilde kullanılabilir.
Bu ifade, submission değişkenini veri çerçevesi türüne dönüştürür. Bu dönüşüm, genellikle veri manipülasyonu ve analizinde daha fazla olanak sağlamak amacıyla yapılır. Veri çerçevesi, R’de tablo benzeri yapıları temsil eden ve çeşitli veri analizi işlemlerini gerçekleştirmek için kullanılan bir veri yapısıdır.
Bu R kodu, stringr paketini yüklemek ve bu paketin fonksiyonlarını kullanabilmek için kullanılır. stringr paketi, metin işleme ve düzenleme işlemleri için bir dizi kullanışlı fonksiyon içerir. Örneğin, metin içinde desen eşleştirmek, alt dizgiyi değiştirmek, metni parçalara bölmek gibi işlemleri gerçekleştirmek için kullanılabilir.
Paketi yüklemek için genellikle şu şekilde kullanılır:
Bu ifade, str_to_title fonksiyonunu kullanarak “Transported” sütunundaki metin değerlerini başlık formatına dönüştürür ve bu dönüşümü submission veri çerçevesinin “Transported” sütununa atar.
Örneğin, eğer “Transported” sütununda bir önceki formatta metin değerleri varsa (örneğin, “true”, “false”, “TRUE”, “FALSE”), bu fonksiyon bu değerleri “True”, “False” şeklinde düzenleyecektir. Başlık formatı, her kelimenin ilk harfinin büyük olması şeklinde düzenleme yapar.
bu kod ile “submission_logistic.csv” adlı bir CSV dosyası oluşturulur ve bu dosya, submission veri çerçevesinin içeriğini içerir. Bu tür bir CSV dosyası genellikle bir modelin tahmin sonuçlarını paylaşmak veya değerlendirmek için kullanılır.
svm
library(e1071)
fit_nb <- naiveBayes(Transported ~ ., data = training_set)
preds <- predict(fit_nb, newdata =testing_set[-11], type = "raw") %>%
data.frame()Bu ifade, e1071 paketini yükler. Bu paket, Naive Bayes ve diğer istatistiksel sınıflandırma ve regresyon modellerini içerir.
Bu ifade, naiveBayes fonksiyonunu kullanarak Naive Bayes sınıflandırma modelini eğitiyor. Bağımlı değişken Transported olup, diğer tüm değişkenler modelde bağımsız değişken olarak kullanılır. Eğitim verisi olarak training_set veri çerçevesi kullanılır.
Bu ifade, preds veri çerçevesindeki TRUE. sütunundaki olasılık değerlerini kontrol eder. Eğer bir gözlem için TRUE. sütunundaki değer 0.5’ten büyükse, ifelse fonksiyonu 1 (TRUE) döndürür; aksi halde 0 (FALSE) döndürür. Bu şekilde, y_pred vektörü, test setindeki her bir gözlem için Naive Bayes modelinin sınıflandırma tahminlerini ikili sınıflarla temsil eder. Bu tür bir ikili sınıflandırma genellikle sınıflandırma modellerinin performansının değerlendirilmesi için kullanılır.
## y_pred
## y_true 0 1
## 0 428 651
## 1 66 1028
## [1] 0.6700414
Burada y_true ve y_pred vektörlerini tanımlayarak confusionMatrix fonksiyonuyla bir karmaşıklık matrisi oluşturuyoruz. Daha sonra bu matrisi cm değişkenine atıyoruz.
preds veri çerçevesi, her bir gözlem için sınıflandırma olasılıklarını içerir. Bu olasılık değerleri, sınıflandırma sonuçlarına dayalı olarak hangi sınıfa ait olduğuna dair tahminleri temsil eder.
y_pred vektörü, test setindeki her bir gözlem için Naive Bayes modelinin sınıflandırma tahminlerini ikili sınıflarla temsil eder.
Bu tür bir veri çerçevesi genellikle modelin tahmin sonuçlarını ve ilişkili yolcu kimlik numaralarını içeren bir sonuç dosyası oluşturmak için kullanılır.
`
```r
write.csv(submission, "sub_nb.csv" , row.names = FALSE , quote = FALSE)
Bu kod, submission veri çerçevesinin içeriğini bir CSV dosyasına kaydederek, bu dosyanın daha sonra analiz, değerlendirme veya paylaşma amacıyla kullanılmasını sağlar.
library(e1071)
fit_svm <- svm(Transported ~ ., data = training_set,type = 'C-classification' , kernel= 'linear')fit_svm adlı bir SVM modeli oluşturulur ve eğitim verisine göre bu modeli öğrenir. Bu model daha sonra test verisini tahmin etmek veya değerlendirmek için kullanılabilir.
preds veri çerçevesi, her bir gözlem için sınıflandırma olasılıklarını içerir. Bu olasılık değerleri, sınıflandırma sonuçlarına dayalı olarak hangi sınıfa ait olduğuna dair tahminleri temsil eder.
Bu R kodu, preds veri çerçevesindeki sınıflandırma tahminlerini kullanarak bir ikili sınıflandırma yapar. Eğer bir gözlem için . == TRUE koşulu sağlanıyorsa, o gözlem için 1 (TRUE); aksi halde 0 (FALSE) olarak sınıflandırma yapar.
Bu matris, sınıflandırma modelinin performansını değerlendirmek için kullanılan birçok ölçüyü elde etmek için temel bir araçtır.
## y_pred
## y_true 0 1
## 0 894 185
## 1 343 751
Eğer bu kodu çalıştırırsanız, R konsolunda veya R Markdown belgesinde karmaşıklık matrisinin içeriğini görebilirsiniz. Örneğin:
R Copy code cm Bu ifade, cm değişkeninin içeriğini ekrana bastırır. Karmaşıklık matrisi, gerçek sınıflar ve modelin tahmin ettiği sınıflar arasındaki ilişkiyi gösterir. Karmaşıklık matrisinin çıktısı, True Positive (TP), True Negative (TN), False Positive (FP), ve False Negative (FN) değerlerini içerir.
## [1] 0.8034975
Bu ifade, bir sınıflandırma modelinin doğruluk (accuracy) oranını hesaplamak için kullanılır. Doğruluk, doğru tahmin edilen gözlemlerin toplam gözlem sayısına oranını ifade eder.
Bu şekilde, svm_son adlı bir SVM modeli oluşturulur ve eğitim verisine göre bu modeli öğrenir. Bu model daha sonra test verisini tahmin etmek veya değerlendirmek için kullanılabilir.
Bu iki kod bloğu, svm_son adlı destek vektör makinesi (SVM) modelini kullanarak test verisi üzerinde sınıflandırma tahminleri yapar ve bu tahminleri bir vektöre atar.
Bu iki vektörü oluşturduktan sonra, Transported ve PassengerId vektörleri üzerinde çeşitli işlemler yapabilir ve bu bilgileri modelin performansını değerlendirmek, bir dosyaya kaydetmek veya başka amaçlar için kullanmak üzere kullanabilirsiniz.
Transported zaten bir karakter vektörü ise, bu satırın eklenmesine gerek olmayabilir. Eğer başka bir veri yapısına sahipse ve dönüşüm yapılması gerekiyorsa, uygun bir dönüşüm fonksiyonu kullanılmalıdır.
submission veri çerçevesi, her bir yolcu için kimlik ve modelin sınıflandırma tahminini içeren bir veri yapısını temsil eder. Bu tür bir yapı, genellikle modelin performansını değerlendirmek veya tahminlerin bir dosyaya kaydedilmesi gibi amaçlar için kullanılır.
submission nesnesini bir veri çerçevesine dönüştürür. as.data.frame fonksiyonu, veri çerçevesine çevrilebilen bir nesneyi veri çerçevesine dönüştürür. Bu işlem genellikle, çeşitli analiz ve görselleştirmeler yapmak için veriyi daha kolay manipüle edilebilir bir formata getirmek amacıyla yapılır.
Bu tür bir dönüşüm genellikle estetik nedenlerle veya sunum amaçlarıyla kullanılır. Veriyi temiz ve düzenli bir biçimde sunmak için başlığın düzgün bir formatta olması önemli olabilir.
submission veri çerçevesini “sub_svm.csv” adlı bir CSV dosyasına yazacaktır. Bu dosya, sınıflandırma tahminleri ve yolcu kimliklerini içeren bir veri setini içerecektir.
Bellek kullanımı grafği solunda yer alan
ölçülerin adlarını ifade eder Ölçülerde ilk olarak ayrık sütunlar vardır
ayrık sütunlar %57.1olarak görünür Sütunların ikincisi sürekli sütun
olan sütunun oranı %42.9 olark görünür ayrık sütun sürekli sütuna oranla
daha fazladır Eksik sütunun değerinin %0 olması eksik sütun değildir
anlamındadır Yüzdelik oranımız%1.9
Eksik veri profili grafiği eksik değerleri
bize gösterir Bu grafikte her bir değişkenin eksik değerrleri yüzdesini
gösteren bir çubuk veya çizgi grafiği kullanılır Bu veri setindeki
değişkenler arasınada eksik veri durumlarının benzer bir şekilde
dağıldığının ve farklılık gösterdiğini anlamak için kullanılır
Histogram değişkeninin dağılımını görsel
olarak gösteren grafiktir “AGE”değişkeninin histogram grafiği yaş
değişkeninin farklı yaş gruplarcındaki dağılımını bize gösterir
Bu çubuk grafiğinde verilerin
karşılaştırılması , dağılımlarının görüntülenmesi ve genelde kategorik
verilerin analizi için kullanılır.
Bu grafikte QQ plote(Quantile)-(Quantile
plote),bir teorik dağılım ile veri setindeki gözlemler arasındaki
benzerlikleri değerlendirmek için kullanılan grafik
Bu grafikte değişkenlere korealasyon
grafiğini görüyoruz . Korelasyon analizi,iki değişken arasındaki
ilişkiyi ölçen istatiksel yöntem çeşidir Bu analiz değişkenler
arasındaki ilşkinin gücünü ve yönünü belirlemek için kıllanılır
Bu grafikte verileri temel bileşenler
tarafından açıklanan varyanslarını görebiliriz
Bu grafikte açıklanan varyansların %
delerini görüyoruz