Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tidyverse ile veri bilimi

Tidyverse ile veri bilimi

Mine Cetinkaya-Rundel

April 01, 2021
Tweet

More Decks by Mine Cetinkaya-Rundel

Other Decks in Programming

Transcript

  1. 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.
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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ü" )
  9. 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ü" )
  10. 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"))
  11. 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()
  12. 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 ) )
  13. deney_verisi #> # A tibble: 6 x 5 #> hasta

    grup tansiyon_1 tansiyon_2 tansiyon_3 #> <dbl> <chr> <chr> <chr> <chr> #> 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 #> <dbl> <chr> <chr> <int> <int > #> 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
  14. 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 #> <dbl> <chr> <chr> <chr> #> 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 #> <dbl> <chr> <chr> <chr> <chr> #> 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
  15. 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 #> <dbl> <chr> <chr> <int> <int > #> 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 #> <dbl> <chr> <chr> <chr> #> 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
  16. ç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
  17. 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
  18. (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
  19. 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