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

Tidyverse ile veri bilimi

Tidyverse ile veri bilimi

81689b093f75cf3f383e581ca57188df?s=128

Mine Cetinkaya-Rundel

April 01, 2021
Tweet

Transcript

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

  2. 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.
  3. 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
  4. tidyverse temelleri tidy (düzenli) veri %>% ile çoklu işlemler

  5. 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
  6. 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
  7. 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
  8. düzenli olmayan veri bir sütunda birden çok deger hiyerarşik veri

    (JSON, XML, v.b.) …
  9. 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
  10. tidyverse temelleri tidy (düzenli) veri %>% ile çoklu işlemler

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

    sonra arabamı park etmek istiyorum.
  12. iç içe park_et(sür(araba_çalıştır(bul("anahtarlar")), istikamet = "iş"))

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

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

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

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

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

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

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

    ile
  20. örnek #1 ggplot 2 + art by @allison_horst

  21. 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
  22. 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ü" )
  23. istediğiniz kadar özelleştirebilirsiniz

  24. 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ü" )
  25. 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"))
  26. 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()
  27. 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 ) )
  28. örnek #2 tidy r +

  29. 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
  30. 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
  31. 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
  32. geniş ve düzenli bir ekosiste m

  33. ç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
  34. tidymodels ile modelleme ve makine öğrenimi

  35. 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
  36. #rstats komünitesi ile günce l ve bağlı kalın art by

    @allison_horst
  37. (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
  38. None
  39. None
  40. None
  41. 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
  42. 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
  43. ile veri bilimi mine-cetinkaya-rundel cetinkaya.mine@gmail.com @minebocek 🔗 bit.ly/tidy-veri-bilimi