-
2020-02-25 - O co chodzi z artykułami naukowymi?
-
2020-03-03 - Reprodukowalność? + Podział prezentacjami + Więcej o projekcie
- Reproducibility in Science
- Best Practices for Computational Science: Software Infrastructure and Environments for Reproducible and Extensible Research
- Open Science in Software Engineering
- DATA 598 A Wi 20: Special Topics In Data Science: Reproducibility for Data Science
- rrtools: Tools for Writing Reproducible Research in R
- Packaging Data Analytical Work Reproducibly Using R (and Friends)
Reprodukowalność w uczeniu maszynowym:
-
2020-03-10 - prezentacje I
-
2020-03-17 - prezentacje II
-
2020-03-24 - Praca Domowa I + projekt
-
2020-03-31 - bookdown + Praca Domowa II + projekt
-
2020-04-07 - Praca Domowa III + projekt
-
2020-04-21 - projekt - część metodologiczna artykułu
-
2020-04-28 - projekt
-
2020-05-05/ 2020-05-06/ 2020-05-07 - Prezentacja metodologicznej części projektu
-
2020-05-19 - termin oddania opisu części metodologicznej projektu
-
2020-05-26 - projekt
-
2020-06-02 - projekt (termin oddania całego projektu (artykułu))
-
2020-06-09
-
2020-06-16
Prezentacje trzeba wykonać w parach. Należy wybrać artykuł z listy:
- Debugging grid Graphics
- Integration of networks and pathways with StarBioTrek package
- stplanr: A Package for Transport Planning
- RcppMsgPack: MessagePack Headers and Interface Functions for R
- Geospatial Point Density
- neuralnet: Training of Neural Networks
- Mapping and Measuring Country Shapes
- tmap: Thematic Maps in R
- Conditional Visualization for Statistical Models: An Introduction to the condvis Package in R
- Enhancing Reproducibility and Collaboration via Management of R Package Cohorts
- archivist: An R Package for Managing, Recording and Restoring Data Analysis Results
- The Generalized Pairs Plot
- Visualizing Complex Data With Embedded Plots
Prezentacja powinna trwać do 12 min. + 3 min. na dyskusję. Powinna zawierać wprowadzenie do tematu i opis wyników arytkułu (10 pkt.) oraz dyskusję, czy udało się zreprodukować wyniki wraz z raportem w pdf (5 pkt.), w szczególności czy były problemy i spostrzeżeniaa dotczące reprodukowalności.
Przed rozpoczęciem zajęć proszę o PR slajdów (w PDF) do folderu Prezentacje.
Na każdą pracę domową jest czas do momentu rozpoczęcia kolejnych zajęć.
Termin: 31 marca
Oddanie pracy domowej: indywidualnie
Spróbować zreprodukować co najmniej trzy wybrane artykuły naukowe (5 pkt. + 2 pkt. za znalezienie niereprodukowalnego i zidentyfikowanie przyczyny). Wyniki przesłać w formie raportu (pull request do folderu PD). Polecam napisanie raportu w języku angielskim, będzie to pomocne, gdyż projekt będzie artykułem naukowym w języku angielskim.
Warto już teraz zastanowić się nad konkretym zagadnieniem poruszanym w projekcie i pod tym kątem wybrać artykuły do zreprodukowania.
Journale do wyboru. Mozna wziąć artykuły z jednego lub kilku.
- The R Journal
- Machine Learning Open Source Software in Journal of Machine Learning Research
- Journal of Computational and Graphical Statistics
- Journal of Statistical Software
Termin: 7.04.2020
Oddanie pracy domowej: cała grupa
tl;dr
Mamy już repozytorium z ebookiem, w którym będziemy umieszczać artykuły. W tym tygodniu zadaniem jest założenie podrozdziału odpowiadającego artykułowi, który powstanie w ramach projektu. Zależy mi, żeby podrozdział zawierał autorów oraz deskryptywny tytuł, odpowiadający temu o czym chcielibyście napisać. Jeśli w trakcie wykonywania projektu zmieni się koncepcja, to tytuł oczywiście można potem zmienić.
Książka będzie służyć do artykułów wszystkich grup robiących Warsztaty Badawcze I i Warsztaty Badawcze II. Z tego powodu podzielona jest na 3 rozdziały, pierwszy z nich odpowiada naszym projektom o reprodukowalności.
-
Pliki zaczynające się od 1-0, 2-0, 3-0 to wstępy do rozdziałów, które uzupełnię ja i pozostałe prowadzące.
-
Pliki zaczynające się od 1-1. 1-2, 1-3, ... to podrozdziały, które powinny odpowiadać grupom. Przykładowy plik to
1-1-example-article.Rmd
. Na jego podstawie stwórzcie Wasze pliki z podrozdziałami. Taki plik powinien zawierać co najmniej tytuł i autorów. Mile widziany jest też szkielet artykułu, czyli nagłówki (mogą być identyczne jak w pliku z przykładem). Sam artykuł polecam pisać w czystym Markdownie, nie trzeba używać żadnych komend z R. -
Istotne jest, że najwyższy stopień nagłówka w plikach z artykułami to ##, dzięki temu będą one podrozdziałami dla pliku
1-0-reproducibility.Rmd
gdzie jest nagłówek wyżej, czyli z jednym #. Przy pull requestach, proszę, pilnujcie zagnieżdżeń tych nagłówków, żeby nam się struktura nie rozjechała :). -
Robiąc pull request z pracą domową zacznijcie jego nazwę od REPR. Dzięki temu łatwiej mi będzie wyłapywać PR dotyczce naszego projektu. W PR powinien zostać dodany tylko jeden plik
.Rmd
, bez renderowania książki na nowo.
Książka utworzona jest pakietem R bookdown
i tym też pakietem można ją wyrenderować.
W tym celu trzeba:
-
Sklonować lub pobrać repozytorium https://github.com/mini-pw/2020L-WB-Book
-
Zainstalować zależności
devtools::install_dev_deps()
- Wyrenderować książkę do HTML
bookdown::render_book('./', 'bookdown::gitbook')
Pliki z książką znajdują się w folderze docs, żeby ją podejrzeć można otworzyć plik docs/index.html
Lub do PDF
bookdown::render_book('./', 'bookdown::pdf_book')
Termin: 21.04.2020
Oddanie pracy domowej: cała grupa
Napisać wstęp artykułu. Może to być jedna sekcja nazwana Introduction/Motivation albo dwie sekcje, gdzie pierwsza jest nazwana Introducition/Motivation a druga Related Work. Wybór pozostawiam autorom artykułu.
Te sekcje powinna zawierać co najmniej:
-
2-3 zdania wprowadzenia do tematu, na przykład dlaczego reprodukowalność jest ważna, czy to problem nauki czy biznesu, o jaką reprodukowalność chodzi. Można odwołać się do pojęcia długu technologicznego.
-
Zdefiniować reprodukowalność. Najlepiej powołując się na definicję z innego artykułu. Można skorzystać z artykułów umieszczonych w prezenacji z drugich zajęć.
-
Opis kilku prac dotyczących reprodukowalności (po 1-3 zdania na każdą pracę), przykładowe artykuły, które można cytować są w prezentacji wymienionej wyżej i w README przedmiotu. Gorąco zachęcam do własnych poszukiwań, na przykład wpisując słowa kluczowe w Google Scholar lub arXiv. Dobrą kopalnią źródeł jest też przeglądanie, jakie inne prace cytują autorzy artykułów o reprodukowalności.
-
Można odwołać się do tego, że różne rzeczy mogą być reprodukowalne (kod, wyniki analiz, sposób zbierania danych), ale artykuł skupia się na jednym z tych aspektów. Chyba że skupia się na większej ich liczbie :)
-
Idealnie byłoby umieścić 2-3 zdania informujące jak do istniejących badań dotyczących reprodukowalności ma się ten artykuł i co nowego wnosi. Przykłady:
- nikt do tej pory nie zbadał tego zagadnienia,
- ktoś zbadał to zagadnienie, ale 10 lat temu i chcemy zobaczyć czy wyniki będą podobne teraz,
- ktoś zbadał to zagadnienie ale dla innego języka lub czasopisma
- ktoś zrobił podobne badanie ale na mniejszą skalę
- ktoś zrobił podobne badanie, ale my skupiamy się tylko na artykułach dotyczących pakietów na bazie ggplot2, chcemy zobaczyć jak polscy autorzy wypadają na tle innych.
- ...
-
wszelki wkład ponad to co wymieniłam wyżej jest bardzo mile widziany.
Pracując później nad resztą artykułu oczywiście będzie można zmieniać ten wstęp, ale na potrzeby pracy domowej będzie oceniony w wersji z 21 kwietnia.
- Robiąc pull request z pracą domową zacznijcie jego nazwę od REPR. Dzięki temu łatwiej mi będzie wyłapywać PR dotyczce naszego projektu. W PR powinien zostać dodany tylko jeden plik
.Rmd
, bez renderowania książki na nowo. Natomiast zachęcam do wyrenderwoania rozdziałów u siebie lokalnie w celu sprawdzenia, że tekst (w szczególności cytowania) dobrze się generuje.
Cytować będziemy używając formatu BibTeX.
Informacje o cytowanych artykułach trzeba umieścić w pliku book.bib
znajdującym się w repozytorium z książką. Są tam przykładowe prace w formacie BiBTex.
Zazwyczaj na stronie czasopisma da się wygenerować taki plik BiBteXowy dla artykułu, czasem jest to dosyć ukryte, najlepiej szukać przycisku z napisem "citation". Gdyby się nie udało polecam poszukać numeru doi artykułu i skorzystać ze strony doi2bib.
Kiedy uda się umieścić artykuł w pliku book.bib
odwoływać się do prac można przez [@nazwa]
, gdzie nazwa to ciąg znaków z pierwszego pola z BiBteXa. Przykład użycia jest w pliku index.Rmd
(cytowanie rlang).
Celem projektu jest wykonanie analizy artykułów naukowych pod kątem reprodukowalności. Projekt trzeba wykonać w grupie 3-osobowej.
Wynikiem projektu powinien być krótki artykuł naukowy (40 pkt.), minimum 3 strony umieszczony jako rozdział książki online, która powstanie w ramach przedmiotu. Na wzór książki Limitations of Interpretable Machine Learning Methods.
Podział punktów w ramach artykułu
- Abstrakt: 5 pkt.
- Introduction + Motivation: 10 pkt.
- Opis metodologii i wyników: 15 pkt.
- Wnioski: 10 pkt.
Projekt nalezy zaprezentować w postaci Lightning Talka na jednym z ostatnich wykładów (15 pkt.).
Pomysły na pytania badawcze, najlepiej uwzględnić kilka:
-
Jak zmierzyć reprodukowalność? Czy jest zero-jedynkowa? A może procentowa?
-
Czy są różne rodzaje niereprodukowalności? Czy można zaproponować jakąś klasyfikację problemów z odtwarzaniem wyników?
-
Jak zmienia się reprodukowalność w zależności od roku wydania artykułu, czasopisma, języka progamowania?
-
Może ograniczyć analizę tylko do wąskiej technologii? Na ile aplikacje Shiny umieszczone w artykułach nadal działają?
-
Czy autorzy są responsywni? Czy pomagają przy problemach z kodem (e-mail, issue na GitHubie)? Czy oprogramowanie jest nadal rozwijane (np. GitHub, nowe wersje na CRAN, PyPI)?
-
Czy można zaproponować postulaty reprodukowalności? Czy da się stworzyć chcecklistę, którą powinny spełniać artykuły? Jaki procent artykułów by ją spełniał? Na ile jest uniwersalna? Za inspirację może służyć checklista z Reproducibility in Science
-
Czy da się w analizach uwzględnić długość artykułu, liczbę autorów, afiliację?
-
...
Własne pomysły bardzo mile widziane.
Czasopisma, którymi można się zajmować:
- The R Journal
- Journal of Statistical Software
- Journal of Machine Learning Research, szczególnie część Machine Learning Open Source Software
- Journal of Computational and Graphical Statistics choć można i innymi :)
Informacje w repzytorium Wykładu