Одна из тенденций в машинном обучении - это стремление к демократизации доступа, чтобы люди без доктора компьютерных наук тоже могли им пользоваться. Большинство инструментов сегодня по-прежнему требуют навыков программирования либо на Python, либо на R. На этой неделе Google объявила о выпуске в Kaggle инструмента машинного обучения под названием AutoML, который, как утверждается, не требует навыков программирования для использования. Просто перетащите. В объявлении Google говорится:

AutoML смогла быстро получить высокие результаты при минимальных усилиях, без опыта или контроля в предметной области. Более того, они потратили очень мало времени на подготовку данных и практически не потратили времени на разработку функций, выбор модели и настройку гиперпараметров. Временная эффективность AutoML стала еще более очевидной во время соревнования IEEE, когда тысячам команд потребовалось несколько недель, чтобы превзойти эталонный тест AutoML со значительным отрывом в нашей частной таблице лидеров.

Поэтому я решил попробовать сам, чтобы убедиться, насколько это просто.

Что делает Google AutoML, так это то, что он автоматически ищет наиболее оптимальную нейронную сеть для вашего набора данных, поэтому вам не нужно беспокоиться о настройке параметров. Интерфейс меня приятно удивил. После того, как я загрузил свои данные, он автоматически разделил мои столбцы на числовые, категориальные и текстовые. Мне удалось переключить ползунок на «Обнуляемость», что является причудливым способом сказать, что если строка не имеет здесь значения, следует ли игнорировать всю строку или просто игнорировать это значение. Он также суммировал, где у меня отсутствовали данные / недопустимые данные, и количество различных значений для каждого имени столбца.

Данные, которые я использовал, представляют собой классический набор данных на Kaggle о прогнозировании цен на жилье с использованием предикторов, таких как количество спален, год постройки, площадь в квадратных футах и ​​т. Д. Это небольшой набор данных, около 1400 строк и 80 столбцов = всего 112 000 точек данных. . После того, как я закончил выбор типов данных и выбрал свой целевой столбец (SalePrice), я щелкнул Модель обучения. Я думал, что это произойдет довольно быстро, потому что в Python это занимает несколько минут. Однако, поскольку AutoML тестирует несколько нейронных сетей, этот процесс занял около 90 минут при стоимости обучения 20 долларов в час на серверах Google.

Когда пришли результаты, они были красиво обобщены. Сначала он сказал, что моя модель имеет среднюю ошибку предсказания цены продажи жилья 11,91% на обучающей выборке. Неплохо.

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

  1. GeneralQual: оценивает общий материал и отделку дома.
  2. GrLiv: квадратные футы надземной жилой площади
  3. LotArea: Размер лота в квадратных футах.

Все они кажутся разумными факторами роста продажной цены жилья.

Теперь, когда у меня была моя модель, я был готов делать некоторые прогнозы. Итак, я загрузил свой набор тестов и нажал кнопку «Пакетные прогнозы». Через 5 минут я получил свои результаты в CSV-файле, который я отправил в Kaggle, чтобы посмотреть, как у меня получилось:

Хорошо, не так уж и здорово. Позиция 3224/5089 или 37-й процентиль. Моя среднеквадратичная ошибка составила 0,15 против примерно 0,10 в таблице лидеров. Так что на самом деле это довольно хорошее предположение, учитывая количество усилий, которые я приложил, и тот факт, что мне пришлось отказаться от кодирования, но с его помощью вы не выиграете ни одного соревнования Kaggle. Плюс я думаю, что автоматические инструменты машинного обучения запрещены в соревнованиях Kaggle.

Обучение модели обходится недешево - 20 долларов в час, но во многих случаях это может быть намного дешевле, чем нанять штатного специалиста по данным, если компания хочет заняться машинным обучением, но не совсем готова сделать решительный шаг. Для фирм, которые полностью привержены машинному обучению с учеными данных, есть более доступные варианты. AutoML также может выполнять анализ по языку (например, анализ тональности) и зрению (фото и видео) в дополнение к структурированным данным. Я также думаю, что AutoML был бы лучше, если бы данных было больше, поскольку 1400 строк обучающих данных считаются довольно маленькими по сегодняшним стандартам.

В целом я считаю, что это шаг в правильном направлении. Как говорится: «Никогда не позволяй великому быть врагом добру». Это хороший инструмент, это не волшебная пуля, но это хорошо. Для тех, у кого нет доступа к машинному обучению, этот инструмент может дать вам 80% ответов на самые современные вопросы. Это круто.