\[\beta_0 = \beta_1 + \beta_2 +\beta_3\]
library(WDI)
library(ggplot2)
ulkeler <- c("Türkiye", "Azerbaycan")
gsyih <- c(100, 80)
veri <- data.frame(Ülke = ulkeler, GSYİH = gsyih)
library(ggplot2)
ggplot(data = veri, aes(x = Ülke, y = GSYİH, fill = Ülke)) +
geom_bar(stat = "identity") +
labs(x = "Ülke", y = "GSYİH (milyar $)", title = "Türkiye ve Azerbaycan GSYİH Karşılaştırması") +
theme_minimal()
Makine öğrenmesi, bilgisayar sistemlerinin belirli bir görevi yerine getirmek için veri kullanarak örüntüleri tanımlama, keşfetme ve öğrenme yeteneğine sahip olduğu yapay zeka alanıdır. Bu süreçte, algoritmalar veri setlerini analiz eder, örüntüleri belirler ve bu örüntüleri kullanarak gelecekteki verileri tahmin etmeyi veya belirli bir görevi yerine getirmeyi öğrenirler. Makine öğrenimi, sınıflandırma, regresyon, kümeleme, desen tanıma gibi çeşitli problemleri çözmek için kullanılır ve geniş bir uygulama alanına sahiptir, örneğin sağlık, finans, otomotiv, perakende ve daha fazlasında kullanılır. Bu süreç, veriye dayalı karar alma süreçlerini otomatikleştirmek ve geliştirmek için kullanılır, böylece sistemler daha doğru ve verimli hale gelir.
“2912 yılına hoş geldiniz, burada veri bilimi becerilerinizin bir kozmik gizemi çözmek için gerektiği bir zamandayız. Dört ışık yılı uzaklıktan bir ileti aldık ve durum iyi görünmüyor.
Uzay Gemisi Titanic, bir ay önce fırlatılan bir yıldızlararası yolcu gemisiydi. Yaklaşık 13.000 yolcuyla yola çıkan gemi, Güneş sistemimizden üç yeni yaşanabilir yıldız etrafında dönen gezegenlere göçmenleri taşıyarak ilk seferine başladı.
İlk varış noktası olan 55 Cancri E’ye, Alfa Centauri’yi dolaşırken, dikkatsiz Uzay Gemisi Titanic, bir toz bulutunun içinde gizlenmiş bir uzay-zaman anormalliğiyle çarpıştı. Ne yazık ki, adını taşıdığı gemiye bin yıl önceki kaderle benzer bir kaderi paylaştı. Gemi bütünlüğünü korudu, ancak neredeyse yolcuların yarısı alternatif bir boyuta taşındı!
Kurtarma ekiplerine yardım etmek ve kayıp yolcuları kurtarmak için, uzay gemisinin hasar görmüş bilgisayar sisteminden kurtarılan kayıtları kullanarak hangi yolcuların anormallik tarafından taşındığını tahmin etmeniz isteniyor. Onları kurtarmaya yardım edin ve tarihi değiştirin!”
Ortalama, istatistik bilim dalında ve veri analizinde kullanılan bir veri dizisinin orta konumunu, tek bir sayı ile ifade eden betimsel istatistik ölçüsüdür. Günlük hayatta ortalama dendiğinde genellikle kast edilen aritmetik ortalama olmakla beraber, bu ölçünün çok belirli bazı dezavantajları söz konusudur. İşte farklı ortalama türlerine bir göz atalım.
##Ortalama formulu \[ x=\frac{1}N\sum_{i=1}x_if_i \] ## ÖRNEK 1*:X= (1,2,2,2,3,4,4,5,5,5,6,6) ; 𝑁 = 12 gözlem sonuçları verilmiştir. Bu verilerin aritmetik ortalamasını bulunuz.
\[ x=\frac{1}N\sum_{i=1}x_if_i=\frac{1}{12}(1*1+2*3+3*1+4*2+5*3+6*2)=3,75 \] ## Standart sapama nedir? Standart sapma istatistiksel bir terimdir ve veri setinin dağılımını ölçen bir ölçüdür. Standart sapma, bir veri setindeki değerlerin ne kadar yayıldığını veya dağıldığını gösteren bir ölçüdür. Standart sapma ne kadar yüksekse, veri noktaları o kadar yayılmış demektir; standart sapma ne kadar düşükse, veri noktaları o kadar yakındır veya sıkıdır demektir.
Bir veri setindeki her bir değerin ortalamadan ne kadar uzak olduğunu ölçmek için standart sapma kullanılır. Standart sapmanın formülü, her bir değerin ortalamadan farkının karesini alarak bunların toplamını hesaplamak, bu toplamı veri setinin eleman sayısına bölerek bunun karekökünü almaktır.
##Standart sapma formulu \[ \sigma = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})^2} \]
# Örnek veri seti oluşturalım
veri <- c(10, 20, 15, 25, 30, 18, 22, 17, 24, 19)
# Standart sapmayı hesaplayalım
standart_sapma <- sd(veri)
# Hesaplanan standart sapmayı ekrana yazdıralım
print(standart_sapma)
## [1] 5.617433
Kovaryans, istatistikte iki değişken arasındaki ilişkinin ölçüsüdür. Kovaryans, bu değişkenlerin aynı anda nasıl değiştiğini ölçer. Eğer bir değişken diğer değişkenle aynı yönde değişiyorsa (birinci değişken artarken ikinci değişken de artıyorsa), kovaryans pozitif olur. Eğer bir değişken diğer değişkenle ters yönde değişiyorsa (birinci değişken artarken ikinci değişken azalıyorsa), kovaryans negatif olur. Kovaryans sıfıra yakınsa, değişkenler arasında belirgin bir ilişki yok demektir.
\[ \text{Cov}(X,Y) = \frac{1}{n} \sum_{i=1}^{n} (X_i - \bar{X})(Y_i - \bar{Y}) \]
# Örnek veri setleri
X <- c(10, 20, 15, 25, 30) # X değişkeninin değerleri
Y <- c(5, 8, 12, 15, 20) # Y değişkeninin değerleri
# X ve Y değişkenlerinin ortalamalarını hesaplayalım
mean_X <- mean(X)
mean_Y <- mean(Y)
# Kovaryansı hesaplayalım
n <- length(X) # veya length(Y) (her ikisi de aynı uzunlukta olduğu varsayılırsa)
covariance <- sum((X - mean_X) * (Y - mean_Y)) / n
# Hesaplanan kovaryansı ekrana yazdıralım
print(covariance)
## [1] 33
Korelasyon, istatistikte iki değişken arasındaki ilişkinin gücünü ve yönünü ölçen bir terimdir. İki değişken arasındaki ilişki, bu değişkenlerin birlikte nasıl değiştiğini ifade eder. Korelasyon katsayısı, bu ilişkiyi sayısal olarak ifade eden bir ölçüdür ve genellikle -1 ile +1 arasında değer alır.
\[ \text{Corr}(X,Y) = \frac{\text{Cov}(X,Y)}{\sigma_X \times \sigma_Y} \]
# İki örnek veri seti oluşturalım
X <- c(10, 20, 15, 25, 30) # İlk değişkenin değerleri
Y <- c(5, 8, 12, 15, 20) # İkinci değişkenin değerleri
# Korelasyon katsayısını hesapla
correlation_coefficient <- cor(X, Y)
# Hesaplanan korelasyon katsayısını ekrana yazdır
print(correlation_coefficient)
## [1] 0.8883301
Veri seti açıklaması Bu yarışmada, Uzay Gemisi Titanic’in uzayzaman anormalliği ile çarpışması sırasında bir yolcunun alternatif bir boyuta taşınıp taşınmadığını tahmin etmeniz gerekmektedir. Bu tahminleri yapmanıza yardımcı olmak için, geminin hasar görmüş bilgisayar sisteminden kurtarılan bir dizi kişisel kayıt verilmiştir.
Dosya ve Veri Alanı Açıklamaları train.csv - Yaklaşık olarak yolcuların üçte ikisi (~8700) için kişisel kayıtlar, eğitim verisi olarak kullanılacaktır. PassengerId - Her bir yolcu için benzersiz bir kimlik. Her kimlik, gggg_pp şeklinde olup, gggg yolcuyla seyahat eden grubu gösterir ve pp ise gruptaki numarasını belirtir. Bir gruptaki insanlar genellikle aile üyeleridir, ancak her zaman değil. HomePlanet - Yolcunun ayrıldığı gezegen, genellikle kalıcı ikamet gezegenleri. CryoSleep - Yolcunun yolculuk süresince askıya alınmış animasyona girmeyi seçip seçmediğini gösterir. Cryosleep’teki yolcular kabinlerine kapatılır. Cabin - Yolcunun kaldığı kabin numarası. Side, P için Port veya S için Starboard olabilen deck/num/side şeklinde alınır. Destination - Yolcunun iniş yapacağı gezegen. Age - Yolcunun yaşı. VIP - Yolcunun yolculuk sırasında özel VIP hizmeti için ödeme yapmış olup olmadığı. RoomService, FoodCourt, ShoppingMall, Spa, VRDeck - Yolcunun Uzay Gemisi Titanic’in birçok lüks olanaklarında ne kadar fatura ödediği. Name - Yolcunun adı ve soyadı. Transported - Yolcunun başka bir boyuta taşınıp taşınmadığı. Bu, tahmin etmeye çalıştığınız sütun olan hedeftir. test.csv - Geriye kalan yolcuların üçte biri (~4300) için kişisel kayıtlar, test verisi olarak kullanılacaktır. Göreviniz, bu setteki yolcular için Transported değerini tahmin etmektir. sample_submission.csv - Doğru formatta bir gönderim dosyası. PassengerId - Test setindeki her bir yolcu için kimlik. Transported - Hedef. Her yolcu için, ya True ya da False tahmini yapın.
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ lubridate 1.9.3 ✔ tibble 3.2.1
## ✔ purrr 1.0.2 ✔ tidyr 1.3.1
## ── 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
library(readr)
train <- read_csv("train.csv")
test <- read_csv("test.csv")
train <- separate(train, PassengerId, into = c("group_id", "sequence_number"), sep = "_", remove = FALSE)
tekrarlanan_gruplar <- train %>%
group_by(group_id) %>%
filter(n() > 1) %>%
pull(group_id)
train <- train %>%
mutate(beraber_yolculuk_yapanlar = ifelse(group_id %in% tekrarlanan_gruplar, TRUE, FALSE))
train <- separate(train, Cabin, into = c("sutun1", "sutun2", "sutun3"), sep = "/", remove = FALSE)
train$HomePlanet <- as.factor(train$HomePlanet)
summary(train)
## PassengerId group_id sequence_number HomePlanet
## Length:8693 Length:8693 Length:8693 Earth :4602
## Class :character Class :character Class :character Europa:2131
## Mode :character Mode :character Mode :character Mars :1759
## NA's : 201
##
##
##
## CryoSleep Cabin sutun1 sutun2
## Mode :logical Length:8693 Length:8693 Length:8693
## FALSE:5439 Class :character Class :character Class :character
## TRUE :3037 Mode :character Mode :character Mode :character
## NA's :217
##
##
##
## sutun3 Destination Age VIP
## Length:8693 Length:8693 Min. : 0.00 Mode :logical
## Class :character Class :character 1st Qu.:19.00 FALSE:8291
## Mode :character Mode :character Median :27.00 TRUE :199
## Mean :28.83 NA's :203
## 3rd Qu.:38.00
## Max. :79.00
## NA's :179
## RoomService FoodCourt ShoppingMall Spa
## Min. : 0.0 Min. : 0.0 Min. : 0.0 Min. : 0.0
## 1st Qu.: 0.0 1st Qu.: 0.0 1st Qu.: 0.0 1st Qu.: 0.0
## Median : 0.0 Median : 0.0 Median : 0.0 Median : 0.0
## Mean : 224.7 Mean : 458.1 Mean : 173.7 Mean : 311.1
## 3rd Qu.: 47.0 3rd Qu.: 76.0 3rd Qu.: 27.0 3rd Qu.: 59.0
## Max. :14327.0 Max. :29813.0 Max. :23492.0 Max. :22408.0
## NA's :181 NA's :183 NA's :208 NA's :183
## VRDeck Name Transported beraber_yolculuk_yapanlar
## Min. : 0.0 Length:8693 Mode :logical Mode :logical
## 1st Qu.: 0.0 Class :character FALSE:4315 FALSE:4805
## Median : 0.0 Mode :character TRUE :4378 TRUE :3888
## Mean : 304.9
## 3rd Qu.: 46.0
## Max. :24133.0
## NA's :188
# Örnek veri çerçevesi oluşturma
df <- data.frame(
group_id = c(1, 1, 2, 3, 4),
homeplanet = c("A", NA, "B", "C", "A")
)
# NA değerlerini "Dünya" olarak doldurma
df$homeplanet[is.na(df$homeplanet)] <- "Dünya"
# Eğitim seti oluşturma
training_set <- df
# Hedef değişkeni ayırma
labels <- training_set$homeplanet
training_set$homeplanet <- NULL
# Eğitim setini kontrol etme
print(training_set)
## group_id
## 1 1
## 2 1
## 3 2
## 4 3
## 5 4
print(labels)
## [1] "A" "Dünya" "B" "C" "A"
# Rastgele veri seti oluşturma
set.seed(123) # Çalışmanın tekrarlanabilirliği için seed ayarlayalım
num_samples <- 1000 # Örneklem sayısı
# Rastgele group_id ve homeplanet sütunlarını oluşturma
group_id <- sample(1:5, num_samples, replace = TRUE)
homeplanet <- sample(c("A", "NA", "B", "C"), num_samples, replace = TRUE)
# Veri çerçevesi oluşturma
df <- data.frame(
group_id = group_id,
homeplanet = homeplanet
)
# NA değerlerini "Dünya" olarak değiştirme
df$homeplanet[is.na(df$homeplanet)] <- "Dünya"
# Sonuçları kontrol etme
head(df)
## group_id homeplanet
## 1 3 B
## 2 3 C
## 3 2 NA
## 4 2 B
## 5 3 C
## 6 5 B
library(dplyr)
hist(train$FoodCourt)
hist(train$RoomService)
hist(train$Age)
hist(train$Spa)
test <- transform(test,
groupId = substr(PassengerId, 1, 4),
PassengerNumber = substr(PassengerId, 6, nchar(PassengerId)))
test$GroupId <- duplicated(test$groupId) | duplicated(test$groupId, fromLast = TRUE)
test$deck <- substr(test$Cabin, 1, 1)
test$num <- substring(test$Cabin, 2, nchar(test$Cabin) - 2)
test$side <- substr(test$Cabin, nchar(test$Cabin), nchar(test$Cabin))
summary(test)
## PassengerId HomePlanet CryoSleep Cabin
## Length:4277 Length:4277 Mode :logical Length:4277
## Class :character Class :character FALSE:2640 Class :character
## Mode :character Mode :character TRUE :1544 Mode :character
## NA's :93
##
##
##
## Destination Age VIP RoomService
## Length:4277 Min. : 0.00 Mode :logical Min. : 0.0
## Class :character 1st Qu.:19.00 FALSE:4110 1st Qu.: 0.0
## Mode :character Median :26.00 TRUE :74 Median : 0.0
## Mean :28.66 NA's :93 Mean : 219.3
## 3rd Qu.:37.00 3rd Qu.: 53.0
## Max. :79.00 Max. :11567.0
## NA's :91 NA's :82
## FoodCourt ShoppingMall Spa VRDeck
## Min. : 0.0 Min. : 0.0 Min. : 0.0 Min. : 0.0
## 1st Qu.: 0.0 1st Qu.: 0.0 1st Qu.: 0.0 1st Qu.: 0.0
## Median : 0.0 Median : 0.0 Median : 0.0 Median : 0.0
## Mean : 439.5 Mean : 177.3 Mean : 303.1 Mean : 310.7
## 3rd Qu.: 78.0 3rd Qu.: 33.0 3rd Qu.: 50.0 3rd Qu.: 36.0
## Max. :25273.0 Max. :8292.0 Max. :19844.0 Max. :22272.0
## NA's :106 NA's :98 NA's :101 NA's :80
## Name groupId PassengerNumber GroupId
## Length:4277 Length:4277 Length:4277 Mode :logical
## Class :character Class :character Class :character FALSE:2340
## Mode :character Mode :character Mode :character TRUE :1937
##
##
##
##
## deck num side
## Length:4277 Length:4277 Length:4277
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
test$HomePlanet <- as.factor(test$HomePlanet)
test <- test %>%
group_by(PassengerNumber) %>%
mutate(homeplanet = ifelse(is.na(HomePlanet), unique(HomePlanet[!is.na(HomePlanet)]),HomePlanet))
summary(test)
## PassengerId HomePlanet CryoSleep Cabin
## Length:4277 Earth :2263 Mode :logical Length:4277
## Class :character Europa:1002 FALSE:2640 Class :character
## Mode :character Mars : 925 TRUE :1544 Mode :character
## NA's : 87 NA's :93
##
##
##
## Destination Age VIP RoomService
## Length:4277 Min. : 0.00 Mode :logical Min. : 0.0
## Class :character 1st Qu.:19.00 FALSE:4110 1st Qu.: 0.0
## Mode :character Median :26.00 TRUE :74 Median : 0.0
## Mean :28.66 NA's :93 Mean : 219.3
## 3rd Qu.:37.00 3rd Qu.: 53.0
## Max. :79.00 Max. :11567.0
## NA's :91 NA's :82
## FoodCourt ShoppingMall Spa VRDeck
## Min. : 0.0 Min. : 0.0 Min. : 0.0 Min. : 0.0
## 1st Qu.: 0.0 1st Qu.: 0.0 1st Qu.: 0.0 1st Qu.: 0.0
## Median : 0.0 Median : 0.0 Median : 0.0 Median : 0.0
## Mean : 439.5 Mean : 177.3 Mean : 303.1 Mean : 310.7
## 3rd Qu.: 78.0 3rd Qu.: 33.0 3rd Qu.: 50.0 3rd Qu.: 36.0
## Max. :25273.0 Max. :8292.0 Max. :19844.0 Max. :22272.0
## NA's :106 NA's :98 NA's :101 NA's :80
## Name groupId PassengerNumber GroupId
## Length:4277 Length:4277 Length:4277 Mode :logical
## Class :character Class :character Class :character FALSE:2340
## Mode :character Mode :character Mode :character TRUE :1937
##
##
##
##
## deck num side homeplanet
## Length:4277 Length:4277 Length:4277 Min. :1.000
## Class :character Class :character Class :character 1st Qu.:1.000
## Mode :character Mode :character Mode :character Median :1.000
## Mean :1.687
## 3rd Qu.:2.000
## Max. :3.000
##
hist(test$FoodCourt)
hist(test$RoomService)
hist(test$Age)
hist(test$Spa)