Data Science | Machinelearning [ru] – Telegram
Data Science | Machinelearning [ru]
20K subscribers
637 photos
40 videos
29 files
3.52K links
Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM.

По вопросам рекламы или разработки - @g_abashkin

РКН: https://vk.cc/cJPGXD
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Какие данные доступны при принятии решения?
Когда вы запускаете модель в реальных условиях, она получает доступные именно в этот момент данные. Они могут отличаться от тех, что предполагалось использовать в обучении. Например, они опубликованы с задержкой, поэтому к моменту запуска другие входные данные изменились. Значит, вы делаете прогнозы с неверными данными или ваша истинная переменная y теперь ложна.
Решение: проведите пошаговое тестирование вне выборки. Если бы модель испытывалась в реальных условиях, то как бы выглядел обучающий набор? Какие данные имеются для прогнозирования? Кроме того, подумайте вот о чём: если бы вы действовали на основании прогноза, то какой результат был бы в момент принятия решения?
This media is not supported in your browser
VIEW IN TELEGRAM
select_dtypes
Если предварительная обработка данных должна выполняться в Python, то эта команда сэкономит ваше время. После чтения из таблицы типами данных по умолчанию для каждого столбца могут быть bool, int64, float64, object, category, timedelta64 или datetime64. Вы можете сначала проверить распределение с помощью

df.dtypes.value_counts()
чтобы узнать все возможные типы данных вашего фрейма, затем используйте

df.select_dtypes(include=[‘float64’, ‘int64’])
чтобы выбрать субфрейм только с числовыми характеристиками.
This media is not supported in your browser
VIEW IN TELEGRAM
@notboring_tech — лёгкий для чтения, приятный для досуга и просто уютный канал про технологии, ИИ и нейросети, VR и AR! Большое количество новостей и проектов из отрасли, к тому же канал без хлама и мусора, подписывайтесь! 🤖 💖
​​Компания Apple купила канадский стартап-разработчика искусственного интеллекта и систем машинного обучения Inductiv для развития голосового помощника Siri.

Сумма сделки и ее условия не раскрываются. В Apple изданию заявили, что «периодически покупают небольшие компании».
Inductiv занимается созданием системы, с помощью которой искусственный интеллект используется для выявления и исправления ошибок в данных для машинного обучения. Инженерная команда Inductiv займется в Apple улучшением технологии Siri.
За последние пять лет Apple приобрела несколько компаний, связанных с искусственным интеллектом и машинным обучением, например, Voysis, Xnor.ai, Turi, Perceptio, Tuplejump и другие.
This media is not supported in your browser
VIEW IN TELEGRAM
сopy

Это важная команда. Если вы сделаете:

import pandas as pd
df1 = pd.DataFrame({ ‘a’:[0,0,0], ‘b’: [1,1,1]})
df2 = df1
df2[‘a’] = df2[‘a’] + 1
df1.head()
Вы обнаружите, что df1 изменен. Это потому, что df2 = df1 не делает копию df1 и присваивает ее df2, а устанавливает указатель, указывающий на df1. Таким образом, любые изменения в df2 приведут к изменениям в df1. Чтобы это исправить, вы можете сделать либо:

df2 = df1.copy ()
или же:

from copy import deepcopy
df2 = deepcopy(df1)
This media is not supported in your browser
VIEW IN TELEGRAM
Переобучение
Чем больше времени вы тратите на набор данных, тем вероятнее переобучение. Вы работали с функциями, оптимизировали параметры, использовали перекрёстную проверку, поэтому всё должно быть хорошо.
Решение: закончив построение модели, попробуйте найти другую версию наборов данных. Она может быть суррогатом для настоящего набора вне выборки. Если вы менеджер, сознательно скрывайте данные, чтобы они не использовались для обучения.
Пример: применение моделей, обученных на первом наборе данных ко второму набору, показывает: СКО более чем удвоилось. Это приемлемо? Решение за вами, но результаты #4 могут помочь.
первый наборrf mse 0.261 ols mse 0.187новый наборrf mse 0.681 ols mse 0.495
Обратите внимание: @kaicode (5 сентября). Это первый в своём роде сбор на одной площадке авторов open source проектов, в Москве. Huawei спонсирует и организует. Отошлите им ссылку на свой GitHub проект, его рассмотрят и лучших пригласят на площадку для выступления и защиты. Три проекта получают в руки по $5000 каждый и возможность дальнейшей поддержки от Huawei. Пишите им в Телеграм группу за подробностями и бесплатным билетом на вход.
This media is not supported in your browser
VIEW IN TELEGRAM
Сможет ли Julia занять место рядом с Python
Julia и Python —языки программирования, которыми многие программисты очень дорожат. Использование Julia вместо Python обладает множеством преимуществ, таких как меньшее время написания кода и более быстрая компиляция. Однако на данный момент Julia проигрывает Python в популярности. В отличие от Python в Julia отсутствует критическая инфраструктура машинного обучения и выполнения скриптов, необходимых для того, чтобы стать отраслевым стандартом, особенно в машинном обучении... 
This media is not supported in your browser
VIEW IN TELEGRAM
Нужно больше данных?
Интуитивно это покажется странным, но зачастую лучший способ начать анализ — работать с репрезентативной выборкой. Это позволяет ознакомиться с данными и построить конвейер, не дожидаясь их обработки и обучения модели. Но аналитикам, похоже, это не нравится: лучше больше данных.
Решение: начните работу с небольшой репрезентативной выборкой и посмотрите, сможете ли вы получить из нее что-то полезное. Верните выборку конечным пользователям. Они могут её использовать? Это решает реальную проблему? Если нет, то проблема скорее всего не в количестве данных, а в подходе.
This media is not supported in your browser
VIEW IN TELEGRAM
map
Это классная команда для простого преобразования данных. Сначала вы определяете словарь, в котором «ключами» являются старые значения, а «значениями» являются новые значения.

level_map = {1: ‘high’, 2: ‘medium’, 3: ‘low’}
df[‘c_level’] = df[‘c’].map(level_map)
Например: True, False до 1, 0 (для моделирования); определение уровней; определяемые пользователем лексические кодировки.
video_1581355_2664566.gif
18.3 MB
IТ-индустрия - это рынок работников, а не работодателей.
Это означает, что сотрудники могут диктовать условия.
К тому же сегодня вам не нужно заканчивать IT-ВУЗ для написания кода. И если для того, чтобы стать программистом, достаточно нескольких месяцев, что помимо программирования имеет значение при приеме на работу?
This media is not supported in your browser
VIEW IN TELEGRAM
apply or not apply?
Если нужно создать новый столбец с несколькими другими столбцами в качестве входных данных, функция apply была бы весьма полезна.
video_1585362_2671676.gif
13.1 MB
Компания Microsoft уволила 70 сотрудников и заменила их на ИИ. Алгоритм будет писать, отбирать и курировать новости.
Издания The Seattle Times и The Guardian сообщили, что компания Microsoft сократила около семидесяти журналистов и заменила их на ИИ. Они работали в новостном агрегаторе MSN и отвечали за выбор, редактирование и кураторство сюжетов. Сотрудники, которые работают в Microsoft полный день, останутся в компании.
This media is not supported in your browser
VIEW IN TELEGRAM
value counts
Это команда для проверки распределения значений. Например, если вы хотите проверить возможные значения и частоту для каждого отдельного значения в столбце «c», вы можете применить

df[‘c’].value_counts()
Есть несколько полезных приемов / функций:
A. normalize = True : если вы хотите проверить частоту вместо подсчетов.
B. dropna = False : если вы хотите включить пропущенные значения в статистику.
C. sort = False : показать статистику, отсортированную по значениям, а не по количеству.
D. df[‘c].value_counts().reset_index().: если вы хотите преобразовать таблицу статистики в датафрейм Pandas и управлять ими.
This media is not supported in your browser
VIEW IN TELEGRAM
Что такое Scikit Learn - гайд по популярной библиотеке Python для начинающих
Scikit-learn основан на NumPy и SciPy, поэтому необходимо понять хотя бы азы этих двух библиотек, чтобы эффективно применять Scikit-learn.
Scikit-learn - это пакет с открытым исходным кодом. Как и большинство материалов из экосистемы Python, он бесплатный даже для коммерческого использования. Он лицензирован под лицензией BSD.
This media is not supported in your browser
VIEW IN TELEGRAM
Количество пропущенных значений

При построении моделей может потребоваться исключить строку со слишком большим количеством пропущенных значений / строки со всеми пропущенными значениями. Вы можете использовать .isnull () и .sum () для подсчета количества пропущенных значений в указанных столбцах.
 

import pandas as pd
import numpy as np

df = pd.DataFrame({ ‘id’: [1,2,3], ‘c1’:[0,0,np.nan], ‘c2’: [np.nan,1,1]})
df = df[[‘id’, ‘c1’, ‘c2’]]
df[‘num_nulls’] = df[[‘c1’, ‘c2’]].isnull().sum(axis=1)
df.head()
video_1593823_2685554.gif
18.4 MB
6 лучших библиотек машинного обучения

Развитие искусственного интеллекта привело к активной разработке различных фреймворков и библиотек, которые помогут вам внедрить технологию.
Давайте взглянем на некоторые из этих новейших библиотек и сред разработки с открытым исходным кодом ИИ и машинного обучения.
This media is not supported in your browser
VIEW IN TELEGRAM
Оконные функции PostgreSQL
Многие разработчики, давно использующие postgresql, не понимают оконные функции, считая их какой-то особой магией для избранных. Ну или в лучшем случае «копипастят» со StackOverflow выражения типа «row_number() OVER ()», не вдаваясь в детали. А ведь оконные функции — полезнейший функционал PostgreSQL.
Сначала вы должны понять, что оконные функции не изменяют выборку, а только добавляют некоторую дополнительную информацию о ней. Т.е. для простоты понимания можно считать, что postgres сначала выполняет весь запрос (кроме сортировки и limit), а потом только просчитывает оконные выражения.
This media is not supported in your browser
VIEW IN TELEGRAM
Выбрать строки с конкретными идентификаторами.

В SQL мы можем сделать это, используя SELECT * FROM… WHERE ID в («A001», «C022»,…), чтобы получить записи с конкретными идентификаторами. Если вы хотите сделать то же самое с pandas, вы можете использовать:

df_filter = df ['ID']. isin (['A001', 'C022', ...]) 
df [df_filter]
video_1602554_2700027.gif
15.7 MB
Появилась первая европейская платформа для облачных вычислений. Власти стран ЕС заявили, что они не хотят зависеть от платформ, которые работают в США и Китая.
Власти Германии и Франции заявили о создании первой европейской платформы для облачных вычислений Gaia-X. Ее создатели отмечают, что они хотят создать конкурента для таких же сервисов из других стран –– США и Китая. Впервые о том, что платформа появится, они говорили еще в 2019 году. Однако теперь власти представили коммерческих партнеров –– это 22 немецкие и французские компании...
This media is not supported in your browser
VIEW IN TELEGRAM
HackerEarth: Go снова назван самым востребованным языком среди программистов

Больше всего студенты и профессиональные разработчики хотели бы выучить Go. К такому выводу пришли аналитики HackerEarth — разработчика корпоративных продуктов, которые помогают рекрутерам дистанционно оценивать навыки программирования соискателей, — по результатам опроса 16,655 респондентов из 76 стран...