| numara: 1910504608 |
| .Raw Counts(Ham Sayımlar) |
| .Logistic regression |
| .Univariate Distribution(Tek Değişkenli Dağılım) |
| .SVM |
| .(Submission format) Yarışmanın başvuru formatı aşağıdaki formatta bir csv dosyasıdır |
| .Decision Trees |
| .Naive Bayes |
Spaceship Titanic hangi yolcuların alternatif bir boyuta taşınacağını tahmin eder. Bu devasa uzay gemisi, galaksiyi gezerek turistlere eşsiz deneyimler sunmayı amaçlar. ** Spaceship Titanic fotorafı yükleyelim.
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ı!
library(readr)
train <- read_csv("train.csv")
8693 gözlem var ve 14 değişken vardır. Spaceship Titanic data’dan Train.csv indirdik ve final projesi dosya içinde kaydettik. Rmarkdown’da train yüklemek için ‘’import’’ tıklıyoruz, ‘’From Text(readr)’’ tıklıyoruz. Sonra ‘’Browser’’ seçiyoruz ve ‘’import’’ tıklıyoruz.
*** Eğer library(stringr) ya da library(explore) girersek, train tablosu burada yukleyeceğiz. train train
library(readr)
test <- read_csv("test.csv")
4277 gözlem var ve 13 değişken vardır. Spaceship Titanic data’dan Test.csv indirdik ve final projesi dosya içinde kaydettik. Rmarkdown’da test yüklemek için ‘’import’’ tıklıyoruz ve ‘’From Text(readr)’’ tıklıyoruz. Sonra ‘’Browser’’ seçiyoruz ve ‘’import’’ tıklıyoruz.
library(readr)
test <- read_csv("test.csv")
train <- read_csv("train.csv")
library(readr) test <- read_csv(“data/test.csv”) train <- read_csv(“data/train.csv”)girdik ve hata verdi. ‘’data’’ silip error daha çıkmayacak ve veriler indireceğiz.
str(train)
## spc_tbl_ [8,693 × 14] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ PassengerId : chr [1:8693] "0001_01" "0002_01" "0003_01" "0003_02" ...
## $ HomePlanet : chr [1:8693] "Europa" "Earth" "Europa" "Europa" ...
## $ CryoSleep : logi [1:8693] FALSE FALSE FALSE FALSE FALSE FALSE ...
## $ Cabin : chr [1:8693] "B/0/P" "F/0/S" "A/0/S" "A/0/S" ...
## $ Destination : chr [1:8693] "TRAPPIST-1e" "TRAPPIST-1e" "TRAPPIST-1e" "TRAPPIST-1e" ...
## $ Age : num [1:8693] 39 24 58 33 16 44 26 28 35 14 ...
## $ VIP : logi [1:8693] FALSE FALSE TRUE FALSE FALSE FALSE ...
## $ RoomService : num [1:8693] 0 109 43 0 303 0 42 0 0 0 ...
## $ FoodCourt : num [1:8693] 0 9 3576 1283 70 ...
## $ ShoppingMall: num [1:8693] 0 25 0 371 151 0 3 0 17 0 ...
## $ Spa : num [1:8693] 0 549 6715 3329 565 ...
## $ VRDeck : num [1:8693] 0 44 49 193 2 0 0 NA 0 0 ...
## $ Name : chr [1:8693] "Maham Ofracculy" "Juanna Vines" "Altark Susent" "Solam Susent" ...
## $ Transported : logi [1:8693] FALSE TRUE FALSE FALSE TRUE TRUE ...
## - attr(*, "spec")=
## .. cols(
## .. PassengerId = col_character(),
## .. HomePlanet = col_character(),
## .. CryoSleep = col_logical(),
## .. Cabin = col_character(),
## .. Destination = col_character(),
## .. Age = col_double(),
## .. VIP = col_logical(),
## .. RoomService = col_double(),
## .. FoodCourt = col_double(),
## .. ShoppingMall = col_double(),
## .. Spa = col_double(),
## .. VRDeck = col_double(),
## .. Name = col_character(),
## .. Transported = col_logical()
## .. )
## - attr(*, "problems")=<externalptr>
Bazı boşluklar var, boşlukları kapatmak için Str yükliyoruz. Passengerld aile sıra numarası verir.
library(DataExplorer)
create_report(train)
##
|
| | 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]
## "C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/pandoc" +RTS -K512m -RTS "C:\Users\NDJELA~1\ONEDRI~1\DOCUME~1\FINALP~1\REPORT~1.MD" --to html4 --from markdown+autolink_bare_uris+tex_math_single_backslash --output pandoc3ee8129a1c0b.html --lua-filter "C:\Users\NDJELASSEM\AppData\Local\R\win-library\4.2\rmarkdown\rmarkdown\lua\pagebreak.lua" --lua-filter "C:\Users\NDJELASSEM\AppData\Local\R\win-library\4.2\rmarkdown\rmarkdown\lua\latex-div.lua" --embed-resources --standalone --variable bs3=TRUE --section-divs --table-of-contents --toc-depth 6 --template "C:\Users\NDJELASSEM\AppData\Local\R\win-library\4.2\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\NDJELA~1\AppData\Local\Temp\RtmpItTtFj\rmarkdown-str3ee81e55f92.html"
Bu kodu girersek, report.html gözüküyor. Bu report, içinde ‘’Data Prolifing Report’’ bulabiliriz.
Rows(satırlar demektir): 8,693 Columns(sütunlar demektir): 14 Discrete columns(ayrık sütunlar anlamı gelir): 8 Continuous columns(sürekli sütünlar demektir): 6 All missing columns(tüm eksik sütunlar): 0 Missing observations(eksik gözlemler): 2,324 Complete Rows(satırları tamamla): 6,606 Total observations(toplam gözlemler): 121,702 Memory allocation(hafıza tahsisi): 2.2 Mb
stat_qq()). ## Warning:
Removed 135 rows containing non-finite values
(stat_qq_line()).QQ plot (Kantil-Kantil Grafiği), bir veri örneğinin niceliklerinin dağılımını teorik bir dağılımla, genellikle normal bir dağılımla karşılaştıran bir grafiktir. Nicelikler basitçe bir veri kümesini eşit aralıklara bölen değerlerdir.
Transported_true negatif verir(-0.08 ; -0.17).
deneme <- train[, c(1:6, 14)]
Deneme 8693 gözlem ve 7 değişken verir. Değişkeler sadece passengerld, HomePlanet, CryoSleep, cabin, Destination, age ve Transported.
library(tidyverse)
tidyverse, veri işlemeyi ve manipülasyonu kolaylaştıran bir paket koleksiyonudur. Library(tidyverse), kod okunabilirliğini ve kullanım kolaylığını artıran tutarlı bir dizi araç ve paket sağlayarak veri analizi sürecini basitleştirir.
library(explore)
## Warning: package 'explore' was built under R version 4.2.3
Burada, kaç tane data boş olduğu bakıyoruz. Bu kod, veri kümelerini etkileşimli olarak keşfetmek ve analiz etmek için kullanılır. Verileri daha kolay görselleştirmek ve anlamak için “keşfet” fonksiyonlarını kullanıyoruz.
library(tidyverse)
library(explore)
train %>% describe_all()
## # A tibble: 14 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 PassengerId chr 0 0 8693 NA NA NA
## 2 HomePlanet chr 201 2.3 4 NA NA NA
## 3 CryoSleep lgl 217 2.5 3 0 0.36 1
## 4 Cabin chr 199 2.3 6561 NA NA NA
## 5 Destination chr 182 2.1 4 NA NA NA
## 6 Age dbl 179 2.1 81 0 28.8 79
## 7 VIP lgl 203 2.3 3 0 0.02 1
## 8 RoomService dbl 181 2.1 1274 0 225. 14327
## 9 FoodCourt dbl 183 2.1 1508 0 458. 29813
## 10 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 11 Spa dbl 183 2.1 1328 0 311. 22408
## 12 VRDeck dbl 188 2.2 1307 0 305. 24133
## 13 Name chr 200 2.3 8474 NA NA NA
## 14 Transported lgl 0 0 2 0 0.5 1
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
describe_all() tren veri kümesine uygulandığında, veri kümesindeki tüm değişkenler için tanımlayıcı istatistikler üretir. Bu, değişkenin türüne (sayısal, kategorik vb.) bağlı olarak ortalama, standart sapma, çeyrekler, gözlem sayısı vb. gibi bilgileri içerebilir.
head(train)
## # A tibble: 6 × 14
## PassengerId HomePlanet CryoSleep Cabin Destination Age VIP RoomService
## <chr> <chr> <lgl> <chr> <chr> <dbl> <lgl> <dbl>
## 1 0001_01 Europa FALSE B/0/P TRAPPIST-1e 39 FALSE 0
## 2 0002_01 Earth FALSE F/0/S TRAPPIST-1e 24 FALSE 109
## 3 0003_01 Europa FALSE A/0/S TRAPPIST-1e 58 TRUE 43
## 4 0003_02 Europa FALSE A/0/S TRAPPIST-1e 33 FALSE 0
## 5 0004_01 Earth FALSE F/1/S TRAPPIST-1e 16 FALSE 303
## 6 0005_01 Earth FALSE F/0/P PSO J318.5-22 44 FALSE 0
## # ℹ 6 more variables: FoodCourt <dbl>, ShoppingMall <dbl>, Spa <dbl>,
## # VRDeck <dbl>, Name <chr>, Transported <lgl>
head(train) bize muhtemelen Titanik’in yolcuları hakkında bilgi içeren tren veri çerçevesinin ilk satırlarını gösterebilir. Bu bize her değişken için mevcut değişkenler, veri türleri ve ilk değerler hakkında genel bir bakış sağlayabilir.
train$ailenum <- str_split_fixed(train$PassengerId, "…", 2)
Kodun, tren veri çerçevesinde ailenum adı verilen yeni bir değişken oluşturduğu görülüyor. Bu değişkenin değeri, tren veri çerçevesinin PassengerId sütunundaki str_split_fixed() işlevi kullanılarak elde edilir.
train$ailesıra <- str_split_fixed(train$PassengerId, "…", 2)
train[c('ailenum', 'ailesıra')] <- str_split_fixed(train$PassengerId, "…", 1)
arrange(train, ailenum, ailesıra)
## # A tibble: 8,693 × 16
## PassengerId HomePlanet CryoSleep Cabin Destination Age VIP RoomService
## <chr> <chr> <lgl> <chr> <chr> <dbl> <lgl> <dbl>
## 1 0001_01 Europa FALSE B/0/P TRAPPIST-1e 39 FALSE 0
## 2 0002_01 Earth FALSE F/0/S TRAPPIST-1e 24 FALSE 109
## 3 0003_01 Europa FALSE A/0/S TRAPPIST-1e 58 TRUE 43
## 4 0003_02 Europa FALSE A/0/S TRAPPIST-1e 33 FALSE 0
## 5 0004_01 Earth FALSE F/1/S TRAPPIST-1e 16 FALSE 303
## 6 0005_01 Earth FALSE F/0/P PSO J318.5-22 44 FALSE 0
## 7 0006_01 Earth FALSE F/2/S TRAPPIST-1e 26 FALSE 42
## 8 0006_02 Earth TRUE G/0/S TRAPPIST-1e 28 FALSE 0
## 9 0007_01 Earth FALSE F/3/S TRAPPIST-1e 35 FALSE 0
## 10 0008_01 Europa TRUE B/1/P 55 Cancri e 14 FALSE 0
## # ℹ 8,683 more rows
## # ℹ 8 more variables: FoodCourt <dbl>, ShoppingMall <dbl>, Spa <dbl>,
## # VRDeck <dbl>, Name <chr>, Transported <lgl>, ailenum <chr>, ailesıra <chr>
train <- train[, c( 15:16, 1:14)]
train[c('deck', 'num', 'side')] <- str_split_fixed(train$Cabin, '⁄', 3)
train$Cabin: Bu, ‘cabin’ sütununu ‘tren’ veri çerçevesinden çıkarır.
str_split_fixed(train$Cabin, ‘⁄’, 3): Bu, sınırlayıcı olarak ‘⁄’ karakterini kullanarak ‘Kabin’ sütununu üç parçaya böler. Bu işlemin sonuçları, her sütunun bölünmüş dizenin bir kısmını içerdiği bir matriste saklanır.
train[c(‘deck’, ‘num’, ‘side’)] <- …: Bu, elde edilen matrisin üç sütununu ’ matrisinin ‘deste’, ‘sayı’ ve ‘yan’ sütunlarına atar. veri çerçevesini eğit ‘. Böylece ’eğitim’ veri çerçevesi bu üç yeni sütunu içerecek şekilde değiştirildi.
test[c(‘deck’, ‘num’, ‘side’)] <- str_split_fixed(train$Cabin, ‘⁄’, 3)
test\(Cabin: Bu, test veri çerçevesinin "Kabin" sütununu ifade eder. str_split_fixed(test\)Cabin, ‘⁄’, 3): Kodun bu kısmı stringr paketindeki str_split_fixed işlevini kullanır. Ayırıcı olarak ‘⁄’ karakterini kullanarak “Kabin” sütunundaki her öğeyi üç parçaya ayırır. Bu bölümün sonuçları, her satırın bir gözleme karşılık geldiği ve üç sütunun da kesilen parçalara karşılık geldiği bir matriste saklanır. test[c(‘deck’, ‘num’, ‘side’)] <- …: Bu bölüm, bölme sonuçlarını test veri çerçevesinin ‘deste’, ‘num’ ve ‘side’ sütunlarına atar. Bu aslında test veri çerçevesinde “Kabin” sütununun kırpılmış kısımlarını içeren üç yeni sütun oluşturur.
test$CryoSleep <- addNA(test$CryoSleep)
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 ailenum chr 0 0 8693 NA NA NA
## 2 ailesıra chr 0 0 8693 NA NA NA
## 3 PassengerId chr 0 0 8693 NA NA NA
## 4 HomePlanet chr 201 2.3 4 NA NA NA
## 5 CryoSleep lgl 217 2.5 3 0 0.36 1
## 6 Cabin chr 199 2.3 6561 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 lgl 203 2.3 3 0 0.02 1
## 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 lgl 0 0 2 0 0.5 1
## 17 deck chr 199 2.3 6561 NA NA NA
## 18 num chr 0 0 1 NA NA NA
## 19 side chr 0 0 1 NA NA NA
train <- train[, c( 1:6, 7:16)]
train[train == ''] <- NA
test[test== ''] <- NA
train %>% describe_all()
## # A tibble: 16 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 ailenum chr 0 0 8693 NA NA NA
## 2 ailesıra chr 0 0 8693 NA NA NA
## 3 PassengerId chr 0 0 8693 NA NA NA
## 4 HomePlanet chr 201 2.3 4 NA NA NA
## 5 CryoSleep lgl 217 2.5 3 0 0.36 1
## 6 Cabin chr 199 2.3 6561 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 lgl 203 2.3 3 0 0.02 1
## 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 lgl 0 0 2 0 0.5 1
train$HomePlanet <- addNA(train$HomePlanet)
unique(train$HomePlanet)
## [1] Europa Earth Mars <NA>
## Levels: Earth Europa Mars <NA>
Bu, tren veri çerçevemizin “HomePlanet” sütununda “Europa”, “Earth” ve “Mars” olmak üzere üç farklı değer olduğu anlamına gelir. Ayrıca eksik değerler (NA) var.
[1] Europa Earth Mars
Yani “HomePlanet” sütunumuz üç farklı gezegen (Avrupa, Dünya, Mars)
ve eksik değerleri (
test$HomePlanet <- addNA(test$HomePlanet)
unique(test$HomePlanet)
## [1] Earth Europa Mars <NA>
## Levels: Earth Europa Mars <NA>
Sonuçlar, “HomePlanet” sütununda listelenen farklı gezegenleri (Dünya, Avrupa, Mars) ve eksik değerleri (NA) gösterir. Unique() işlevi, bir vektördeki tüm benzersiz değerleri döndürür.
most_frequent <- names(sort(table(test$HomePlanet), decreasing = TRUE))[1]
test$HomePlanet[is.na(test$HomePlanet)] <- most_frequent
Bu, “HomePlanet” sütunundaki her değerin oluşumlarını saymak için table() işlevini, ardından sonuçları azalan düzende sıralamak için sort() işlevini kullanır. Daha sonra, names(), most_frequent değişkeninde sakladığımız en sık kullanılan değerin adını alır. Son olarak “HomePlanet” sütunundaki eksik değerleri bu en sık görülen değerle değiştiriyoruz.
train <- train %>% select(-Cabin)
%>%, genellikle “dplyr” paketiyle birlikte kullanılan yönlendirme operatörüdür. Soldaki sonucu alır ve sağdaki fonksiyona ilk argüman olarak iletir.
test <- test %>% select(-Cabin)
library(dplyr)
test <- test %>%
dplyr::select(-matches("Cabin"))
Bu, işlevin gizlenmesine ilişkin uyarıların ortadan kaldırılmasına yardımcı olacaktır.
levels(train$HomePlanet)
## [1] "Earth" "Europa" "Mars" NA
“Earth”: Veri kümenizde HomePlanet değişkeninin “Earth”ya atandığı gözlemler bulunmaktadır. “Europa”: HomePlanet değişkeninin “Europa”ya atandığı gözlemler vardır. “Mars”: HomePlanet değişkeninin “Mars”a atandığı gözlemler vardır. NA: HomePlanet değerinin eksik olduğu gözlemler var.
unique(train$CryoSleep)
## [1] FALSE TRUE NA
sonuç [1] YANLIŞ DOĞRU NA, CryoSleep sütununda FALSE oluşumlarının, TRUE oluşumlarının ve eksik değerlerin (NA) olduğu anlamına gelir. Bu, tren veri çerçevesinin söz konusu sütununda mevcut olan veri türleri hakkında bir fikir verir.
train$CryoSleep <- addNA(train$Destination)
test$CryoSleep <- addNA(test$Destination)
train_data <- train_data %>% mutate(., age = ifelse(is.na(Age), mean_age, Age))
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 ailenum chr 0 0 8693 NA NA NA
## 2 ailesıra chr 0 0 8693 NA NA NA
## 3 PassengerId chr 0 0 8693 NA NA NA
## 4 HomePlanet fct 0 0 4 NA NA NA
## 5 CryoSleep fct 0 0 4 NA NA NA
## 6 Destination chr 182 2.1 4 NA NA NA
## 7 Age dbl 179 2.1 81 0 28.8 79
## 8 VIP lgl 203 2.3 3 0 0.02 1
## 9 RoomService dbl 181 2.1 1274 0 225. 14327
## 10 FoodCourt dbl 183 2.1 1508 0 458. 29813
## 11 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 12 Spa dbl 183 2.1 1328 0 311. 22408
## 13 VRDeck dbl 188 2.2 1307 0 305. 24133
## 14 Name chr 200 2.3 8474 NA NA NA
## 15 Transported lgl 0 0 2 0 0.5 1
r açalım: train <- train %>% group_by(HomePlanet) %>% mutate_at(vars(Age), -replace_na(., na.rm = TRUE))
Sağladığımız kod, veri manipülasyon işlemlerini gerçekleştirmek için dplyr kütüphanesini kullanıyor. Kodu, tren veri çerçevesini alır, bunu HomePlanet değişkenine göre gruplandırır, ardından Age değişkenindeki eksik değerleri, ortalamayı hesaplarken eksik değerleri göz ardı ederek o değişkenin ortalamasıyla değiştirir. Bu, her farklı HomePlanet grubu için Yaş değişkenindeki eksik değerlerin üstesinden gelmeye yardımcı olur.
age_means <- train %>% group_by(HomePlanet) %>% summarize(mean_age = mean(Age, na.rm = TRUE))
train_data <- train %>% left_join(age_means, by = “Homeplanet”)
train_data <- train_data %>% mutate(age = ifelse(is.na(Age), mean_age, Age))
Bu kod, her gözlemin ait olduğu HomePlanet grubunun ortalama yaşını kullanarak tren veri çerçevesinin Yaş sütunundaki eksik değerleri doldurmanın bir yolu gibi görünüyor.
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 ailenum chr 0 0 8693 NA NA NA
## 2 ailesıra chr 0 0 8693 NA NA NA
## 3 PassengerId chr 0 0 8693 NA NA NA
## 4 HomePlanet fct 0 0 4 NA NA NA
## 5 CryoSleep fct 0 0 4 NA NA NA
## 6 Destination chr 182 2.1 4 NA NA NA
## 7 Age dbl 179 2.1 81 0 28.8 79
## 8 VIP lgl 203 2.3 3 0 0.02 1
## 9 RoomService dbl 181 2.1 1274 0 225. 14327
## 10 FoodCourt dbl 183 2.1 1508 0 458. 29813
## 11 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 12 Spa dbl 183 2.1 1328 0 311. 22408
## 13 VRDeck dbl 188 2.2 1307 0 305. 24133
## 14 Name chr 200 2.3 8474 NA NA NA
## 15 Transported lgl 0 0 2 0 0.5 1
unique(train$Destination)
## [1] "TRAPPIST-1e" "PSO J318.5-22" "55 Cancri e" NA
çok az destination var. Bu “Hedef” sütununda tanımlanan üç gezegenin (“TRAPPIST-1e” “PSO J318.5-22” “55 Cancri e”) ve ayrıca eksik değerlerin (NA) olduğu anlamına gelir.
unique(train$CryoSleep)
## [1] TRAPPIST-1e PSO J318.5-22 55 Cancri e <NA>
## Levels: 55 Cancri e PSO J318.5-22 TRAPPIST-1e <NA>
FALSE, “CryoSleep” sütununda YANLIŞ değerinin en az bir kez görüldüğü anlamına gelir. TRUE, “CryoSleep” sütununda DOĞRU değerinin en az bir kez tekrarlandığı anlamına gelir. NA, “CryoSleep” sütununda en az bir eksik değerin (Mevcut Değil) bulunduğunu belirtir. “CryoSleep” sütununda FALSE, TRUE ve belki de bazı eksik değerlerin (NA) olduğu gözlemler vardır. Bu, SpacshipTitanic veri kümesinin bu sütunundaki verilerin dağılımını anlamak için yararlı olabilir.
hist(train$FoodCourt)
hist(train$FoodCourt), tren veri çerçevesinin “FoodCourt” sütunundaki
verilere dayanarak bir histogram oluşturur. Bu, bu sütundaki değerlerin
dağılımını grafik üzerinde çubuklar halinde görselleştirmemize olanak
sağlayacaktır.
train$VIP <- addNA(train$VIP)
test$VIP <- addNA(test$VIP)
train<- train %>% group_by(Destination)
hist(train$RoomService)
hist(train$RoomService) işleviyle histogramı oluşturur. Bu, RoomService sütununu tren veri çerçevesinden alır ve o değişkene ilişkin değerlerin dağılımını gösteren bir histogram oluşturur.
Özetle amaç, Destination değişkeninin farklı değerleriyle tanımlanan her grup için RoomService değişkeninin değerlerinin dağılımını görselleştirmektir. Bu, RoomService değişkeninin proje bağlamındaki hedefe bağlı olarak nasıl değiştiğini anlamak için yararlı olabilir.
train <- train %>% mutate(FoodCourt = coalesce(FoodCourt, 0))
test <- test %>% mutate(FoodCourt = coalesce(FoodCourt, 0))
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 ailenum chr 0 0 8693 NA NA NA
## 2 ailesıra chr 0 0 8693 NA NA NA
## 3 PassengerId chr 0 0 8693 NA NA NA
## 4 HomePlanet fct 0 0 4 NA NA NA
## 5 CryoSleep fct 0 0 4 NA NA NA
## 6 Destination chr 182 2.1 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 181 2.1 1274 0 225. 14327
## 10 FoodCourt dbl 0 0 1507 0 448. 29813
## 11 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 12 Spa dbl 183 2.1 1328 0 311. 22408
## 13 VRDeck dbl 188 2.2 1307 0 305. 24133
## 14 Name chr 200 2.3 8474 NA NA NA
## 15 Transported lgl 0 0 2 0 0.5 1
ggplot(train, aes(x = RoomService))+
geom_histogram(fill = "white", colour = "black")+
facet_grid(Destination ~ .)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 181 rows containing non-finite values (`stat_bin()`).
4 tane kategori vardır. Girdiğimiz Kodu, RoomService değişkeninin, Hedef
değişkenini temel alan yönleriyle bir histogramını oluşturur. Her
özellik, benzersiz bir Hedef kategorisini temsil eder ve histogram,
RoomService değişkeninin her kategorideki dağılımını gösterir.
Lojistik regresyon, birden fazla bağımsız değişkene dayalı olarak bir olayın meydana gelme olasılığını modellemek için kullanılan istatistiksel bir tekniktir. Amacın bir gözlemin hangi kategoriye ait olduğunu tahmin etmek olduğu sınıflandırma problemlerinde yaygın olarak kullanılır.Lojistik regresyon, bağımlı değişkenin ikili (iki kategori) olduğu durumlar için uygundur ve bağımsız değişkenlerin ilgilenilen olayın meydana gelme olasılığını nasıl etkilediğini anlamamıza olanak tanır.
train_set <- train[, 2:15] test_set <- test[, 2:14]
train_set <- train[, 2:15]: Bu satır train_set adında yeni bir nesne oluşturur. Tren veri kümesindeki tüm satırları alır, ancak yalnızca 2’den 15’e kadar olan sütunları alır. Bu, tren veri kümesinin yalnızca 2’den 15’e kadar olan sütunlarının train_set’e dahil edileceği anlamına gelir.
test_set <- test[, 2:14]: Benzer şekilde, bu satır test_set adında yeni bir nesne oluşturur. Test veri kümesindeki tüm satırları alır, ancak yalnızca 2’den 14’e kadar olan sütunları alır. Bu, test veri kümesinin yalnızca 2’den 14’e kadar olan sütunlarının test_set’e dahil edileceği anlamına gelir.
r açalım:
logistic = glm(formula = Transported ~ ., family = binomial,data = training_set)
Bu kodu, Aktarılan değişkeni tahmin etmek için training_set'teki tüm değişkenleri kullanan bir lojistik regresyon modeline uyar. Ortaya çıkan model lojistik adı verilen nesnede saklanır.
r açalım:
prob_pred = predict(logistic, type = 'response' ,newdata = testing_set[-13])
Bu kod, test_setinde olasılık tahminleri yapmak için lojistik lojistik regresyon modelini kullanır ve bu tahmin edilen olasılıklar prob_pred nesnesinde saklanır.
dim(train)
## [1] 8693 15
dim(test)
## [1] 4277 12
dim(train) bize “train” nesnesindeki satır ve sütun sayısını verir. dim(test) bize “test” nesnesindeki satır ve sütun sayısını verir.
r açalım:
colnames(train_set)
Bu kod, train_set nesnesinden sütun adlarını çıkarmak için colnames() işlevini kullanır. Bu, bu nesne türlerinin sütun adlarına sahip olması nedeniyle train_set’in bir veri çerçevesi veya matris olduğunu varsayar. Bu komutun sonucu train_set nesnesinin sütun adlarının listesidir. Bizim durumumuzda, görüntülenen sütun adları, Titanic Uzay Gemisi ile ilişkili “VRDeck”, “Name”, “Taşınan” vb. gibi nitelikler veya karakteristikler gibi görünmektedir.
names(train_set)
summary(train_set)
Veri setinde mevcut değişkenlerin istatistiklerinin bir özetini elde etmek için Summary() fonksiyonunu kullanırız.
SVM, Destek Vektör Makinesi (Destek Vektör Makinesi) olarak bilinen bir makine öğrenmesi geliştirilmesidir. SVM, uyarı ve çözüm sorunları giderilebilir. Durum böyleyse gerçek şu ki, zarar verebileceği gerçeğini hesaba katmıyor.
library(e1071) fit_svm <- svm(Transported - . , data =train_set, type = ‘c-classification’, kernel = ‘linear’)
preds <- predict(fit_svm, newdata = testing_set, type = ‘raw’) %>% data.frame()
Bu kod, bir eğitim veri kümesinde (train_set) sınıflandırma gerçekleştirmek için doğrusal çekirdeğe sahip bir SVM kullanır ve bir test veri kümesinde (testing_set) tahminler üretir. Tahminler, SVM karar fonksiyonundan ham puanlar olarak preds nesnesinde saklanır.
preds$TRUE'nun her bir öğesi için, eğer değeri doğru olarak değerlendirilirse, o zaman y_pred'deki karşılık gelen değer 1 olacaktır, aksi halde 0 olacaktır. Başka bir deyişle, bu, ikili tahminleri 0 veya 1'e dönüştürmenin bir yolu olabilir. belirli bir duruma.
y_pred = ifelse(preds$. == TRUE, 1, 0)
cm = table(y_true, y_pred)
cm
(830 - 923)/(810 - 171 - 249)
## [1] -0.2384615
nb_son = naiveBayes(Transported - ., data =train_set)
preds <- predict(nb_son, newdata = test_set, type = "raw") %>%
data.frame()
y_pred = ifelse(preds$TRUE. > 0.5, TRUE, FALSE)
Transported <- as.character(r_pred)
Paasengerld <- test$PassengerId
library(stringr)
PassengerId,Transported 0013_01,False 0018_01,False 0019_01,False 0021_01,False etc.
library(readr)
submission <- read_csv("submission.csv")
View(submission)
library(readr)
submission_Logistic <- read_csv("submission_Logistic.csv")
View(submission_Logistic)
Bunları için r açalım:
submission_Logistic.
df = pd.read_csv('/kaggle/input/spaceship-titanic/train.csv')
df.head()
svm_son = svm(Transported ‥ ., data -train_set, type = ‘c-classification’, kernel - ‘linear’)
y_pred - preds$.
Transported <- as.character(r_pred) Paasengerld <- test$PassengerId
Transported <- as.vector(Transported)
submission <- cbind(Passengerld, Transported)
submission <- as.data.frame(submission)
library(stringr)
submission$Transported <- str_to_title(submission$Transported)
write.csv(submission, "sub_nb.csv", row.names = FALSE, quote = FALSE)
Bu kod, bir veri nesnesini (gönderim) alır ve CSV dosyasındaki satır adlarını eklemeden ve dizeleri tırnak içine almadan “sub_svm.csv” adlı bir CSV dosyasına yazar. Bu CSV dosyası daha sonra bir analizin sonuçlarını depolamak veya verileri başkalarıyla paylaşmak için kullanılabilir.
library(readr)
sub_nb <- read_csv("sub_nb.csv")
Kodu, CSV dosyasının başarıyla okunduğunu bize bildirir, satır ve sütun sayısı hakkında ayrıntılı bilgi verir, kullanılan sınırlayıcıyı belirtir ve her bir sütunun veri türüne göre nasıl yorumlandığı hakkında bilgi sağlar.
Radyal SVM (Destek Vektör Makinesi), sınıflandırma ve regresyon için kullanılan bir tür makine öğrenme algoritmasıdır. Anlamanız gereken bazı temel kavramlar şunlardır:
SVM (Support Vector Machine): Hem sınıflandırma hem de regresyon amacıyla kullanılabilen denetimli bir öğrenme algoritmasıdır. DVM’nin temel amacı, verileri sınıflara ayıran en uygun hiperdüzlemi bulmaktır.
svm_ker_son <- svm(Transported ~ ., data = train_set,
type = 'C-classification',
kernel = 'radial')
preds <- predict(svm_ker_son, newdata = test_set, type = "raw") %>%
data.frame()
Decision Trees, yapay zeka ve makine öğrenimi alanında yaygın olarak kullanılan bir makine öğrenme modelidir. İşte basit bir açıklama:
Decision Trees, niteliklere ilişkin kararları veya testleri temsil eden düğümlerden, bu testlerin sonuçlarını temsil eden dallardan ve hedef sınıfları temsil eden yapraklardan oluşan bir ağaç yapısıdır. Başka bir deyişle, bir karar verme sürecinin görsel temsilidir.
library(readr)
submission_Decision_Tree <- read_csv("C:/Users/NDJELASSEM/Downloads/submission_Decision_Tree.csv")
View(submission_Decision_Tree)
Satırlar: 418 Sütunlar: 2: Bu, veri kümenizin 418 satır (gözlemler) ve 2 sütun (değişkenler) içerdiği anlamına gelir. Her satır veri kümenizdeki bir girişe karşılık gelir ve her sütun bir değişkeni temsil eder. Sütun belirtimi: Readr paketinin iki sütunun her biri için veri türünü (dbl - double/numeric) otomatik olarak tahmin ettiğini belirtir. İki sütun Yolcu Kimliği ve Hayatta Kaldı’dır. Bununla birlikte, veri türü, uzunluk vb. hakkında ayrıntılı bilgiler içeren tam sütun belirtimini almak için spec() işlevini kullanabileceğinizi de önerir.
library(rpart)
library(rpart.plot)
library(randomForest)
library(caret)
Girdiğimiz kod, rpart, rpart.plot, randomForest ve caret dahil olmak üzere bazı R kitaplıklarının kullanımını gösterir. Bu kütüphaneler genellikle makine öğrenimi modelleri ve karar ağaçları oluşturmak için kullanılır.
training_set$Transported <- as.factor(training_set$Transported)
testing_set$Transported <- as.factor(testing_set$Transported)
train_set$Transported <- as.factor(train_set$Transported)
Bu kod satırları, “Taşınan” sütununu training_set, test_set ve train_set veri kümeleri için bir faktöre dönüştürür. Bu, sayısal değişkenler yerine kategorik değişkenler gerektiren istatistiksel modeller veya makine öğrenimi algoritmalarıyla çalışırken yararlı olabilir. Faktör dönüşümü, farklı kategorilerin veri analizi veya modelleme bağlamında uygun şekilde temsil edilmesine olanak tanır.
{r fit_tree <- rpart(Transported ~ ., data = training_set) summary(fit_tree)
Bu, veri kümesinde (training_set) mevcut tüm diğer değişkenlere dayalı
olarak tahmin edilecek değişken (Transported) ile rpart fonksiyonunu
kullanan bir karar ağacı modeline uyar. Daha sonra özet işlevini
kullanarak model sonuçlarının bir özetini görüntüler.
Naive Bayes, Bayes teoremine dayalı olasılıksal bir sınıflandırma algoritmasıdır. “Saf” olarak adlandırılmasının nedeni, sınıflandırma için kullanılan özelliklerin birbirinden bağımsız olduğu yönünde basitleştirici bir varsayımda bulunmasıdır. Başka bir deyişle algoritma, bir sınıfta belirli bir özelliğin varlığının, başka bir özelliğin varlığını etkilemediğini varsayar.
Bayes teoremi, koşullu olasılığı, yani belirli bir sınıfın gözlenen özellikler kümesi göz önüne alındığında olasılığını hesaplamak için kullanılır.
library(e1071)
fit_nb <- naiveBayes(Transported - ., data =train_set)
preds <- predict(fit_nb, newdata = testing_set[-11], type = "raw") %>%
data.frame()
Bu kodu, bir eğitim veri kümesinden bir sınıflandırma modeli oluşturmak için Naive Bayes yöntemini kullanır, ardından tahminlerde bulunmak için bunu bir test veri kümesine uygular. Tahminler, preds adı verilen bir veri çerçevesinde saklanır. Kodun doğru çalışması için train_set ve test_set’teki sütun adlarının ve sütun sayısının tutarlı olduğundan emin olun.
y_pred = ifelse(preds$TRUE. > 0.5, 1, 0)
{r cm = table(y_true, y_pred)
{r cm
Bu kod temel olarak bir Naive Bayes sınıflandırma modeli oluşturmaya, bir test kümesindeki sonuçları tahmin etmeye ve bir karışıklık matrisi kullanarak performansı değerlendirmeye odaklanmıştır. Elbette R Markdown’da kullanılan bu R kodunu sizlere açıklamaktan memnuniyet duyarım. Bu kod temel olarak bir Naive Bayes sınıflandırma modeli oluşturmaya, bir test kümesindeki sonuçları tahmin etmeye ve bir karışıklık matrisi kullanarak performansı değerlendirmeye odaklanmıştır. İşte bölüm bölüm açıklama:
{R} Kodu kopyala kitaplık(e1071) fit_nb <- naiveBayes(Taşınan - ., veri = train_set)
Bu bölüm, Naive Bayes modelinin uygulamasını sağlayan e1071 kitaplığını yükler. Daha sonra train_set eğitim verilerine Naive Bayes modelini yerleştirir. Taşınan - . hedef değişkenin (Taşınan) veri kümesindeki diğer tüm değişkenlere dayalı olarak tahmin edildiği anlamına gelir.
```r
(510 - 1016)/(510 - 1016- 78 -569)
## [1] 0.4388552
library(readr)
notebook_space_titanic <- read_csv("notebook-space-titanic.log")
View(notebook_space_titanic)
library(readr): Bu satır, tablosal verileri (CSV dosyaları gibi) okuma konusunda uzmanlaşmış bir R kitaplığı olan readr kitaplığını yükler.
notebook_space_titanic <- read_csv(“notebook-space-titanic.log”): Bu satır, readr kütüphanesinin read_csv işlevini kullanarak “notebook-space-titanic.log” adlı bir CSV dosyasını okur. CSV dosyasındaki veriler daha sonra notebook_space_titanic nesnesinde saklanır.
View(notebook_space_titanic): Bu satır, notebook_space_titanic nesnesinde saklanan verileri bir veri görselleştirme arayüzünde görüntülemek için View işlevini kullanır. Bu, kullanıcının verileri daha kolay keşfetmesine ve incelemesine olanak tanır.
Kod başlığında message=FALSE ve warning=FALSE kullanılması, bu kod çalıştırılırken mesajların ve uyarıların görüntülenmeyeceğini belirtir. Bu, özellikle belgelere veya raporlara dahil edildiğinde, gerekli olmayan çıktıları kaldırmak ve kodu daha temiz hale getirmek için yararlı olabilir.