Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Machine learning carpentry #56

Open
agitter opened this issue Aug 6, 2019 · 13 comments
Open

Machine learning carpentry #56

agitter opened this issue Aug 6, 2019 · 13 comments

Comments

@agitter
Copy link
Collaborator

agitter commented Aug 6, 2019

@sstevens2 pointed me to this machine learning carpentry project:
https://github.com/machinelearningcarpentry/machine-learning-novice
https://machinelearningcarpentry.github.io/machine-learning-novice/

This is a workshop for machine learning novices that uses scikit-learn to introduce supervised learning, unsupervised learning, ethics, etc. It's intended for participants with basic Python knowledge.

I'm using the issue to connect with @colinsauze, the maintainer. @colinsauze we're developing a workshop to teach machine learning "literacy" that is aimed at biologists with minimal computational backgrounds and no programming experience. Consequently, we created a graphical interface to wrap scikit-learn classification-related APIs and introduce supervised learning concepts. Although we're focusing on different audiences, we could possibly partner on some topics. Our materials have open licenses.

We have one example Jupyter notebook and have discussed making more to parallel the workflows participants execute in the graphical interface (related to carpentries-incubator/machine-learning-novice-sklearn#1). We also curating interesting datasets, like #51, which is relevant to carpentries-incubator/machine-learning-novice-sklearn#2. Our examples happen to be biology related though.

@cmilica
Copy link
Collaborator

cmilica commented Aug 8, 2019

I have never taken a carpentry workshop - are these given to the participants as manuscripts for the reference? Or is this for online use?

@sstevens2 I wonder how much the participants engage in the questions that are on the bottom of each lesson? So, the full workshop is predicted to be about 4 and a half hours?

What I really like about this is the language of the workshop - simple and "every day". Incredibly easy to understand! I think we should aim for that.

Fan moment - I love that this workshop is using Gapminder - I am a huge fan of Hans Rosling! 👍

The workshop is code-heavy. But I like the structures of the lessons and the language of the manuscripts a lot.

@agitter
Copy link
Collaborator Author

agitter commented Aug 11, 2019

@cmilica the carpentry workshops are typically designed as in person workshops. Workshop instructors collaborate on the materials. Participants can access those materials and follow along as the instructors lead the interactive activities. Participants can also reference the materials after the workshop as a guide.

As another example, here is a more mature workshop: http://swcarpentry.github.io/git-novice/ It has the lessons on the main page as well as extras like a glossary and instructor notes.

So, the full workshop is predicted to be about 4 and a half hours?

Yes, that's the correct interpretation of the time annotations.

@agitter
Copy link
Collaborator Author

agitter commented Aug 14, 2019

We can review the carpentries template https://github.com/carpentries/workshop-template as we consider adopting their format. Most carpentries workshops are designed around command line operations (bash, Python, R, etc.). We will need to think about how our paper- and GUI-based activities would fit that format.

@sstevens2
Copy link

@cmilica The website is mostly used as a teaching reference for the instructor but we do usually tell the learners about the materials so they can go back to them in the future. We don't print it much though if that is what you are asking above and mostly use it as an online resource.

I've never taught this specific Carpentry lesson and as far as I know it has never been taught on campus. It is fairly new and is in "alpha" status so it is still being actively developed and hasn't been taught much.
As for the questions at the bottom. I think the formatting is a bit messed up on some of those but they are "exercises" for the learners to do as part of the workshop. Typically the instructor will put these on slides or somehow present them to the learners and give them a little time to work on then before bringing the group back together to go over the answer.

We use the gapminder lessons in the Software Carpentry workshop we teach too. :-D

If you are interested in sitting in on part of a workshop, we are running them as a series in Sept/Oct and you are welcome to join for a section or more. Links for the two different workshops on our training webpage.

@sstevens2
Copy link

@agitter You're right in noting that the Carpentries doesn't have a whole lot of GUI lessons, typically due to our emphasis on reproducibility. The best example of a lesson that uses a GUI interface and is taught regularly is probably the Data Carpentry Ecology Open Refine Lesson. OpenRefine is a GUI but is reproducible since it saves the commands behind the scenes and will let you export/import the script for reuse.

@agitter
Copy link
Collaborator Author

agitter commented Aug 14, 2019

Thanks @sstevens2. What's your opinion on the suitability of this machine learning "concepts" and "literacy" focused workshop in the Carpentries format? Our approach is atypical because we don't actually recommend using our GUI for real data analysis. It's not reproducible or high-throughput. Rather, we use that GUI and other activities to introduce concepts that could lead participants to more technical machine learning workshops and training, collaborations, a better understanding of the literature in their field, etc.

@cmilica
Copy link
Collaborator

cmilica commented Aug 20, 2019

@sstevens2 I can attend one of the Ecology carpentries. Do I need to sign up? Can I just come to observe one day?

@agitter
Copy link
Collaborator Author

agitter commented Aug 21, 2019

The workshop lessons at https://carpentries.github.io/lesson-example/ can guide us into what it would take to set up this workshop in Carpentries format and what features it would offer. In particular, the formatting shows how different callouts are used for exercises, discussion questions, solutions to activities, etc., which I find appealing.

@sstevens2
Copy link

@cmilica You are welcome to sit in on one of the parts of the DC ecology workshop and see how we teach it! Let me know which session you are planning to join.

@agitter
Copy link
Collaborator Author

agitter commented Sep 12, 2019

We are going to start experimenting with the Carpentries template on a gh-pages branch. Initially, we'll keep it independent of master. If we like this direction, we'll decide how to merge them.

I added the attribution in d549dd4.

I copied the template using

git remote add carpentries https://github.com/carpentries/workshop-template.git
git fetch carpentries gh-pages
git checkout gh-pages
git push origin gh-pages

@cmilica you should now be able to pull gh-pages from our repository and begin modifying it. Our website is https://gitter-lab.github.io/ml-bio-workshop/

@sstevens2
Copy link

@agitter I think you copied the workshop website template instead of the lesson one. Sorry I didn't notice above. You can find the guide here (https://carpentries.github.io/lesson-example/) and the repo you need to import here (https://github.com/carpentries/styles)

@agitter
Copy link
Collaborator Author

agitter commented Sep 13, 2019

@sstevens2 you're right! Thanks for catching this before we tested any customization. I deleted that gh-pages branch and started over.

New attribution in f92efa5

Initialized using

git remote add carpentries https://github.com/carpentries/styles.git
git fetch carpentries gh-pages
git checkout gh-pages
python bin/lesson_initialize.py
git add .
git commit -m "Initialize lesson with bin/lesson_initialize.py"
git push origin gh-pages

I need to look at the .travis.yml that was created to see if this will conflict with the .travis.yml file on our master branch. It should be okay to have a different config file for different branches. However, the first build failed. This boilerplate config is also different from the config in the example lesson.

@agitter
Copy link
Collaborator Author

agitter commented Feb 1, 2021

There is also a deep learning intro now in carpentries-incubator: https://github.com/carpentries-incubator/deep-learning-intro

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants