Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Рисковый и азартный три в ряд - играйте онлайн!

Камни в ряд онлайн!

Казуальные, Три в ряд, Мультиплеер

Играть

Топ прошлой недели

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
BalaganChick
BalaganChick

Переводим dataset из kaggle в google collabs⁠⁠

3 года назад

Hello my excellent readers, на днях прошел обучение в школе GoTo. Возникла одна неприятная проблема. При получении датасета из соревновательной платформы по анализу данных kaggle, проявилась загвоздка с переносом данных в google collabs. Туториалы, объясняющие как правильно перенести датасеты либо устарели, либо проблема раскрыта неполностью. Я решил это исправить и написал свой read me файл в github и выгрузил туда полный туториал с кодом и фото, но так как не все шарят в английском, то я решил и сюда написать пост.

1. Создайте kaggle api и получите kaggle.json

2. Загрузите kaggle.json в google collab

3. Установите kaggle, создайте папку и установите права доступа

4. Загрузите датасет из kaggle api

5. Распаковывать файлы

Весь код, представленный в статье, размещен на GitHub
Показать полностью 7
[моё] Программирование IT Обучение Программист Урок Kaggle Коллаб Google Код Github Длиннопост
1
DELETED
Беларусь

Ответ на пост «Facebook выплатит дагестанцу $500 тысяч»⁠⁠1

5 лет назад

Надо же, прямо современная версия "не в лотерею, а в проферанс". Так вот, не дагестанец, и не в одиночку, а программист фирмы Mapbox из Кремниевой Долины, которая давным давно сотрудничает с Facebook:

Ответ на пост «Facebook выплатит дагестанцу $500 тысяч»
Республика Беларусь Дагестан Дагестанцы IT Deepfake Kaggle Facebook Талант Ответ на пост
14
50
DELETED
Беларусь

Facebook выплатит дагестанцу $500 тысяч⁠⁠1

5 лет назад
Facebook выплатит дагестанцу $500 тысяч

В конкурсе по созданию алгоритмов распознавания поддельных видео (Deepfake) с общим призом 1М USD победил дагестанец Селим Сефербеков — компьютерный видео-инженер в компании Mapbox с центром разработки в Минске.

За первое место он получит 500 тысяч долларов.

Призёры (2-5 место) получат от 40 до 300 тысяч долларов.


Это очень круто, я читал, что это вообще невозможно сделать..тем более один, без команды..


https://www.kaggle.com/c/deepfake-detection-challenge/leader...

https://md-gazeta.ru/news/87279

Показать полностью
Республика Беларусь Дагестан Дагестанцы IT Deepfake Kaggle Facebook Талант
51
DELETED
Искусственный интеллект

MLHum #1⁠⁠

7 лет назад
MLHum #1

(c)еть

Машинное обучение Kaggle Игра престолов Санса Старк Бриенна
0
16
DELETED
Искусственный интеллект

Как начать создавать искусственный интеллект если вы юрист/рыболов/трубочист или у вас лапки. Часть II.⁠⁠

7 лет назад

Итак, с вами WBG и мы начинаем вторую часть создания ИИ. К великому сожалению, вам нужно хоть немножко знать питон, например из первой части или какого-нибудь туториала с ютубчика :). Есть и второй вариант: берите чаек, усаживайтесь поудобнее и просто наслаждайтесь.


Знакомы с python? Тогда погнали!


- Как пройти в библиотеку?

- А вам в какую?

- В sklearn

- Тогда вставьте в cmd

pip install numpy
pip install pandas
pip install sklearn

И если у вас все сработало - мои поздравления! Иначе - возможно, у вас нету pip в PATH. Если что - путь в комменты, задаем любые вопросы.


Я хотел рассказать про работу numpy и pandas, но вы меня разорвете - поэтому сразу переходим к интересному, уверен, вы поймете все и так :))).


Итак, как я и обещал - мы делаем реальную задачу, для этого регаемся на kaggle.com, находим соревнование. Да, соревнование, и не какое-нибудь, а предсказание выживания человека на титанике по различным данным. Еще раз: ПРЕДСКАЗАНИЕ, ВЫЖИВЕТ ЛИ ЧЕЛОВЕК. Отличная первая задача. Скачиваем данные в папку C:\ml_prj\WBG\titanic, предварительно создав ее :). Распаковываем в эту папку.

А вот как это выглядит в папке

Что необходимо сделать, так это поставить anaconda, обязательно в конце установки жмакнув "Add to PATH". Затем в cmd запустить команду

C:
cd C:\ml_prj
jupyter notebook

Чуть-чуть подождать, и у вас в браузере откроется вот такая штука.

Как дела? Все получается? Если нет, то не стоит паниковать, зато задать вопрос в комментах - почему бы и нет?!


Теперь быстренько летим в папку WBG\titanic и создаем New->Python3 как показано выше.

Искренне надеюсь, что у вас также. Теперь самое интересное! Быстренько делаем для кого понятные, а для кого непонятные заклинания:

И жмем Ctrl+Enter, чтобы запустить ячейку кода.

(Весь код я приложу в конце)


Так, что произошло? Мы загрузили три библиотеки - numpy, отвечающий за создание массивов и тензоров. Pandas - удобно работающий с текстовыми и файловыми данными, таблицами. Sklearn - библиотека, предоставляющая алгоритмы машинного обучения.


Ну что, давайте я не буду погружать никого не во что? Сразу к интересному? Тогда берем попкорн, клавиатуру и погнали.

Тыкаем клавишу B (английская, блэт, ибо Below - ниже). Создается ячейка, заходим в нее и пишем такое:

Ну и запускаем (напомню, ctrl+enter).

Здорово, мы загрузили данные в переменные. Правда, ничего не понятно - что за данные такие. Давайте взглянем на них!

Мы вставили следующей ячейкой код, который возвращает верхнюю часть наших данных. Как видим, здесь несколько столбцов:

PassengerId - таки Id пассажира

Survived - выжил он (1) или нет (0)

Sex - male (мужчины), female (отгадайте, кто)

Age - возраст

и так далее, в общем по-хорошему надо изучить, но у нас же форсированный курс 8).


Что мы собираемся делать дальше, так это обработать данные (feature engineering нахрен). Во как. Поэтому объединим наши данные, вставив это сразу после последней ячейки:

"красненького" бояться нафиг не надо, это просто предупреждения.

Ну давайте взглянем на наши данные

А давайте-ка к херам снесем колонку Name, с которой хрен че сделаешь: вряд ли от имени что-нибудь зависит. Да и cabin можно удалить. И PassengerId. Едем:

Парочку замечаний:

1) axis = 1 означает, что мы удаляем стоблец

2) data_1 - это не костыль, это нужно, чтобы мы понимали, сколько обработок мы сделали. Можно конечно и

data = data.drop(...

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


Отлично, как мы видим, столбцы удалены. Но нам этого мало: хотелось бы теперь пол преобразовать в числа, 1 либо 0. Извините, фемки, но у нас по-любому будут разные цифры для разных полов. Пусть будет... 1 для мужчин и 0 для женщин (ну все, улетел в минуса).

"Какой кошмар" - подумали вы. Но давайте по порядку.

1) data_1["Sex"] - означает, что мы работаем с колонкой "пол".

2) data_1["Sex"].apply - означает, что мы хотим применить функцию для каждого элемента в столбце

3) lambda x: - это конструктор функции, например если обычно мы делаем

То с лямбдой мы можем сделать

Или даже сразу

Таким образом, когда мы делаем apply, pandas пробегается по всем элементам данного столбца и заменяет каждый его элемент на вашу функцию от этого элемента.

Если не поняли - ничего страшного, ПОЙМЕТЕ, НИКУДА НЕ ДЕНЕТЕСЬ УХАХАХА.


Ладно, с полом разобрались. Кстати, уже красивые данные, не правда ли? Не правда!

Если присмотреться, то можно увидеть ЭТО

Что это за ПрострелитьСебеКолено.jpg? Это Not a Number, то есть неопределенно. И знаете, что я думаю по этому поводу? Я считаю, что от этой херни надо избавляться словно от трапов. И мы быстренько это сделаем:

Здорово, правда? Добавились непонятные нули, ну и шут с ним. Зато №5 успешно был заменен на среднее арифметическое столбца, ведь именно это означает data_1["Age"].mean(). А fillna заменяет NaN на то, что предложено в скобках.


Так, теперь подумаем, что делать с Ticker. О! А давайте возьмем первый символ от строки? Ну, я не против, че

Каеф. Теперь все почти ништяк. Осталось придумать, что делать с буковами.

Тут есть одна сверхсекретная тактика, только тссс: one hot encoding. Давайте на нее посмотрим, и вы сами все поймете!

1) Что изменилось?

Мы заменили Embarked, который мог быть одной из трех букв (C, Q, S) на три столбца: em_C, em_Q, em_S. Затем для каждого элемента мы ставим во всех трех столбцах 0, а в том, который соответствует - единичку. То есть Например 0-ой элемент: 0 0 1 в столбцах, значит там была буква S. Во втором элементе единица в столбце em_C, значит там буква C.


2) Что за магия?

Предпоследняя строка удаляет столбец, первая - делает копию data_1. А в остальное - забейте вникать :). Хотя это не очень сложно, но думаю со временем это станет очевидно, а стелить простыню ради этого - такое :)).


Так ладно, отвлеклись. Давайте то же самое по-быстрому сделаем еще для Pclass и Ticket.

Тут стоило бы оформить в функцию. Но мы делаем понятный код, ок да?


Фух. Почти все готово. Единственное, что осталось - это разбить обратно на тестовую и обучательную, а обучательную - на train и val. Ща все объясню.


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

Так, тут значит мы разрезали нашу data обратно: на train и test.

Тут значит разбиваем на вход (X) и выход (y). То есть мы будем учить для X предсказывать y.

Вот и все. Теперь в X_train и y_train основная часть выборки. Осталось на этом обучить и протестить на X_test и y_test.


УРААААА ОБУЧЕЕЕЕНИЕЕЕ. Поздравляю, если вы не умерли до этого момента. А обучать мы будем (для начала) решающие деревья.

Едем!

Все, мы обучили. Да да. Уже обучили. Нет, серьезно. Без подвохов. Мы реально обучили простую модельку. Ну давайте протестим ее на данных из выборки и на тестовых данных!

То есть на проверочной (валидационной, validation) выборке мы получили 83% точности, когда на тестовой аж 97%. Поздравляю, вы обучили первую свою модель. =))


К сожалению, пикабу пишет "максимально можно добавить 51 блок", и я дошел до лимита. Честно. Так что...


Спасибо всем прочитавшим, а также по два спасибо подписчикам, как моим, так и соответствующего сообщества по этой тематике. Как вы уже догадались, будет третья часть, где уже широко развернемся с модельками. Там мы попробуем еще логистическую регрессию, метод ближайших соседей и что-нибудь еще (идеи можно присылать в комменты). А главное, мы в следующей части сможем отправить наше первое решение на kaggle, заняв какое-нибудь место.


Здесь вы найдете мой код, который был в презентации. Да и вообще всю папку. Жалко для вас что ли?


На этот раз бм сисек в посту не нашел.

Показать полностью 25
[моё] Tutorial by WBG Python Kaggle Длиннопост
33
DELETED

Data science, наши странные вкусы. (Влюбиться в лося???)⁠⁠

7 лет назад

Начну, пожалуй, с сообщества Kaggle. Это платформа, где мы соревнуемся, решая задачки на ML (Machine Learning). Вот как это происходит:

Жмакаем кнопку "Join competition"

Загружаем данные для обучения

Загружаем данные, для которых нужно предсказать исход

Думаем над моделькой


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


В каждом (ну, почти каждом) соревновании можно объединяться в команды. Другого способа легально делиться кодом с другим участником нет.


О призах на Каггл. Часть из соревнований имеет некий фонд на призы, обычно для первых 3-4 мест. Например, в текущем моем соревновании (предсказать нахождение соли на поверхности Земли) первое место получить $ 50к.

Отправлять свои решения можно не более 5 раз в день (для ds-овцев в песочнице это покажется ооочень мало, а вот для остальных думаю нормально :D ).


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


Теперь об этой странной штуке Loss. Как наверное уже некоторые догадались, это потери. У нас эта функция обозначает насколько плохо работает модель, а значит чем меньше loss, тем лучше.


Обычно по loss-ам мы рисуем графики, для нас они - как для пикабушника хороший пост, а обычного человека порнуха.


Чем красивее Loss, тем нам приятнее.

Довольно фапабельный loss (ставить клубнику?). Может кому понравится?)


Дико извиняюсь перед своими подписчиками, что опять не уместил про разного рода сетки. Про то, как мы подбираем архитектуру. Об этом будет большой пост, а может и несколько. А еще будет про вычислительные мощности и среду разработки (ах да, мы же кодим в... браузере!)


P. S. Кстати, есть небольшой недостаток моей деятельности. Здесь сантехник может сказать о том, как облажался в подключении труб, полицейский - как его задолбало ловить преступника. А вот если я скажу, что как-то забыл обнулить градиенты и шагнуть оптимизатором - вряд ли я кому-то выговорюсь :).


Ну и напоследок мой loss по соревнованию :)

Показать полностью 3
[моё] Loss Машинное обучение Kaggle Длиннопост
1
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии