Некоторые репозитории в помощь изучающим и преподающим Python и машинное обучение
Привет сообществу!
Я Юрий Кашницкий, раньше делал здесь обзор некоторых MOOC по компьютерным наукам и искал «выбросы» среди моделей Playboy.
Сейчас я преподаю Python и машинное обучение на факультете компьютерных наук НИУ ВШЭ и в онлайн-курсе сообщества по анализу данных MLClass, а также машинное обучение и анализ больших данных в школе данных одного из российских телеком-операторов.
Почему бы воскресным вечером не поделиться с сообществом материалами по Python и обзором репозиториев по машинному обучению… В первой части будет описание репозитория GitHub с тетрадками IPython по программированию на языке Python. Во второй — обзор попавшихся мне классных репозиториев GitHub.
Курс программирования на языке Python в виде тетрадок IPython
Курс состоит из 5 уроков: обзор средств разработки, введение в язык Python, 2 урока про структуры данных (Python и не только) и некоторые алгоритмы и один урок про функции и рекурсию. Да, не затронута тема ООП и кучи всего полезного, но работа над курсом идет, репозиторий будет обновляться.
Цели данного курса:
- Познакомить с основами языка Python
- Познакомить с основными структурами данных
- Дать навыки, необходимые для разработки простых алгоритмов
Тетрадки IPython выбраны в качестве основного средства подачи материала из-за того, что в них можно совмещать текст, картинки, формулы и код. В качестве демонстрации в репозитории приведена тетрадка про деревья решений и их реализацию в библиотеке машинного обучения Scikit-learn. В материалах первого урока описано, как собственно этими тетрадками пользоваться.
Вот ссылка на репозиторий GitHub с тетрадками IPython. Ветвитесь и размножайтесь, можно использовать в любых целях, кроме коммерческих, со ссылкой на автора. Если хотите подключиться к проекту GitHub — пишите. Можно сообщать и о багах в материалах.
Некоторые полезные репозитории GitHub по программированию и машинному обучению
Вот далеко не исчерпывающий список классных репозиториев GitHub по программированию, анализу данных и машинному обучению на языке Python. Почти все из них — наборы тетрадок IPython. Некоторые материалы в моем курсе, описанном выше, — перевод этих.
- Курс программирования на языке Python, основа сайта introtopython.org.
- «Data science IPython notebooks» — множество качественных тетрадок по основным библиотекам Python для анализа данных — NumPy, SciPy, Pandas, Matplotlib, Scikit-learn. Краткие обзоры Apache Spark и соревнования Kaggle «Titanic: Machine Learning from Disaster».
- Гарвардский курс анализа данных
- «Interactive coding challenges» — подборка основных задач на структуры данных, графы, сортировку, рекурсию и не только. Для многих задач приведены решения и поясняющий материал с картинками.
- Репозиторий Оливье Гризеля (одного из авторов библиотеки Scikit-learn) с обучающими тетрадками IPython. Еще один.
- Тьюториал по Scikit-learn, также от авторов
- Разбор задач курса Andrew Ng «Machine learning» на языке Python
- Материалы в дополнение к книге «Mining the Social Web (2nd Edition)» (Matthew A. Russell, издательство O'Reilly Media)
- Тьюториал по использованию ансамблей для решения задач Kaggle.
- Библиотека XGBoost, которая используется большинством победителей соревнований Kaggle. Там же можно познакомиться с их историями успеха. XGBoost хорош по качеству прогнозирования, эффективно реализован, хорошо параллелится.
- Подборка данных FiveThirtyEight. Просто куча интересных наборов данных.
- Прогнозирование результатов выборов в США. Хороший пример анализа данных с Pandas
Надеюсь, эти материалы помогут вам в изучении/преподавании Python и анализа данных.
Список классных репозиториев с тетрадками IPython (да и просто с кодом на Python) конечно можно продолжать. Например, в комментариях.