Abekek Notes
1.03K subscribers
173 photos
19 videos
12 files
295 links
Канал с моими заметками.

Обо мне: abekek.github.io
Download Telegram
#30_days_of_code

👨‍💻 День 12

Насчёт тех лекций, что я вчера скинул, беру свои слова обратно.
Я понял, что эти лекции топовые в плане теории, но абсолютные ноль в плане практики, так как после второй лекции даётся задание, которое нифига не объясняется учителем.

В этих лекциях даются более углублённые знания - написание собственного knn или логистического классификатора, к которым я пока что не готов. Поэтому я решил проходить бесплатные курсы от Kaggle по МЛ.

По ссылке ниже есть курсы Intro to ML и Intermediate ML. Первый я сегодня почти прошел до конца, и прорешал все практические задания.
Информация даётся очень понятно.

Поэтому если вам нужна теория, то смотрите лекции, а за практикой на Kaggle.

https://www.kaggle.com/dansbecker/learn-machine-learning
#30_days_of_code

👨‍💻 День 13

Ребята, курсы на kaggle.com это что-то невероятное! Я сегодня прошел ещё один по Data Visualization (иду по порядку) и узнал столько, сколько не узнал на DataCamp после прохождения 10 курсов.

В этом курсе я изучил библиотеку Seaborn, которая используется также как Matplotlib для построения диаграм (рисунок выше). Там также были всякие практические задания, которые я выполнил успешно.

В общем, если хотите изучать Data Science бесплатно, идите на Kaggle.

Вот курс:
https://www.kaggle.com/learn/data-visualization-from-non-coder-to-coder
#30_days_of_code

👨‍💻 День 14

Угадайте, что я сегодня делал? Kaggle? Правильно!

Сегодня я начал проходить курс Intermediate Machine Learning, но прошел только 5/14 лекций-заданий. Они становятся тяжелее, поэтому я больше время тратил на конспектирование, нежели на написание кода.

Ещё я вдохновился системой ранкингов в Kaggle, поэтому хочу дойти до Grandmaster (их в мире всего 145). Возможно на это мне потребуется >5 лет, ну и ладно.

На Kaggle существует такая система рейтинга по направлениям competitions, kernels и discussions:
1. Grandmaster (хочу сюда)
2. Master (или сюда)
3. Expert (или хотя бы сюда)
4. Contributor (я сейчас нахожусь здесь)
5. Novice

Вот так вот. Вот ссылка на курс:
https://www.kaggle.com/learn/intermediate-machine-learning
#30_days_of_code

👨‍💻 День 15

Сегодня я посетил 3-х дневный фестиваль технологий Go Viral.
Я посетил лекции по Искусственному Интеллекту и Машинному обучению, которые вели крутые чуваки из зарубежных университетов и компаний, как Microsoft. Уровень лекций был на высшем уровне, и в скором времени я обо всем расскажу.

Ещё я сегодня весь день отдыхал, поэтому не программировал. Ждите моих постов завтра :)
#30_days_of_code

👨‍💻 День 16

Go Viral
Ребят, сегодня я был на 3-м дне фестиваля Go Viral. Сегодня было больше выступлений по бизнесу, но не смотря на это было очень интересно.
Сейчас я хочу вам рассказать о тех лекциях, которые я посетил за два дня, и что мне из них запомнилось.

Predictive Machine Learning is your New Crystal Ball
На этой лекции-воркшопе Jim Wilt показывал, как с помощью Microsoft Machine Learning Studio можно работать с машинным обучением и Data Science не написав ни строчки кода. В Microsoft ML Studio можно работать с помощью перетаскивания блоков, и поэтому я немного афигел.

How AI and Microsoft cloud technology transform today's business and society
На этой лекции-воркшопе Алмас Молдаханов, который является Business Program Manager в Microsoft, рассказал о возможностях применения Искусственного Интеллекта в бизнесе. Например, его можно использовать в образовательном процессе, при помощи считывания эмоций студентов во время лекции. Также, ИИ можно использовать в целях улучшения жизни людей с ограниченными возможностями, или же в бизнес целях, как это делает Sarafan Technology.

From Ballet to Data Science
Очень крутое выступление от Data Scientist Kolesa Group - Катерины Рекхерт. Она рассказала о своём опыте работы, как дата сайентист, дала личные советы и инструкции, если вы являетесь школьником, студентом или молодым специалистом.

Panel discussion: INTRApreneurship
Панельная дискуссия длительностью один час была очень крутой. Здесь предприниматели из различных сфер обсуждали такую тему, как INTRApreneurship, которая заключается, насколько я понял, в создании продуктов, стартапов внутри компании, на средства компании. Это отличный способ заниматься предпринимательством работникам компании без рисков для них самих.

Смотрите фото, которые я прикрепил с этого замечательного ивента.
По окончании ивента могу сказать, что сделано было всё очень профессионально и круто.
#30_days_of_code

👨‍💻 День 17

Сегодня я продолжил изучать машинное обучение по курсам на Kaggle. После обеда, в UNICEF Summer Residency к нам пришел СЕО Absolute Technologies - Тимур Рыспеков - крутой программист. Он рассказал нам об основах метапрограммирования, которое заключается в том, что программный код самомодифицирует себя во время выполнения. Таким образом можно достичь огромного выигрыша во времени, походу выполнения программы.

Ещё я вступил в группу Kazakhstan Data Science Community в телеграме и задал парочку вопросов опытным дата сайентистам. Они очень отзывчивые и ответили на мой вопрос:

Друзья, на Kaggle есть бесплатные курсы по DS, и я сейчас заканчиваю проходить Intermediate ML. 

Так вот, стоит ли сразу переходить на Deep Learning или лучше попрактиковаться с приобретенными знаниями на соревнованиях?


В итоге мне посоветовали поучаствовать в соревнованиях, и сказали, что Deep Learning на Kaggle - неоч. Ещё хорошие ресурсы по их мнению это mlcourse.ai и dlcourse.ai.
#30_days_of_code

👨‍💻 День 18

Наконец-то я закончил курс Intermediate ML на Kaggle. В итоге я научился:

• Чистить датасет от неполноценных данных (NaN)
• Превращать категориальные данные датасета в те данные, которые будут иметь смысл
Кросс-валидация (cross-validation) - для уменьшения Mean Absolute Error
Пайплайны (Pipelines) - для улучшения читабельности и эффективности кода
Использование XGBoost - для улучшения предсказаний
Data Leakage - не особо понял эту тему, поэтому надо будет ещё почитать

С завтрашнего дня я начну проходить соревнования на Kaggle, и набивать в них шишки. Наверное это будет соревнование с Титаником.
#30_days_of_code

👨‍💻 День 19

Сегодня я сделал свой первый submission на Kaggle в соревновании с Титаником. Я сделал всего один сабмит и получил точность - 0.77033, что подняло меня в рейтинге на 6276 место из 12000😂.

Думаю результат не такой высокий, но за то я в первый раз написал весь код машинного обучения сам.

Конечно, для улучшения результата можно ещё посидеть и постараться улучшить модель и её предсказания, но мне лень, поэтому завтра я начну фигачить реальные соревнования, в которых люди борятся за деньги и медали. Это будет хотя бы источником мотивации для меня.

Код моего сабмита пожалуй закидывать не буду, так как там нет никаких комментариев и описаний к коду.
#30_days_of_code

👨‍💻 День 20

Как и говорил, хотел поучаствовать в соревновании, где даются деньги в качестве призов, но оказывается многие из них уже подходят к концу, и многие требуют знаний в Deep Learning.

Не смотря на это, я решил поучаствовать в тренировочном соревновании House Prices, где я вошёл в Top 59%, сделав 4 коммита. Фигово, но я понятия не имею, как улучшить свою предсказательную модель. Я использовал GradientBoostingRegressor, который работает эффективнее RandomForestRegressor. Я посмотрел решения других людей, и они используют слишком сложные решения: там используется какой-то стэкинг, а что это такое я хз.

Ещё я попробовал улучшить свой код в соревновании с Титаником, используя GradientBoostingRegressor, что в итоге перенесло меня на ~4000 позиций вверх и я вошёл в Top 21%.

Не знаю, что я буду делать дальше. Может быть буду изучать Deep Learning или поучаствую в ещё каких-нибудь соревнованиях.

Код для House Prices:
https://www.kaggle.com/abekek/kernel2d8cce840e
Как я и предполагал, около половины подписчиков реально интересуются челленджом #30_days_of_code.
Спасибо вам за то, что активно читаете меня!

Те кому этот контент не очень интересен, не расстраивайтесь.
Уже через 10 дней челлендж закончится.

А ещё, я недавно зарегистрировался на АСТ, и в будущем начну писать о том, как готовлюсь к нему.

Делать сразу 2 марафона будет слишком хардкорно, поэтому сейчас я готовлюсь к АСТ не очень интенсивно.
#30_days_of_code

👨‍💻 День 21

Пытался найти на Kaggle нормальный компетишн, где будут давать деньги, но чет не нашел такой. Далее, я попробовал пройти курс по Deep Learning, но он мне жёстко не понравился, так как он ничуть не похож на тот, что я проходил по ML.

После этого я понял, что мне нужно ещё раз пройтись по ML, но более углубленно, с пониманием всех концепций и моделей. Я посоветовался с людьми из DS/ML, и они посоветовали курс mlcourse.ai.

Этот бесплатный курс разработан сообществом Open Data Science, которые помогают новичкам в освоении Data Science. Я начал смотреть нулевую лекцию, где разбирался контент всего курса, и понял, что это очень ценный ресурс.

Пока что я буду обучаться там, но в сентябре у них стартуют лайв сессии, где будут даваться задания и дедлайны на них. На эту сессию я тоже записался.

Вот плейлист к этому курсу на YouTube (вся остальная информация на их официальном сайте):
https://www.youtube.com/playlist?list=PLVlY_7IJCMJeRfZ68eVfEcu-UcN9BbwiX
#30_days_of_code

👨‍💻 День 22

Сегодня я не делал ничего особенного - всего лишь прошёл 1 лекцию курса mlcourse.ai по Exploratory Data Analysis with Pandas. В принципе, там было все понятно и не было сильно сложных концепций.

Ещё мне пришла идея сделать своего рода генератора текста для этого канала, который будет анализировать все мои посты и писать их с нуля. Это можно реализовать с помощью HTML кода, который предоставляет Telegram для каждого канала.
#30_days_of_code

👨‍💻 День 23

В это воскресенье, я посвятил достаточно много времени программированию.
Сначала сделал demo assignment на mlcourse.ai к первой лекции, где нужно было применить все свои знания по pandas на практических заданиях. В каждом задании нужно было ответить на вопрос, и я набрал 9/10 баллов по этому assignment.

Далее я просмотрел вторую лекцию по Data Visualization, и в принципе ничего нового там для меня не было. Seaborn и Matplotlib - всё по классике.

Ещё я думал над исправлением бага в своем Telegram боте и обратился к англоязычному коммьюнити. Там один чувак мне очень сильно помог, и подсказал очень простое решение проблемы :) Спасибо ему за это. Завтра я протестирую это решение.
#30_days_of_code

👨‍💻 День 24

По семейным обстоятельствам не было возможности заняться программированием. Буду отрабатывать всё завтра.
#30_days_of_code

👨‍💻 День 25

Сегодня я прочитал 2 статьи по Data Visualization на mlcourse.ai и законспектировал их. Было довольно много новых понятий, как t-SNE сложная штука и вид визуализации данных в Python.

Также я немного изучил библиотеку Plotly, которая позволяет создавать интерактивную визуализацию данных без использования Javascript.

В общем, интересно, поэтому завтра я начну делать assignment по этой теме.
#30_days_of_code

👨‍💻 День 26

Сложноватый был assignment, так как я постоянно пользовался решением и временами копипастил код.

Ещё сегодня я посетил лекции и воркшопы от Microsoft по анализу данных и машинному обучению. Я ожидал увидеть там больше практики, нежели теории и лекций, так как само название воркшоп говорит о какой-то практической работе. Однако вместо того, чтобы работать с Microsoft Azure ML Studio, мы слушали лекции от бизнесменов, которые используют данные в своем бизнесе. Одним из них был СЕО Smart Satu - Болатбек Османов. Конечно, было интересно слушать истории про его бизнес, но это было не то за чем я пришел туда.

Хотел бы, чтобы в Казахстане лекции проходили в таком виде, в котором они проводятся в России. Например эта, которую я посмотрел сегодня:

https://youtu.be/NDElJCVejTU
#30_days_of_code

👨‍💻 День 27

Сегодня я посмотрел теоретическую лекцию по машинному обучению на mlcourse.ai (Topic 3). Всё было довольно понятно, и я понял как работает модель Decision Tree.
По сути чем глубже Decision Tree (параметр max_depth), тем лучше проходят предсказания модели, ибо ответвлений становится больше (Decision Tree - это как много if-else стэйтментов). Однако, чем лучше наша модель работает на обучающей выборке данных (training dataset), тем больше вероятности того, что она переобучится (overfitting), и будет ужасно работать на реальных данных.
Поэтому нужно использовать кросс-валидацию, которая будет избавляться от переобучения.

Ещё мне кажется, что завтра придется преждевременно закончить мой марафон, так как завтра у меня вылет в Японию на стажировку. Об этом напишу чуть позже в следующем посте.
↓↓↓
#30_days_of_code

👨‍💻 День 28

Так как я собирал вещи в полет, сегодня я мало что успел сделать. Посмотрел часовую практическую лекцию на mlcourse.ai по Decision Trees и понял как визуализировать модель дерева. Также я научился применять кросс валидацию для улучшения предсказательной модели.

Ещё в Summer Residency была гостевая лекция с Senior Data Scientist-ом из Alem Research, но он рассказывал базовые вещи, и поэтому мне было скучно.
Итоги июня

Хей, я совсем забыл подвести итоги за июнь. Я бы так и не подвёл их, пока мне не напомнила бы об этом моя девушка. Спасибо, Кама.

В июне я поставил себе эти цели:
Выполнить челлендж #30_days_of_code
Подать заявку на Urker Awards (я не выиграл)
Прочитать книгу Bad Blood
Выполнить более 2 курсов на Kaggle

Как вы видите я выполнил все цели. Однако, я сделал больше за июнь, чем планировал.

1. Я прочитал ещё одну книгу - The Four. О ней я уже писал здесь

2. Посетил трёх дневный фестиваль технологий Go Viral. Я писал об этом здесь

3. Выполнил не только курсы на Kaggle, но и прошел несколько лекций на mlcourse.ai и поучаствовал в Kaggle соревнованиях.

4. Прошел 5-ти дневный интенсив от Ivy League. Почти написал свой аппликейшн эссе, создал резюме и сайт abekek.github.io . Однако всё ещё не до конца доработано.

Вот такой у меня был июнь. Об итогах июля вы узнаете в конце месяца. 🙂