1810504575

SPACESHIP TITANIC

library(readr)
train <- read_csv("train.csv")
library(readr)
test <- read_csv("test.csv")
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>
str(test)
## 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>
library(DataExplorer)
create_report(train)
## 
## 
## 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/SANCAK/Desktop/final project/final project/report.knit.md
## "C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/pandoc" +RTS -K512m -RTS "C:\Users\SANCAK\Desktop\FINALP~1\FINALP~1\REPORT~1.MD" --to html4 --from markdown+autolink_bare_uris+tex_math_single_backslash --output pandoc3b286a8f5542.html --lua-filter "C:\Users\SANCAK\AppData\Local\R\win-library\4.3\rmarkdown\rmarkdown\lua\pagebreak.lua" --lua-filter "C:\Users\SANCAK\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\SANCAK\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\SANCAK\AppData\Local\Temp\RtmpieCBf0\rmarkdown-str3b286d5550f7.html"
## 
## Output created: report.html

histogram

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ purrr     1.0.2
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.4.4     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::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
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
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>
unique(train$HomePlanet)
## [1] "Europa" "Earth"  "Mars"   NA
unique(train$Destination)
## [1] "TRAPPIST-1e"   "PSO J318.5-22" "55 Cancri e"   NA

Benzersiz(tren$Hedef)” komutu, “tren” veri kümesinin “Hedef” değişkenindeki benzersiz değerlerin bir listesini döndürecektir.

unique(test$HomePlanet)
## [1] "Earth"  "Europa" "Mars"   NA
unique(train$CryoSleep)
## [1] FALSE  TRUE    NA

benzersiz(train$CryoSleep), “train” veri kümesinin “CryoSleep” sütunundaki benzersiz değerlerin bir vektörünü döndürür. Veri seti ve sütun sağlanmadığı için tam çıktıyı veremiyor.

hist(train$FoodCourt)

Bu kod parçacığı, “tren” veri kümesinde “FoodCourt” değişkeninin bir histogramını oluşturur.

train<-train %>%group_by(Destination)
hist(train$FoodCourt)

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()`).

Bu kod, “train” veri kümesindeki “RoomService” değişkeninin histogramını oluşturmak için R’deki ggplot2 paketini kullanır. Histogram, “Hedef” değişkeninin her seviyesi için ayrı ayrı oluşturulur ve “facet_grid” işlevi kullanılarak ızgara formatında düzenlenir. Histogramdaki çubuklar beyazla doldurulmuştur ve siyah dış çizgileri vardır.

##logistic regression Logistik regresyon, istatistiksel bir sınıflandırma yöntemidir. Bir bağımlı değişkenin (sınıflandırma) olasılığını tahmin etmek için kullanılır. Logistik regresyon, bağımlı değişkenin ikili (binary) veya çoklu (multinomial) sınıflar arasında olduğu durumları ele alabilir. Logistik regresyon, bağımsız değişkenlerin etkisini bir logit fonksiyonu kullanarak modellemektedir. Bu fonksiyon, bağımlı değişkenin olasılığını hesaplamak için bağımsız değişkenlerin ağırlıklı toplamını kullanır. Bu şekilde, logistik regresyon, veriye dayalı bir model oluşturarak sınıflandırma yapabilir. Logistik regresyon, birçok uygulama alanın

{r train_set <- train[, 2:15] test_set <- test[, 2:14] Bu kod satırları, mevcut “train” ve “test” veri çerçevelerinden belirli sütunları seçerek “train_set” ve “test_set” adı verilen iki yeni veri çerçevesi oluşturur. ‘train_set’, ‘train’ veri çerçevesinden 2’den 15’e kadar olan sütunlar seçilerek oluşturulur. ‘test_set’, ‘test’ veri çerçevesinden 2’den 14’e kadar olan sütunlar seçilerek oluşturulur.

{r logistic = glm(formula = Transported ~ ., family = binomial,data = training_set) Bu kod, R’deki glm() işlevini kullanan bir lojistik regresyon modeline uyuyor. Formül “Transported ~.” olarak belirtilir; bu, “Transported” değişkeninin yanıt değişkeni olduğu ve veri çerçevesindeki diğer tüm değişkenlerin (yanıt değişkeni hariç) yordayıcı değişkenler olduğu anlamına gelir. Aile argümanı “binom” olarak ayarlanmıştır; bu, bunun ikili yanıt değişkenlerini modellemek için uygun olan bir binom lojistik regresyon modeli olduğunu gösterir. Modelin oturtulması için kullanılan veriler “training_set” olarak belirtilir.

{r prob_pred = predict(logistic, type = 'response' ,newdata = testing_set[-13]) Bu kod parçacığı, son 13 satır hariç, yeni bir veri kümesi test_kümesi üzerindeki olasılıkları tahmin etmek için lojistik regresyon modeli lojistiğini kullanıyor. Tahmin() işlevi, tahmin edilen olasılıkları elde etmek için = ‘yanıt’ bağımsız değişkeniyle birlikte kullanılır.

{r colnames(train_set)

{r names(train_set)

{r summary(train_set) “train_set” veri kümesinin özeti, veri kümesinde mevcut değişkenler için tanımlayıcı istatistikler sağlar. Her değişken için gözlem sayısını, ortalama, medyan, minimum, maksimum ve çeyrek değerlerini içerebilir. Özet, verilerin genel dağılımının ve özelliklerinin anlaşılmasına yardımcı olur.

SVM

SVM, yani Destek Vektör Makinesi, bir makine öğrenmesi algoritmasıdır. Sınıflandırma ve regresyon problemlerini çözmek için kullanılır. SVM, veri noktalarını farklı sınıflara ayırmak için bir hiper düzlem bulmaya çalışır. Bu hiper düzlem, veri noktalarını en iyi şekilde ayırmak için maksimum marjinal ayrımı sağlamaya çalışır. SVM algoritması, özellikle doğrusal olmayan veri kümeleri için çekirdek fonksiyonları kullanarak genişletilebilir. Bu, veri noktalarını daha yüksek boyutlu uzaylarda ayırmak için kullanılır. SVM’nin birçok uygulama alanı vardır, örneğin görüntü sınıflandırma, metin sınıflandırma, biyoinformatik ve daha fazlası. Eğer SVM hakkında daha fazla bilgi veya soruların varsa, sormaktan çekinme!

```{r 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()**

Tren setinize bir destek vektör makinesi (SVM) modelini sığdırmak için R'deki e1071 kitaplığını kullandığınız anlaşılıyor. Ardından, test kümenizde tahminlerde bulunmak ve sonuçları preds değişkeninde depolamak için tahmin işlevini kullanırsınız. Son olarak tahminleri bir veri çerçevesine dönüştürüyorsunuz.
Tren kümenizdeki sütunların adlarıyla ilgili sorunuzla ilgili olarak, sütun adlarını almak için colnames() işlevini kullanabilirsiniz. Bu durumda tren setinizdeki sütunların adlarını almak için colnames(train_set) komutunu kullanabilirsiniz.

```{r
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()**

```{r library(e1071) fit_svm <- svm(Transported - . , data =train_set, type = ‘c-classification’, kernel = ‘linear’)

cm = table(y_true, y_pred)



```{r
cm = table(y_true, y_pred)

{r cm

{r rb_son = naiveBayes(Transported - ., data = train_set) Görünüşe göre R’deki naiveBayes işlevini kullanarak bir Naive Bayes sınıflandırıcısını yerleştiriyorsunuz. Hedef değişken olarak “Transported” değişkenini ve tahmin ediciler olarak train_set’te kalan değişkenleri kullanıyorsunuz. Naive Bayes, özellikle kategorik verilerle uğraşırken sınıflandırma görevleri için popüler bir algoritmadır. Hedef değişken göz önüne alındığında yordayıcıların koşullu olarak bağımsız olduğu varsayılmaktadır. Naive Bayes modelini eğittikten sonra onu yeni veriler üzerinde tahminlerde bulunmak için kullanabilirsiniz.

{r preds <- predict(rb_son newdata = test_set, type = "raw") %>% data.frame()

{r y_pred = ifelse(preds$TRUE. > 0.5, TRUE, FALSE) Preds değişkenindeki değerlere dayalı olarak y_pred adında yeni bir değişken oluşturmak için ifelse işlevini kullandığınız anlaşılıyor. Preds’deki değer TRUE’ya eşitse y_pred’e 1 değeri atanır. Aksi halde 0 değeri atanır. Bu, tahminleri ikili değerlere dönüştürmenin akıllıca bir yolu! Başka sorularınız varsa veya yardımcı olabileceğim başka bir konu varsa bana bildirin.

{r Transported <- as.character(r_pred) Passengerld <- test$PassengerId

{r library(stringr)

Decision Trees

Karar ağacı, bir makine öğrenmesi algoritmasıdır. Veri noktalarını farklı sınıflara veya kategorilere ayırmak için bir ağaç yapısı kullanır. Her bir düğüm, bir özelliği temsil eder ve veri noktalarını bu özelliklere göre bölerek sınıflandırma yapar. Karar ağacı, veri setindeki en önemli özellikleri belirlemek için çeşitli kriterler kullanır. Bu kriterler, veri noktalarını en iyi şekilde ayırmayı hedefler. Karar ağacı algoritması, ağacın dallarını ve düğümlerini oluştururken enformasyon kazancı, Gini endeksi veya hata oranı gibi ölçütleri kullanabilir. Karar ağacı algoritması, basit anlaşılır bir model sunar ve yorumlanması kolaydır. Ayrıca, doğrusal olmayan ilişkileri de yakalayabilir ve eksik veriyle başa çıkabilir. Bu nedenle, karar ağacı birçok uygulama alanında kullanılır, örneğin tıp, finans, pazarlama ve daha fazlası.

{r library(rpart) library(rpart.plot) library(randomForest) library(caret) Görünüşe göre makine öğrenimi ve veri analizi için bazı popüler R paketlerini yüklüyorsunuz. Bahsettiğiniz paketler: - rpart: Bu paket, yinelemeli bölümleme algoritmasını kullanarak karar ağaçlarını yerleştirmek için işlevler sağlar. - rpart.plot: Bu paket, rpart paketiyle oluşturulan karar ağaçlarının görselleştirilmesine yardımcı olur. - randomForest: Bu paket, sınıflandırma ve regresyon görevleri için bir topluluk öğrenme yöntemi olan rastgele orman algoritmasını uygular. - “caret”: “caret” paketi, çeşitli algoritmalar için tutarlı bir arayüz sağlayan, makine öğrenimi modellerini eğitmek ve değerlendirmek için güçlü bir araçtır. Bu paketler, makine öğrenimi modellerini oluşturmak ve analiz etmek için geniş bir işlevsellik yelpazesi sunar.

{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)

{r fit_tree <- rpart(Transported ~ ., data = training_set) summary(fit_tree) R’deki rpart işlevini kullanarak bir karar ağacı modeli yerleştirdiniz. ‘Transported ~ .’ formülü, training_set veri kümesindeki diğer tüm değişkenleri “Transported” değişkeni için tahminciler olarak kullandığınızı gösterir. Uygun karar ağacı modelinin bir özetini almak için fit_tree nesnesindeki özet fonksiyonunu kullanabilirsiniz. Bu size bölünme sayısı, değişken önemi ve modelin genel performansı gibi bilgiler sağlayacaktır.

{r rpart.plot(fit_tree)

library(readr)
sample_submission_1_ <- read_csv("sample_submission (1).csv")
View(sample_submission_1_)
library(readr)
submission <- read_csv("submission.csv")
View(submission)
library(readr)
sub_nb <- read_csv("sub_nb.csv")
View(sub_nb)

{r library(readr) submission_Decision_Tree

Görünüşe göre karar ağacı modelini bir şey için sunmak istiyoruz.