This media is not supported in your browser
VIEW IN TELEGRAM
Предварительная обработка всего набора
Вы уже знаете, что мощная модель может переобучиться. Это означает, что она хорошо работает в выборке, но плохо вне выборки. То есть нужно знать об утечках обучающих данных в тестовые. Если не будете внимательны...
Вы уже знаете, что мощная модель может переобучиться. Это означает, что она хорошо работает в выборке, но плохо вне выборки. То есть нужно знать об утечках обучающих данных в тестовые. Если не будете внимательны...
This media is not supported in your browser
VIEW IN TELEGRAM
Перекрёстная проверка и панельный анализ
Вас учили, что перекрёстная проверка — всё, что нужно. Sklearn даже предоставляет несколько удобных функций для неё, поэтому вы думаете, что сделали всё. Но большинство методов перекрёстной проверки используют случайную выборку, а значит, можно получить смешение наборов с завышением производительности.
Вас учили, что перекрёстная проверка — всё, что нужно. Sklearn даже предоставляет несколько удобных функций для неё, поэтому вы думаете, что сделали всё. Но большинство методов перекрёстной проверки используют случайную выборку, а значит, можно получить смешение наборов с завышением производительности.
Мастерская инноваций Liquid Studio компании Accenture в России представила голосового помощника «Аня» для онлайн-покупок в продуктовых магазинах.
Голосовой ассистент «Аня» позволит подбирать товары в продуктовых интернет-магазинах непосредственно для каждого пользователя, учитывая его предпочтения. Если на вопрос ассистента «Какие продукты вы хотите заказать?», будет озвучен ответ: «Мне как обычно», «Аня» добавит в корзину товары, наиболее часто приобретаемые пользователем.
Голосовой ассистент «Аня» позволит подбирать товары в продуктовых интернет-магазинах непосредственно для каждого пользователя, учитывая его предпочтения. Если на вопрос ассистента «Какие продукты вы хотите заказать?», будет озвучен ответ: «Мне как обычно», «Аня» добавит в корзину товары, наиболее часто приобретаемые пользователем.
Искусственный интеллект для оптимизированной мобильной связи
В то время как многие европейские государства в настоящее время создают 5-е поколение мобильной связи, ученые уже работают над ее оптимизацией. Хотя 5G намного превосходит своих предшественников, даже в самом последнем стандарте мобильной связи все еще есть возможности для улучшения: особенно в городских районах, где прямая видимость между излучателем и приемопередатчиком затруднена, радиосвязь еще не работает надежно. В рамках недавно запущенного в ЕС проекта ARIADNE одиннадцать европейских партнеров изучают, как можно разработать передовую системную архитектуру «за пределами 5G» с использованием высокочастотных полос и искусственного интеллекта...
В то время как многие европейские государства в настоящее время создают 5-е поколение мобильной связи, ученые уже работают над ее оптимизацией. Хотя 5G намного превосходит своих предшественников, даже в самом последнем стандарте мобильной связи все еще есть возможности для улучшения: особенно в городских районах, где прямая видимость между излучателем и приемопередатчиком затруднена, радиосвязь еще не работает надежно. В рамках недавно запущенного в ЕС проекта ARIADNE одиннадцать европейских партнеров изучают, как можно разработать передовую системную архитектуру «за пределами 5G» с использованием высокочастотных полос и искусственного интеллекта...
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’])
чтобы выбрать субфрейм только с числовыми характеристиками.
Если предварительная обработка данных должна выполняться в 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 и другие.
Сумма сделки и ее условия не раскрываются. В 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)
Это важная команда. Если вы сделаете:
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 могут помочь.
Чем больше времени вы тратите на набор данных, тем вероятнее переобучение. Вы работали с функциями, оптимизировали параметры, использовали перекрёстную проверку, поэтому всё должно быть хорошо.
Решение: закончив построение модели, попробуйте найти другую версию наборов данных. Она может быть суррогатом для настоящего набора вне выборки. Если вы менеджер, сознательно скрывайте данные, чтобы они не использовались для обучения.
Пример: применение моделей, обученных на первом наборе данных ко второму набору, показывает: СКО более чем удвоилось. Это приемлемо? Решение за вами, но результаты #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 отсутствует критическая инфраструктура машинного обучения и выполнения скриптов, необходимых для того, чтобы стать отраслевым стандартом, особенно в машинном обучении...
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 (для моделирования); определение уровней; определяемые пользователем лексические кодировки.
Это классная команда для простого преобразования данных. Сначала вы определяете словарь, в котором «ключами» являются старые значения, а «значениями» являются новые значения.
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-ВУЗ для написания кода. И если для того, чтобы стать программистом, достаточно нескольких месяцев, что помимо программирования имеет значение при приеме на работу?
Это означает, что сотрудники могут диктовать условия.
К тому же сегодня вам не нужно заканчивать IT-ВУЗ для написания кода. И если для того, чтобы стать программистом, достаточно нескольких месяцев, что помимо программирования имеет значение при приеме на работу?
This media is not supported in your browser
VIEW IN TELEGRAM
apply or not apply?
Если нужно создать новый столбец с несколькими другими столбцами в качестве входных данных, функция apply была бы весьма полезна.
Если нужно создать новый столбец с несколькими другими столбцами в качестве входных данных, функция apply была бы весьма полезна.
video_1585362_2671676.gif
13.1 MB
Компания Microsoft уволила 70 сотрудников и заменила их на ИИ. Алгоритм будет писать, отбирать и курировать новости.
Издания The Seattle Times и The Guardian сообщили, что компания Microsoft сократила около семидесяти журналистов и заменила их на ИИ. Они работали в новостном агрегаторе MSN и отвечали за выбор, редактирование и кураторство сюжетов. Сотрудники, которые работают в Microsoft полный день, останутся в компании.
Издания 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 и управлять ими.
Это команда для проверки распределения значений. Например, если вы хотите проверить возможные значения и частоту для каждого отдельного значения в столбце «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.
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()
При построении моделей может потребоваться исключить строку со слишком большим количеством пропущенных значений / строки со всеми пропущенными значениями. Вы можете использовать .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 лучших библиотек машинного обучения
Развитие искусственного интеллекта привело к активной разработке различных фреймворков и библиотек, которые помогут вам внедрить технологию.
Давайте взглянем на некоторые из этих новейших библиотек и сред разработки с открытым исходным кодом ИИ и машинного обучения.
Развитие искусственного интеллекта привело к активной разработке различных фреймворков и библиотек, которые помогут вам внедрить технологию.
Давайте взглянем на некоторые из этих новейших библиотек и сред разработки с открытым исходным кодом ИИ и машинного обучения.