##spaceshi titanic
##PassengerId - Her yolcu için benzersiz bir kimlik. Her kimlik, yolcunun birlikte seyahat ettiği bir grubu gösteren ve grup içindeki numaralarını içeren bir formdadır. Bir gruptaki insanlar genellikle aile üyeleridir, ancak her zaman değil.gggg_ppggggpp HomePlanet - Yolcunun ayrıldığı gezegen, tipik olarak daimi ikamet gezegeni. CryoSleep - Yolcunun yolculuk süresince askıya alınmış animasyona alınmayı seçip seçmediğini gösterir. Dondurucu uykudaki yolcular kabinlerine hapsedilir. Cabin - Yolcunun kaldığı kabin numarası. Liman veya Sancak için olabileceği şeklini alır.deck/num/sidesidePS Destination - Yolcunun ineceği gezegen. Age - Yolcunun yaşı. VIP - Yolcunun yolculuk sırasında özel VIP hizmeti için ödeme yapıp yapmadığı. RoomService, , , , - Yolcunun Uzay Gemisi Titanik’in birçok lüks olanağının her biri için faturalandırdığı tutar.FoodCourtShoppingMallSpaVRDeck Name - Yolcunun adı ve soyadı. Transported - Yolcunun başka bir boyuta taşınıp taşınmadığı. Bu hedef, tahmin etmeye çalıştığınız sütundur. test.csv - Test verisi olarak kullanılmak üzere yolcuların kalan üçte biri (~4300) için kişisel kayıtlar. Senin görevin bu setteki yolcular için değerini tahmin etmektir. Transported sample_submission.csv - Doğru formatta bir gönderim dosyası. PassengerId - Test setindeki her yolcu için kimlik. Transported - Hedef. Her yolcu için, ya da tahmin edin.TrueFalse
data yüklemek train ve test
## 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.
## 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.
## ── 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 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
## [1] "Europa" "Earth" "Mars" NA
## NULL
## [1] "Earth" "Europa" "Mars" NA
## [1] "Earth" "Europa" "Mars" "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 lgl 217 2.5 3 0 0.36 1
## 4 Destination chr 182 2.1 4 NA NA NA
## 5 Age dbl 179 2.1 81 0 28.8 79
## 6 VIP lgl 203 2.3 3 0 0.02 1
## 7 RoomService dbl 181 2.1 1274 0 225. 14327
## 8 FoodCourt dbl 183 2.1 1508 0 458. 29813
## 9 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 10 Spa dbl 183 2.1 1328 0 311. 22408
## 11 VRDeck dbl 188 2.2 1307 0 305. 24133
## 12 Name chr 200 2.3 8474 NA NA NA
## 13 Transported lgl 0 0 2 0 0.5 1
## 14 ailenum chr 0 0 6217 NA NA NA
## 15 ailesira chr 0 0 8 NA NA NA
## 16 deck chr 199 2.3 9 NA NA NA
## 17 num chr 199 2.3 1818 NA NA NA
## 18 side chr 199 2.3 3 NA NA NA
train <- train %>%
group_by(HomePlanet) %>%
mutate_at(vars(Age), ~replace_na(., mean(., na.rm = TRUE)))test <- test %>%
group_by(HomePlanet) %>%
mutate_at(vars(Age), ~replace_na(., mean(., na.rm = TRUE)))## # A tibble: 18 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 PassengerId chr 0 0 8693 NA NA NA
## 2 HomePlanet fct 0 0 4 NA NA NA
## 3 CryoSleep lgl 217 2.5 3 0 0.36 1
## 4 Destination chr 182 2.1 4 NA NA NA
## 5 Age dbl 0 0 84 0 28.8 79
## 6 VIP lgl 203 2.3 3 0 0.02 1
## 7 RoomService dbl 181 2.1 1274 0 225. 14327
## 8 FoodCourt dbl 183 2.1 1508 0 458. 29813
## 9 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 10 Spa dbl 183 2.1 1328 0 311. 22408
## 11 VRDeck dbl 188 2.2 1307 0 305. 24133
## 12 Name chr 200 2.3 8474 NA NA NA
## 13 Transported lgl 0 0 2 0 0.5 1
## 14 ailenum chr 0 0 6217 NA NA NA
## 15 ailesira chr 0 0 8 NA NA NA
## 16 deck chr 199 2.3 9 NA NA NA
## 17 num chr 199 2.3 1818 NA NA NA
## 18 side chr 199 2.3 3 NA NA NA
## [1] "TRAPPIST-1e" "PSO J318.5-22" "55 Cancri e" 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 Destination fct 0 0 4 NA NA NA
## 5 Age dbl 0 0 84 0 28.8 79
## 6 VIP lgl 203 2.3 3 0 0.02 1
## 7 RoomService dbl 181 2.1 1274 0 225. 14327
## 8 FoodCourt dbl 183 2.1 1508 0 458. 29813
## 9 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 10 Spa dbl 183 2.1 1328 0 311. 22408
## 11 VRDeck dbl 188 2.2 1307 0 305. 24133
## 12 Name chr 200 2.3 8474 NA NA NA
## 13 Transported lgl 0 0 2 0 0.5 1
## 14 ailenum chr 0 0 6217 NA NA NA
## 15 ailesira chr 0 0 8 NA NA NA
## 16 deck chr 199 2.3 9 NA NA NA
## 17 num chr 199 2.3 1818 NA NA NA
## 18 side chr 199 2.3 3 NA NA NA
## # A tibble: 18 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 PassengerId chr 0 0 8693 NA NA NA
## 2 HomePlanet fct 0 0 4 NA NA NA
## 3 CryoSleep fct 0 0 3 NA NA NA
## 4 Destination fct 0 0 4 NA NA NA
## 5 Age dbl 0 0 84 0 28.8 79
## 6 VIP fct 0 0 3 NA NA NA
## 7 RoomService dbl 181 2.1 1274 0 225. 14327
## 8 FoodCourt dbl 183 2.1 1508 0 458. 29813
## 9 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 10 Spa dbl 183 2.1 1328 0 311. 22408
## 11 VRDeck dbl 188 2.2 1307 0 305. 24133
## 12 Name chr 200 2.3 8474 NA NA NA
## 13 Transported lgl 0 0 2 0 0.5 1
## 14 ailenum chr 0 0 6217 NA NA NA
## 15 ailesira chr 0 0 8 NA NA NA
## 16 deck chr 199 2.3 9 NA NA NA
## 17 num chr 199 2.3 1818 NA NA NA
## 18 side fct 0 0 3 NA NA NA
train <- train %>%
group_by(Destination) %>%
mutate_at(vars(RoomService), ~replace_na(., mean(., na.rm = TRUE)))test <- test %>%
group_by(Destination) %>%
mutate_at(vars(RoomService), ~replace_na(., mean(., na.rm = TRUE)))## # A tibble: 18 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 PassengerId chr 0 0 8693 NA NA NA
## 2 HomePlanet fct 0 0 4 NA NA NA
## 3 CryoSleep fct 0 0 3 NA NA NA
## 4 Destination fct 0 0 4 NA NA NA
## 5 Age dbl 0 0 84 0 28.8 79
## 6 VIP fct 0 0 3 NA NA NA
## 7 RoomService dbl 0 0 1277 0 225. 14327
## 8 FoodCourt dbl 183 2.1 1508 0 458. 29813
## 9 ShoppingMall dbl 208 2.4 1116 0 174. 23492
## 10 Spa dbl 183 2.1 1328 0 311. 22408
## 11 VRDeck dbl 188 2.2 1307 0 305. 24133
## 12 Name chr 200 2.3 8474 NA NA NA
## 13 Transported lgl 0 0 2 0 0.5 1
## 14 ailenum chr 0 0 6217 NA NA NA
## 15 ailesira chr 0 0 8 NA NA NA
## 16 deck chr 199 2.3 9 NA NA NA
## 17 num chr 199 2.3 1818 NA NA NA
## 18 side fct 0 0 3 NA NA NA
train <- train %>% mutate(ShoppingMall = coalesce(ShoppingMall, 0), Spa = coalesce(Spa, 0), VRDeck = coalesce(VRDeck, 0))test <- test %>% mutate(ShoppingMall = coalesce(ShoppingMall, 0), Spa = coalesce(Spa, 0), VRDeck = coalesce(VRDeck, 0))## # A tibble: 20 × 4
## PassengerId ailenum ailesira aile
## <chr> <chr> <chr> <dbl>
## 1 0001_01 0001 01 0
## 2 0002_01 0002 01 0
## 3 0003_01 0003 01 1
## 4 0003_02 0003 02 1
## 5 0004_01 0004 01 0
## 6 0005_01 0005 01 0
## 7 0006_01 0006 01 1
## 8 0006_02 0006 02 1
## 9 0007_01 0007 01 0
## 10 0008_01 0008 01 1
## 11 0008_02 0008 02 1
## 12 0008_03 0008 03 1
## 13 0009_01 0009 01 0
## 14 0010_01 0010 01 0
## 15 0011_01 0011 01 0
## 16 0012_01 0012 01 0
## 17 0014_01 0014 01 0
## 18 0015_01 0015 01 0
## 19 0016_01 0016 01 0
## 20 0017_01 0017 01 1
## # A tibble: 15 × 8
## variable type na na_pct unique min mean max
## <chr> <chr> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 PassengerId chr 0 0 8693 NA NA NA
## 2 HomePlanet fct 0 0 4 NA NA NA
## 3 CryoSleep fct 0 0 3 NA NA NA
## 4 Destination fct 0 0 4 NA NA NA
## 5 Age dbl 0 0 84 0 28.8 79
## 6 VIP fct 0 0 3 NA NA NA
## 7 RoomService dbl 0 0 1277 0 225. 14327
## 8 FoodCourt dbl 0 0 1507 0 448. 29813
## 9 ShoppingMall dbl 0 0 1115 0 170. 23492
## 10 Spa dbl 0 0 1327 0 305. 22408
## 11 VRDeck dbl 0 0 1306 0 298. 24133
## 12 Transported lgl 0 0 2 0 0.5 1
## 13 deck fct 0 0 9 NA NA NA
## 14 side fct 0 0 3 NA NA NA
## 15 aile dbl 0 0 2 0 0.45 1
##Lojistik regresyon, kategorik bir sonucu tahmin etmek amacıyla kullanılan bir regresyon analizi yöntemidir. Lojistik regresyon, bağımlı değişkenin kategorik olduğu durumlarda kullanılan bir tahminleme yöntemidir. Bağımlı değişken genellikle “başarı” veya “başarısızlık” gibi iki kategoriden oluşur. Bağımsız değişkenlerin değerleri, belirli bir olayın veya kategorik sonucun olma olasılığını tahmin etmek için kullanılır. Lojistik regresyon, bağımsız değişkenlerle bağımlı değişken arasındaki ilişkiyi ifade eden bir logit fonksiyonu kullanarak kategorik sonucun olasılığını tahmin eder.
##Lojistik regresyon analizi, pazarlama, tıp, sosyal bilimler, ekonomi gibi birçok alanda kullanılan bir veri analizi yöntemidir. Örneğin, bir pazarlama çalışmasında müşterilerin bir ürünü satın alma olasılığını tahmin etmek veya bir tıbbi araştırmada bir hastada bir hastalık oluşma olasılığını tahmin etmek için lojistik regresyon analizi kullanılabilir.
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)## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == :
## prediction from rank-deficient fit; attr(*, "non-estim") has doubtful cases
## y_pred
## y_true 0 1
## 0 819 260
## 1 189 905
## [1] 0.7933732
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == :
## prediction from rank-deficient fit; attr(*, "non-estim") has doubtful cases
NAİVE BAYES
##Naive Bayes, istatistiksel bir sınıflandırma yöntemidir. Bu yöntem, Bayes Teoremi’ne dayanarak çalışır. Naive Bayes, verilerin birbirinden bağımsız olduğunu varsayar, yani özelliklerin birbirleriyle ilişkisiz olduğunu ve bağımsız olduğunu kabul eder. Bu nedenle “naive” (saf, safça) olarak adlandırılır. Naive Bayes algoritması, bir gözlem üzerindeki belirli özelliklere dayanarak bu gözlemi belli bir sınıfa sınıflandırır. İşte verileri sınıflandırmak için kullanılan bu yönteme Naive Bayes denir.
library(e1071)
fit_nb <- naiveBayes(Transported ~ ., data = training_set)
preds <- predict(fit_nb, newdata =testing_set[-11], type ="raw") %>% data.frame()## y_pred
## y_true 0 1
## 0 510 569
## 1 78 1016
## [1] 0.7022549
## Warning in cbind(PassengerId, Transported): number of rows of result is not a
## multiple of vector length (arg 2)
SVM
SVM (Support Vector Machine) veya Destek Vektör Makinesi, bir makine öğrenme algoritmasıdır. Sınıflandırma ve regresyon problemlerini çözmek için kullanılır. Verileri sınıflandırmak veya bir çıktı değerini tahmin etmek için kullanılır.
SVM, önceki örneklemeler kullanarak sınıflandırma düzlemi arasındaki süzgeci arar ve bu düzlemden maksimum ayrıma sahip olan destek vektörleri seçer. Bu süzgeç düzlemini kullanarak gelen verileri sınıflandırır.
SVM ayrıca çekirdek fonksiyonları kullanarak veri dönüşümü yapabilir. Bu, verilerin daha yüksek boyutlu uzaylarda sınıflandırılmasına olanak tanır ve bazı durumlarda daha iyi performans sağlar.
SVM’nin avantajları arasında etkili sınıflandırma, sadece sınırlayıcı destek vektörlerini kullandığı için verileri tanımlamak için daha az bellek kullanımı ve hesaplama hızı vardır. Ancak, büyük veri setleriyle çalışırken zaman ve bellek sınırlamalarına sahip olabilir.
library(e1071)
fit_svm <- svm(Transported ~ ., data = training_set, type = 'C-classification', kernel = 'linear')
preds <- predict(fit_svm, newdata = testing_set, type = "raw") %>% data.frame()## y_pred
## y_true FALSE TRUE
## 0 510 569
## 1 78 1016
## [1] 0.807179
#SVM RADİAL kernel
SVM (Support Vector Machines) algoritması, veri noktalarını birbirinden ayırmak veya sınıflandırmak için kullanılan bir makine öğrenme yöntemidir. SVM algoritmasında, veri noktaları bir vektör uzayında temsil edilir ve bu veri noktalarını ayırmak için bir karar sınırı (decision boundary) belirlenir.
RADİAL kernel ise, SVM algoritmasında kullanılan bir çekirdek fonksiyonudur. Çekirdek fonksiyonları, SVM algoritmasının bir özellik uzayında doğrusal olarak ayrıştırılamayan veri noktalarını ayırmak için kullanılır.
RADİAL kernel, veri noktalarını birbirinden ayırmak için dairesel bir karar sınırı belirler. Bu çekirdek fonksiyonu, rastgele etkenlerle gürültülü veri kümesi gibi karmaşık veri setlerini sınıflandırmak için etkilidir.
RADİAL kernelin bir özelliği, parametrelerinin bulunmasıdır. Bu parametreler, SVM algoritmasının performansını etkiler ve genellikle çapraz doğrulama gibi yöntemlerle en iyi parametre değerleri bulunur.