Slide 1

Slide 1 text

ile veri bilimi 🔗 bit.ly/tidy-veri-bilimi dr. mine çetinkaya-rundel

Slide 2

Slide 2 text

tidyverse Tidyverse, veri bilimi için tasarlanmış R paketlerinin prensipli bir koleksiyonudur. Tüm paketler, temel bir tasarım felsefesi, dilbilgisi ve veri yapısı paylaşır.

Slide 3

Slide 3 text

tidyverse paketleri library(tidyverse)) ggplot2: veri görselleme dplyr: veri manipülasyonu tidyr: veri düzenleme readr: veri okuma ve yazma forcats: kategorik veri manipülasyonu stringr: dizi manipülasyonu tibble: modern data çerçeveleri purrr: fonksiyonel programlama install.packages(tidyverse)) yukarıdakiler + a birkaç paket daha

Slide 4

Slide 4 text

tidyverse temelleri tidy (düzenli) veri %>% ile çoklu işlemler

Slide 5

Slide 5 text

düzenli veri her bir değişkenin kendine ait sütunu olmalı each observation must have its own row each value must have its own cell değişkenler

Slide 6

Slide 6 text

her bir değişkenin kendine ait sütunu olmalı her bir gözlemin kendine ait bir satırı olmalı each value must have its own cell değişkenler gözlemler düzenli veri

Slide 7

Slide 7 text

her bir değişkenin kendine ait sütunu olmalı her bir gözlemin kendine ait bir satırı olmalı her bir değerin kendine ait bir hücresi olmalı değişkenler gözlemler değerler düzenli veri

Slide 8

Slide 8 text

düzenli olmayan veri bir sütunda birden çok deger hiyerarşik veri (JSON, XML, v.b.) …

Slide 9

Slide 9 text

düzenli olmayan veri “Mutlu aileler birbirlerine benzerler, her mutsuz ailenin ise kendince bir mutsuzluğu vardır.” –– Leo Tolstoy "Düzenli veri grupları birbirlerine benzerler ancak her düzensiz veri grubunun kendince bir düzensizliği vardır.” –– Hadley Wickham

Slide 10

Slide 10 text

tidyverse temelleri tidy (düzenli) veri %>% ile çoklu işlemler

Slide 11

Slide 11 text

amaç Anahtarlarımı bulmak, sonra arabamı çalıştırmak, sonra işe gitmek ve sonra arabamı park etmek istiyorum.

Slide 12

Slide 12 text

iç içe park_et(sür(araba_çalıştır(bul("anahtarlar")), istikamet = "iş"))

Slide 13

Slide 13 text

park_et(sür(araba_çalıştır(bul("anahtarlar")), istikamet = "iş")) iç içe

Slide 14

Slide 14 text

park_et(sür(araba_çalıştır(bul("anahtarlar")), istikamet = "iş")) iç içe

Slide 15

Slide 15 text

park_et(sür(araba_çalıştır(bul("anahtarlar")), istikamet = "iş")) iç içe

Slide 16

Slide 16 text

bul("anahtarlar") %>% start_car() %>% drive(to = "work") %>% park() pipe ile

Slide 17

Slide 17 text

bul("anahtarlar") %>% araba_çalıştır() %>% drive(to = "work") %>% park() pipe ile

Slide 18

Slide 18 text

bul("anahtarlar") %>% araba_çalıştır() %>% sür(istikamet = "iş") %>% park() pipe ile

Slide 19

Slide 19 text

bul("anahtarlar") %>% araba_çalıştır() %>% sür(istikamet = "iş") %>% park_et() pipe ile

Slide 20

Slide 20 text

örnek #1 ggplot 2 + art by @allison_horst

Slide 21

Slide 21 text

library(palmerpenguins) library(tidyverse) ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species, shape = species)) + labs( title = "Penguen boyutu, Palmer Station LTER", subtitle = "Adelie, Chinstrap ve Gentoo Penguenleri için palet uzunluğu ve vücut kütlesi", x = "Palet uzunluğu (mm)", y = "Kütle (g)", color = "Penguen türü", shape = "Penguen türü" ) göze hitap eden gra fi kler

Slide 22

Slide 22 text

bedavaya gösterge library(palmerpenguins) library(tidyverse) ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species, shape = species)) + labs( title = "Penguen boyutu, Palmer Station LTER", subtitle = "Adelie, Chinstrap ve Gentoo Penguenleri için palet uzunluğu ve vücut kütlesi", x = "Palet uzunluğu (mm)", y = "Kütle (g)", color = "Penguen türü", shape = "Penguen türü" )

Slide 23

Slide 23 text

istediğiniz kadar özelleştirebilirsiniz

Slide 24

Slide 24 text

ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species, shape = species), size = 3, alpha = 0.8) + labs( title = "Penguen boyutu, Palmer Station LTER", subtitle = "Adelie, Chinstrap ve Gentoo Penguenleri için palet uzunluğu ve vücut kütlesi", x = "Palet uzunluğu (mm)", y = "Kütle (g)", color = "Penguen türü", shape = "Penguen türü" )

Slide 25

Slide 25 text

ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species, shape = species), size = 3, alpha = 0.8) + labs( title = "Penguin size, Palmer Station LTER", subtitle = "Flipper length and body mass for Adelie, Chinstrap and Gentoo Penguins", x = "Flipper length (mm)", y = "Body mass (g)", color = "Penguin species", shape = "Penguin species" ) + scale_color_manual ( values = c("darkorange", "purple", "cyan4"))

Slide 26

Slide 26 text

ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species, shape = species), size = 3, alpha = 0.8) + labs( title = "Penguin size, Palmer Station LTER", subtitle = "Flipper length and body mass for Adelie, Chinstrap and Gentoo Penguins", x = "Flipper length (mm)", y = "Body mass (g)", color = "Penguin species", shape = "Penguin species" ) + scale_color_manual ( values = c("darkorange", "purple", "cyan4")) + theme_minimal()

Slide 27

Slide 27 text

ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species, shape = species), size = 3, alpha = 0.8) + labs( title = "Penguin size, Palmer Station LTER", subtitle = "Flipper length and body mass for Adelie, Chinstrap and Gentoo Penguins", x = "Flipper length (mm)", y = "Body mass (g)", color = "Penguin species", shape = "Penguin species" ) + scale_color_manual ( values = c("darkorange", "purple", “cyan4”)) + theme_minimal() + theme ( legend.position = c(0.2, 0.7) , legend.background = element_rect ( fill = "white", color = N A ) )

Slide 28

Slide 28 text

örnek #2 tidy r +

Slide 29

Slide 29 text

deney_verisi #> # A tibble: 6 x 5 #> hasta grup tansiyon_1 tansiyon_2 tansiyon_3 #> #> 1 1 deney 120/80 135/93 125/90 #> 2 2 kontrol 172/105 171/82 161/117 #> 3 3 deney 140/89 133/92 121/86 #> 4 4 kontrol 151/92 112/109 150/83 #> 5 5 deney 175/93 173/90 120/118 #> 6 6 kontrol 180/85 173/94 174/106 #> # A tibble: 18 x 5 #> hasta grup ölçüm sistolik diyastoli k #> #> 1 1 deney 1 120 8 0 #> 2 1 deney 2 135 9 3 #> 3 1 deney 3 125 9 0 #> 4 2 kontrol 1 172 10 5 #> 5 2 kontrol 2 171 8 2 #> 6 2 kontrol 3 161 11 7 #> # … with 12 more rows

Slide 30

Slide 30 text

deney_verisi %>% pivot_longer( cols = contains("tansiyon"), names_to = "ölçüm", names_prefix = "tansiyon_", values_to = "değer " ) #> # A tibble: 18 x 4 #> hasta grup ölçüm değer #> #> 1 1 deney 1 120/80 #> 2 1 deney 2 135/93 #> 3 1 deney 3 125/90 #> 4 2 kontrol 1 172/10 5 #> 5 2 kontrol 2 171/82 #> 6 2 kontrol 3 161/11 7 #> # … with 12 more rows deney_veris i #> # A tibble: 6 x 5 #> hasta grup tansiyon_1 tansiyon_2 tansiyon_ 3 #> #> 1 1 deney 120/80 135/93 125/90 #> 2 2 kontrol 172/105 171/82 161/117 #> 3 3 deney 140/89 133/92 121/86 #> 4 4 kontrol 151/92 112/109 150/83 #> 5 5 deney 175/93 173/90 120/118 #> 6 6 kontrol 180/85 173/94 174/106

Slide 31

Slide 31 text

experiment_data %>% pivot_longer( cols = contains("bp"), names_to = "measurement", names_prefix = "bp_", values_to = "value " ) %>% separate(değer, into = c("sistolik", "diyastolik"), convert = TRUE ) #> # A tibble: 18 x 5 #> hasta grup ölçüm sistolik diyastoli k #> #> 1 1 deney 1 120 8 0 #> 2 1 deney 2 135 9 3 #> 3 1 deney 3 125 9 0 #> 4 2 kontrol 1 172 10 5 #> 5 2 kontrol 2 171 8 2 #> 6 2 kontrol 3 161 11 7 #> # … with 12 more rows #> # A tibble: 18 x 4 #> patient group measurement value #> #> 1 1 treatment 1 120/80 #> 2 1 treatment 2 135/93 #> 3 1 treatment 3 125/90 #> 4 2 control 1 172/10 5 #> 5 2 control 2 171/82 #> 6 2 control 3 161/11 7 #> # … with 12 more rows

Slide 32

Slide 32 text

geniş ve düzenli bir ekosiste m

Slide 33

Slide 33 text

çoklu gra fi kler gghighlight gra fi klerde veri vurgulama ve çok daha fazlası… çoklu işlemler serilerine eklenir ggplot2 tabakalarina eklenir PDF çıktısı için güzel ve komplex tablolar veri temizliği

Slide 34

Slide 34 text

tidymodels ile modelleme ve makine öğrenimi

Slide 35

Slide 35 text

tidymodels tidyverse ilkeleri kullanarak modelleme ve makine öğrenimi için paket koleksiyonu parsnip: geniş bir model yelpazesine birleşik arayüz recipes: özellik mühendisliği için veri ön işleme araçları rsample: tahminleme ve model performansı değerlendirmesi için yeniden örnekleme tek bir veri çerçevesinde "birçok model” ile yardımcı işlevlerle metriklere kolay erişim

Slide 36

Slide 36 text

#rstats komünitesi ile günce l ve bağlı kalın art by @allison_horst

Slide 37

Slide 37 text

(iyi) soru sorun reproducible examples (tekrarlanabilir örnekler) yapın örneklerinizi olabildiğince minimal hale getirin açık bir forumda soruyorsanız (RStudio Community, Stack Over fl ow, vb.) bir pakette bulunan verileri kullanmayı deneyin

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

komünite Twitter’da #rstats R Weekly haftalık haber bülteni: rweekly.org TidyTuesday: github.com/rfordatascience/tidytuesday RLadies: rladies.org + Slack useR grupları: r-consortium.org/blog/2019/09/09/r-community-explorer-r-user- groups

Slide 42

Slide 42 text

kaynaklar öğre n tidyverse: tidyverse.org/learn tidymodels: tidymodels.org/start referans kağıtları: rstudio.com/resources/cheatsheets (Türkçe çeviriler!) öğret: datasciencebox.org

Slide 43

Slide 43 text

ile veri bilimi mine-cetinkaya-rundel [email protected] @minebocek 🔗 bit.ly/tidy-veri-bilimi