амарена что это такое
amarena
Смотреть что такое «amarena» в других словарях:
amarena — /ama rɛna/ s.f. [der. di amaro ]. (bot.) [tipo di ciliegia amara] ▶◀ ‖ marasca, visciola. ⇑ ciliegia … Enciclopedia Italiana
amarena — amàrēna ž DEFINICIJA višnjevac (od zadarske maraske) ETIMOLOGIJA tal … Hrvatski jezični portal
Amarena — Des cerises amarena L amarena est un sirop de cerises griottes (fruits du Prunus cerasus) très sucré généralement utilisé sur des pâtisseries ou comme assortiment de glaces … Wikipédia en Français
amarena — a·ma·rè·na s.f. 1. CO ciliegia prodotta dall amareno | lo sciroppo ricavato da tali ciliegie 2. TS bot.com. pianta del genere Enotera (Oenothera biennis) usata come medicinale e coltivata in passato per la sua radice commestibile <
amarena — <
Amarena — Amarenakirschen sind eine italienische Spezialität. Es handelt sich um eingelegte Sauerkirschen. Die dunklen Kirschen werden in einem Sirup aus Zucker, Mandelöl und Vanille eingelegt, bis sie das typische Mandelaroma angenommen haben. Sie werden… … Deutsch Wikipedia
amarena — pl.f. amarene … Dizionario dei sinonimi e contrari
amarena — s. f. visciola, marasca, amarasca, agriotta … Sinonimi e Contrari. Terza edizione
Dammuso Dell' Amarena — (Пантеллерия,Италия) Категория отеля: Адрес: Vicolo Dell Amarena, 90017 Па … Каталог отелей
Bed&Breakfast Casa Amarena — (Pieve Torina,Италия) Категория отеля: Адрес: località Piecollina,15, 62 … Каталог отелей
Apartments Amarena — (Задар,Хорватия) Категория отеля: 3 звездочный отель Адрес: Biogradska ulica 25 … Каталог отелей
Амароне: что нужно знать
Еще одна интересная глава из книги «Красное вино. Комплексное руководство по 50 сортам и стилям» («ХлебСоль», 2020), написанной Кевином Зрали, Майком де Симоне и Джеффом Дженссеном. Сегодня рассказываем о том, как делают амароне, а также об ощущениях, которые нам дарит это вино.
В бокале
Большой бордоский бокал. Цвет рубиновый.
Вкусовые характеристики
Средняя кислотность, высокая плотность, средне-высокая танинность.
Тона и ноты
Эти насыщенные вина с высоким уровнем алкоголя впечатляют своей ароматикой с нотами сушеных черных ягод и вишневой колы. Вино сбалансированное, мощное, плотное, на первом плане – терновая слива, черная слива, черная малина, смородина и сушеная вишня, на втором – анис, лакрица, эспрессо и темный шоколад. Выдержка в дубе привносит мягкие тона ванильной эссенции и поджаренного хлеба. Не дайте сладким описаниям обмануть себя – название этого вина переводится как «горькое».
Гастрономические сочетания
Любое блюдо с насыщенным и ярким вкусом. Ризотто на красном вине с трюфелями. Дикий кабан, тушенный с овощами. Филе из оленины, запеченное в духовке, с пюре из тыквы сортов «желудь». Полутвердые и твердые сыры с сильными ароматами, такие как стилтон, эпуас, горгонзола, выдержанная гауда, четырехлетний вермонтский чеддер.
Ягоды подсушивают от трех до четырех месяцев, чтобы достичь концентрированного вкуса. Но этот традиционный метод дает бактериям шанс поселиться в ягодах, что проявляется в переменчивой кислотности вина. Новые, тщательно контролируемые способы сушки позволяют уменьшить влияние бактерий.
Большинство исследователей вина сходятся во мнении, что однажды недавно разлитое в бутылки вино прошло вторую ферментацию, вызвавшую его незапланированное насыщение углекислым газом, а в итоге получилось то, что теперь нам известно как шампанское. Вторая грандиозная винная ошибка произошла в Вальполичелле, в Италии, когда виноделы хотели сделать сладкое вино из подсушенного винограда, а получили амароне. Похоже, они позволили суслу бродить слишком долго, в итоге дрожжи переработали весь сахар и получилось сухое вино с необычно высоким содержанием алкоголя.
Амароне делла Вальполичелла (именно так звучит его полное название) должно производиться в Вальполичелле, к северу от Вероны. Это холмистый регион у подножия Доломитовых Альп около 32 км в ширину. Зона Вальполичелла Классико расположена к северо-западу от Вероны, а Вальполичелла – к северо-востоку. Склоны и климатические условия этих зон похожи, но винодельческие технологии на протяжении веков отличались друг от друга. Подход к сбору урожая тем не менее здесь одинаковый. Виноград для амароне собирают в разное время из-за отличающихся сроков созревания в основном вручную, многократно проходя ряды виноградника в течение нескольких недель. Основой является корвина, которая составляет 45–95% итогового бленда. Рондинелла может присутствовать в количестве 5–30%, и разрешено не более 25% других красных сортов. Для производства амароне на одну бутылку вина требуется около 10 кг винограда, тогда как для обычного вина – не более килограмма. Теперь вы понимаете, почему амароне стоит так дорого, но оно того действительно стоит.
Фото: © Роман Суслов
Процесс производства амароне напоминает производство сладких вин, например пассито. Вместо того чтобы сразу отправить виноград в гребнеотделитель и дробилку, его целыми гроздьями выкладывают на соломенные маты или деревянные полки на чердаках или в сараях с хорошим доступом воздуха, где гроздья сохнут в течение трех-четырех месяцев. Этот процесс называется appassimento и в основном происходит в амбарах. Но некоторые виноделы делают это в современных, контролируемых помещениях под искусственно создаваемым потоком теплого воздуха, чтобы предотвратить возможный ущерб от дождя или высокой влажности, которые могут уничтожить виноград. Такая технология позволяет им не беспокоиться следующие четыре месяца.
DOC Амароне делла Вальполичелла устанавливает сроки процесса подсушивания, также оговаривается, что подсушенные ягоды не могут быть отделены от гребней и перемолоты до января года, следующего за годом урожая. В особенно жаркие годы делают исключение и разрешают начать процесс переработки с 15 декабря, чтобы сохранить свежие ягодные характеристики вина. Недавно виноделам удалось подвинуть дату начала обработки винограда на 1 декабря в связи с меняющимися климатическими условиями.
Фото: © Роман Суслов
Для нас важно то, что с современными технологиями и более ранними сроками обработки винограда виноделы смогут производить более современные, свежие, яркие и ягодные вина. А виноделы, которые придерживаются традиционных технологий, продолжат производить вина с шелковым букетом сушеных ягод. Попробуйте оба стиля и выберите тот, что вам ближе. Также имейте в виду, что уровень алкоголя в большинстве амароне находится между 15 и 16,5%, а у некоторых достигает 17%.
Фото на обложке: © Роман Суслов.
Российское агентство Amarena Group объявило о несуществующем рекламном партнерстве с Twitter
Во вторник, 8 июля в редакцию ЦП поступил пресс-релиз агентства Amarena Group, в котором утверждалось, что компания начала «прямые продажи» рекламы в Twitter российским клиентам. Первыми российскими рекламодателями были названы ТКС-Банк, «Билайн», Lamoda и re:Store. Редакция ЦП обратилась за комментариями к представителям сервиса микроблогов, но они опровергли информацию о сотрудничестве с агентством.
Основанная 2009 году американским инвестиционным фондом GlobalWay Technologies компания Amarena Group является медиаселлинговым агентством и специализируется на продаже рекламы на крупных онлайн-площадках. В том числе организация, офисы которой расположены в Лондоне и Москве, сотрудничала с BBC и Facebook. В пресс-релизе агентство сообщало, что начало продажи рекламы в Twitter. В тексте были перечислены и первые крупные рекламодатели из нашей страны:
На российском рынке Amarena Group будет продавать как охватные продукты Twitter для ТОП-брендов и ведущих рекламных агентств, так и решения для e-commerce. Разнообразием маркетинговых продуктов обусловлен список первых рекламодателей, которыми стали «Билайн», LaModa, банк «Тинькофф Кредитные Системы» и розничная сеть re:Store.
В тексте релиза также содержались ссылки на данные comScore и самой американской компании, согласно которым в 2013 года Twitter в России вырос на 48%, а его аудитория в стране составляет 12 млн. человек в месяц (доля мобильных пользователей превышает 80%).
Генеральный директор Amarena Group в России Наталья Мороз сообщила, что сотрудничество с Twitter является частью долгосрочной стратегии компании, которая заключается в «предоставлении российским рекламодателям доступ к маркетинговым решениям лучших международных медиа». Кроме того, она предоставила презентацию с описанием услуги по продаже рекламы в сервисе микроблогов.
Скриншот слайда презентации Amarena Group
ЦП обратился за комментариям к официальному представителю Twitter в России Алексею Шелестенко:
Алексей Шелестенкоофициальный представитель Twitter в России
Я не могу комментировать посторонний пресс-релиз. Мы такие новости обычно сообщаем сами, но от нас пресс-релизов не было.
После этого редакция ЦП направила запрос в пресс-службу головного офиса Twitter в США, получив следующий ответ:
Данное сообщение является неверным. У нас нет никакого официального партнерства с Amarena Group.
Тем не менее, это не помешало некоторым российским онлайн-СМИ объявить о начале сотрудничества Twitter и Amarena Group. Например, заметки об этом появились на ресурсе Sostav.ru и сайте телеканала «Дождь».
Генеральный директор Amarena Group в России Наталья Мороз так прокомментировала заявление пресс-службы Twitter и описала схему работы с сервисом микроблогов:
Наталья Морозгенеральный директор Amarena Group в России
Кто именно в Twitter ответил вам, что не в курсе сотрудничества? С нашей стороны контактом является Sebastien Raballand. Я с ним лично говорила на этой неделе, у него также есть копия нашего пресс-релиза. Может быть, вам стоит у него уточнить, так как в Twitter, насколько я знаю, есть три разные группы работающие с разными клиентами. Относительно схемы работы — под единым торговым названием Amarena Group работают 6 компаний по всему миру, входящих в группу, и имеющих разные названия. Работа с Twitter финансово завязана на лондонский офис.
Редакция ЦП направила запрос упомянутому сотруднику соцсети через Twitter, но пока не получила ответа.
Упомянутые в пресс-релизе российские рекламодатели также рассказали о получении возможности покупки рекламы в Twitter. В пресс-службе компании re:Store заявили о том, что только планируют сотрудничество с Amarena Group:
Amarena Group только объявила о сотрудничестве с Twitter, а это значит, что они только начинают работать. re:Store планирует сотрудничество с Amarena Group — договор сейчас находится на стадии подписания.
Представители ТКС-Банка полностью подтвердили все написанное в тексте пресс-релиза, уточнив, что первая рекламная кампания для Twitter находится в разработке, а PR-директор Lamoda Яна Басаранович сообщила о проведении тестового рекламного размещения в сервисе микроблогов:
Яна БасарановичPR-директор Lamoda.ru
С агентством Amarena Group мы сотрудничаем по различным проектам, в том числе рекламным размещениям. В настоящий момент мы проводим тест по размещению в Twitter. В данном случае это именно тестирование, поэтому пока мы не можем прокомментировать ни детали, ни успехи. Нам всегда интересно тестировать инновационные продукты, которые появляются на рынке.
Редакция ЦП попросила представителей ТКС-Банка и Lamoda предоставить скриншоты рекламных публикаций компаний в Twitter, однако на момент написания заметки не получила данные материалы.
SMM-директор агентства Pichesky Михаил Казаков прокомментировал ЦП принятую на рынке схему покупки рекламы в Twitter для российских рекламодателей. По его словам, на рынке сложилась ситуация, при которой рекламодатели размещали рекламу в сервисе микроблогов с помощью международных компаний, теперь, по мнению эксперта, их роль на себя возьмет Amarena Group:
Михаил КазаковSMM-директор Pichesky
Не вижу ничего сверхъестественного в размещении рекламы в Twitter без прямых отношений с ним. Любое агентство может это делать через любого своего глобального партнера. Мы таким образом закупаем promoted tweets и promoted trends для ряда клиентов, обходя ограничение Twitter на работу с российскими компаниями.
Российские бренды, к слову, и ранее закупали Twitter Ads таким образом (например Samsung). И никто не испытывал проблем или рисков связанных с посредничеством. Поэтому, если вы не готовы содержать американскую дочку ради нескольких тысяч долларов медийного бюджета, то небольшая комиссия Amarena вам вполне подойдет как бизнес-решение.
Amarena
БРОНИРОВАНИЕ СТОЛОВ
Дата и время посещения 2 марта 2020, понедельник, 13:10
Amarena, или амарена, – это вишня, которую выращивают в итальянских городах Болонья и Модена и обычно продают как консервы со сладким сиропом. В Москве же Amarena – это еще и название ресторана итальянской кухни от Albero Group, который занял место на первом этаже большого жилого комплекса на Ходынском бульваре. Если руководствоваться только адресом, то сразу найти данное заведение сложно. За узорными стенами фасада большого жилого комплекса расположено немало точек общественного питания, и каждая со своей не самой приметной вывеской. Лично мне пришлось обойти полздания, прежде чем я обнаружил стеклянную дверь и подсвеченный кругляшок с нужным логотипом.
Интерьер и атмосфера
ВЗЯТО НА ПРОБУ ПО МЕНЮ
Наценка на воду x2,4 (165₽ в магазине «МосНапитки»)
Салат «Цезарь с теплой курицей» (460 руб.) – набор из свежих, не завядших салатных листьев, сырной крошки, помидорных долек, приятного легкого соуса с оттенками анчоусов и ломтиков курицы, которая была то теплая, то холодильно-морозная, будто куски набирались из разных лотков. Приготовили бы курицу под заказ – было бы вкусно, а так – съедобно.
«Вителло Тоннато» (550 руб.) – бежевая шайба на синеватой тарелке. Все компоненты качественные. Мясные пласты розовые, мягкие, сочные. Соус тунцовый, густой, аппетитный. Но подача не самая удачная. Слои мяса и соуса оказались слишком толстыми и потому при поедании очень быстро превратились в кашу. Недочет скорее эстетический, но немаловажный.
«Пицца Маргарита» (440 руб.) – добротный итальянский круг из тонкого теста со сладковатым помидорным соусом и аппетитными сырными пятнами вместо резинового плотного пласта.
Паста «Карбонара Italiano» (600 руб.), как и обещал официант, прибыла без сливок. Спагетти сварили правильно. Сыра в меру. Соус с желтком и перцем. Бекон сочный и без лишней жирной тяжести. Специи в норме. Зачет по всем статьям.
«Белый бургер с соусом из корнишонов» (в меню 600 руб.) отметился удобным «ручным» размером и правильным соотношением хлеба и мяса. Но вид и вкус печалили. Булка покупная, бледная, сухая. Котлета пузатая, но ужаренная до горькой черноты. Соус слишком майонезный. Сыр вялый. Дополнительные ингредиенты обычные. Более того, из-за своей жесткости котлета постоянно соскальзывала в сторону, так что ее пришлось есть ножом и вилкой – впрочем, и есть-то особо не хотелось. (После беседы с персоналом блюдо из счета удалилось.)
Отбивная «Миланезе» (в меню 800 руб.) – еще одна ошибка кухни. Внутри свинина, но об этом в меню молчок. Котлета тонкая, сухая, пережаренная до безвкусного состояния уныния. Мясного вкуса нет. Панировка замасленная. В центре дырки. Кстати, отбивную, как и бургер, после общения с официантом из счета убрали.
«Стейк стриплойн» (1700 руб.) внешне румяный, но местами почему-то вздутый. При надрезе также стало ясно, что прожарку упустили и вместо Medium выдали смесь Medium Well и Well Done. Стейк был сухой, жевался с трудом и не имел никакого мясного вкуса. Но самая большая непонятность заключалась в том, что из мясных волокон исходил не красный, а белый сок, причем очень похожий на воду.
«Картофель по-деревенски» (150 руб.) был вкусный, мягкий, с корочкой, без сухости и как гарнир удачно дополнял даже не стейк, а слегка пряный сливочный Перечный соус» за 150 руб. (хотя в меню 100 руб.).
«Кальмары алла Романо» (950 руб.) – лучшее блюдо обеда. Кальмары мягкие, аппетитные. Соус немного сливочный, с легким помидорным оттенком, правильными специями и мягкими полосками цукини. Без нареканий.
Десерт, увы, вновь утянул впечатление в негативную зону. «Тирамису» (400 руб.) выглядел достаточно аппетитно, но вкус у крема был какой-то пустой, а в бисквитные прослойки пробрались сухость и лишь самая малость кофейного вкуса.
Сервис
Еда: 3/5
Сервис: 4/5
Атмосфера: 4/5
Интерьер: 4/5
Общий балл: 3,2
Amarena – это базовая траттория, работающая в основном на местную публику в круглосуточном формате. Интерьер спокойный и располагающий к семейным посиделкам. Меню понятное, итальянское. Обслуживание похвально заботливое. Но еда пока еще требует доработки. Если пицца и паста достойны внимания, то мясные позиции страдают от ошибок кухни и невнимательности.
Амарена или Шардоне? – Первая модель машинного обучения
Есть ли у вас такой друг, который иногда снимает пиджак, протягивает его вам и говорит: “Пока-пока, что происходит!”? Да. Все заканчивается по-другому. Иногда смешные, иногда замечательные, иногда на скорую руку. Это что-то вроде модели машинного обучения, только другое…
В предыдущем эпизоде, где речь шла больше о теории, я анонсировал более практический пост, который покажет, как начать работу с машинным обучением. Только через 7 месяцев я могу с гордостью сказать: “Вот он я”. Здесь, пожалуйста, обратите внимание, что мне понадобилось всего 7 месяцев, в то время как, например, Джордж Р.Р. Мартин писал “Песнь льда и пламени” пять лет. Также вы можете увидеть, насколько я вынослив!
Прочитав эту заметку, которая повторяет шаги, представленные в предыдущей заметке, вы узнаете, как на практике обучить модель машинного обучения. На самом деле, вы не только будете учиться, но и обучать модель машинного обучения!
Окружающая среда
Язык – Python
Python – довольно забавный язык для чтения. Если в прошлом вы имели дело с любым другим языком программирования, вы легко сможете понять представленный здесь код.
IDE – Jupyter Notebook
Чтобы избежать хлопот с подготовкой всей среды, мы воспользуемся самым быстрым и простым решением.
В мире машинного обучения очень широко используются блокноты Jupyter Notebook. Если вы еще не знаете, что это такое, загляните в Jupyter Notebook QuickStart. Блокнот будет нашим основным инструментом, используемым для “игры” с кодом.
Окружающая среда – Google Colab
Как я уже говорил, чтобы не настраивать все самостоятельно, мы будем использовать Google Colab – бесплатную платформу, которая позволяет работать с Python в блокнотах и запускать код. Python – интерпретируемый язык, поэтому мы можем запускать отдельные ячейки кода независимо друг от друга. Более того, в Google Colab у нас есть доступ к графической карте (GPU), что может ускорить процесс в X раз при обучении моделей.
Анализ данных Pandas
Для добычи данных мы будем использовать библиотеку Pandas. Pandas – это хорошо известный в сообществе data science инструмент, позволяющий быстро и гибко манипулировать наборами данных.
Создание модели – FAST.AI
Мы создадим модель машинного обучения с помощью библиотеки fast.ai. Fast.ai делает процесс обучения моделей очень простым и с очень хорошими результатами.
Это наша первая модель, поэтому давайте начнем как можно проще. Давайте следовать духу, который пропагандирует Джереми Ховард – один из создателей библиотеки Fast.AI
Определение проблемы и сбор данных
С чего лучше всего начать? Давайте обучим модель машинного обучения для решения проблемы. Что за проблема?
Давайте определим проблему
Предположим, мы химики-алкоголики. Или нет. Наш друг, Вася, химик-алкоголик. Вернись! Знаток вина. Он хотел бы попробовать свои силы в любительском виноделии. Поскольку Вася – химик, он может измерить ряд параметров производимого им напитка. Более того, как знаток, он может отнести вино к одному из трех классов. Пока мы не уточняем, какие это классы. Мы предполагаем, что наш коллега знает, что делает.
Мы хотели бы избавить Васю от необходимости “пробовать” каждое вино, которое он делает. Поэтому мы построим модель машинного обучения, которая, основываясь на химических данных, отнесет вино к одному из 3 классов. Таким образом, вина будут распределены по категориям, и Вася будет в большей безопасности.
Где мы получаем данные?
Наш коллега также является уважаемым ученым, поэтому его работа была опубликована на сайте Калифорнийского университета в Ирвайне (UCI). По крайней мере, он так утверждает. Оттуда мы их и загрузим.
Отвлекусь: страницу репозитория UCI Machine Learning Repository стоит добавить в закладки – она содержит множество различных наборов данных, которые можно использовать для обучения, тестирования, попыток. Рекомендую, наслаждайтесь!
Какую проблему мы решаем. Классификация? Регрессия? Кластеризация?
Фактически, мы ответили на этот вопрос, правильно определив проблему. Мы хотим отнести каждое вино, произведенное и изученное Васей, к одному из трех классов: 1, 2 или 3 (пока неважно, что они означают – доверьтесь Васе).
Здесь мы имеем дело с проблемой (помимо алкоголизма коллеги, конечно) многоклассовой классификации (multiclass classification).
Если посмотреть на вышеизложенное, то модель машинного обучения, которую мы хотим создать, это… Да, именно, классификатор!
Выбранная нами метрика должна соответствовать обозначенной нами проблеме.
Мы относим вино к одному из 3 классов. В случае такой задачи мы можем использовать, например, эффективность (точность). Мы проверяем, сколько вин мы правильно присвоили классу. На данный момент нам будет достаточно этой простой метрики.
Эффективность – это та метрика, которую мы будем оптимизировать – мы постараемся сделать ее как можно более высокой. В проекте машинного обучения можно также задать “удовлетворительные” метрики, то есть метрики, которые нам нужно удовлетворить, но они не являются целью оптимизации. Примером может быть:
Все, что нам нужно, – это достичь заданных результатов, а из всех моделей, которые им соответствуют, мы выбираем ту, у которой самая высокая метрика, которую мы оптимизируем.
Это всего лишь примеры. В нашем случае мы боремся только за эффективность. Давайте сражаться! Давайте посмотрим на данные.
Качество и количество данных – от этого зависит, насколько качественная модель может быть создана
Когда мы смотрим на файл данных, мы видим, что у нас 178 образцов. Скажем так, именно столько нам удалось собрать, пока наш коллега-химик не сказал, что с него хватит.
А как насчет их качества? Пока что у нас есть данные Шредингера. Позволят ли они нам обучить модель?
Подготовка, очистка данных
В документации мы можем прочитать, что эта коллекция содержит следующую информацию о каждом вине:
Мэтью, я доверяю тебе. Итак, давайте посмотрим на данные.
Теперь мы можем использовать Pandas. Как загрузить данные из файла CSV в Pandas? Более конкретно, как загрузить данные из файла CSV в DataFrame, структуру, которую мы используем в Pandas для табличных данных? Ну, с помощью метода read_csv(), которому мы передадим путь к файлу и одновременно сообщим, что первая строка не содержит заголовка, следовательно, имена столбцов должны быть взяты из переменной attributes.
Анализ данных
Мы должны детально, глубоко и тщательно изучить данные, которые будем использовать для создания модели машинного обучения. Какие вопросы мы можем задать себе?
Сбалансированы ли данные?
Как мы это узнаем? Нам нужно подсчитать, сколько образцов у нас есть для каждого класса. В Pandas для этого мы можем использовать метод value_counts() для столбца категорий. Эта функция подсчитывает количество вхождений каждого уникального значения в столбец.
Если закрыть на это глаза, то можно сказать, что классы достаточно сбалансированы. Особенно после долгих обсуждений с Васей. Что дальше?
Нормализация?
Давайте начнем с честного ответа: что такое нормализация данных?
Нормализация данных обычно означает масштабирование значений таким образом, чтобы они находились в интервале [0, 1].
Как и в жизни – есть положительные плюсы и отрицательные плюсы. При нормализации мы оперируем положительными значениями той же шкалы, но теряем информацию о выбросах.
В библиотеке fast.ai эта операция очень проста. Просто добавьте импортированный метод Normalize в список методов, используемых в препроцессинге. В нашем случае это выглядит следующим образом:
Действительно ли нам нужно точное значение в столбце, или мы можем сгруппировать данные каким-либо образом?
Если бы у нас были данные о компаниях, можно было бы создать столбец “Местонахождение”, в котором были бы географические координаты штаб-квартиры этой компании. Нужны ли нам точные координаты для обучения модели? Возможно, но мы можем заменить этот столбец столбцами county, city, district.
В нашем случае мы имеем дело со значениями измерений. Как правило, это непрерывные величины. На этот раз оставим столбцы такими, какие они есть. Как гласит старая индийская пословица:
Если работает, не трогай.
Есть ли у нас вообще все необходимые функции? Достаточно ли того, что у нас есть, или нам нужен более широкий контекст?
На данный момент мы не можем получить больше возможностей от нашего коллеги (у него есть более важные дела), поэтому мы продолжаем работать с тем, что у нас есть, надеясь, что этого будет достаточно.
Разбивка на комплекты
Мы чисты. На самом деле, наши данные чисты. Очищено в меру наших сил и знаний. Теперь настало время для следующего шага. Давайте разделим наш набор данных на подмножества:
Мы будем использовать первые для обучения модели, а вторые – для проверки ее эффективности.
Нам нужно проверить модель на данных, которые мы не использовали для обучения.
Почему мы не разделяем валидационный и тестовый наборы? У нас очень мало данных – 178 образцов. При таких небольших данных разбиение набора на 3 подмножества еще больше ограничило бы количество данных для обучения. Кроме того – мы просто практикуем 😉 Более подробный ответ вы можете прочитать здесь и здесь.
Отступление: В случае небольших данных можно использовать технику перекрестной валидации. Пока, однако, давайте останемся с классическим разделением.
Давайте вернемся на наш задний двор. В fast.ai для метода обучения мы задаем список индексов строк, которые должны быть в валидационном множестве. Давайте подготовим такой список! В нашем случае пусть это будет 25% от всего набора данных.
Выбор модели
У нас есть данные! Наступает прекрасный момент, когда мы можем заняться машинным обучением, а не какими-то NaN, пустыми строками и отсутствующими столбцами. Так давайте научим модель! Но какой?
Как я уже упоминал в предыдущем посте, существует множество различных моделей, придуманных умными людьми.
В библиотеке fast.ai разработчики сделали акцент на том, чтобы сделать модели как можно более простыми. В настоящее время на вершине находятся нейронные сети, поэтому они сделали реализации популярных сетей, готовые к использованию и обучению.
В этом случае нам даже не нужно напряженно думать о том, какую сеть использовать. Мы создаем объект Learner и обучаем его. Для “табличных” данных, как в нашем случае, подойдет TabularModel. Чтобы сделать это еще проще, мы будем использовать метод tabular_learner(), который автоматически создаст для нас TabularModel.
Обучающему устройству мы передаем наши данные, количество нейронов в каждом слое сети (пока что мы не углубляемся, идем на параметрах “по умолчанию”) и выбранную метрику, которая в процессе обучения будет отслеживаться.
В коде это выглядит следующим образом:
Обучение
У нас есть данные. Сплит. Убрано.
Мы выбрали метрику.
Теперь пришло время тренироваться! В fast.ai эта операция довольно проста и требует от нас выполнения одного метода объекта Learner: fit_one_cycle().
Из гиперпараметров, которые мы предоставляем на этом этапе, мы имеем
В общем, задайте количество циклов (я начну с 1), установите скорость обучения 1e-2 и тренируйтесь!
И БАХ! Точность составляет 0,9772!
Оценка
В принципе, на предыдущем этапе мы уже получили результат оценки на валидационном множестве. Но что, если мы хотим проверить показатели нашей модели машинного обучения на другом наборе данных?
И снова разработчики fast.ai делают нашу жизнь настолько простой, насколько это возможно. Хотите провести валидацию? Вот так, у вас есть метод validate(). С этим покончено, настало время для CS.
Оптимизация гиперпараметров
Если вы не помните, что такое гиперпараметры в процессе обучения модели машинного обучения, то загляните в предыдущий пост – там вы найдете краткое объяснение.
Одним из гиперпараметров, которые мы используем при обучении, является скорость обучения. Как его установить? Вы должны посмотреть на кривые обучения и, основываясь на опыте предыдущих экспериментов, установить их.
Ну, но у нас нет опыта. У нас тоже нет предыдущих экспериментов…
Определение скорости обучения
Было бы неплохо иметь инструмент, который может предложить такую скорость обучения. Мы можем использовать метод поиска скорости обучения – который с помощью коротких экспериментов позволяет нам выбрать скорость обучения для данного случая. В fast.ai мы имеем готовую, “однострочную” реализацию.
Другие гиперпараметры также могут быть “перебраны”. У нас есть такие методы, как поиск по сетке или случайный поиск. Существуют готовые библиотеки, поддерживающие процесс поиска гиперпараметров, например Optuna или Hyperopt. Но мы поговорим об этом подробнее в какой-то момент, потому что это то, за что нужно сесть.
DOD – когда наша модель достаточно хороша
В академических кругах я часто слышал, что ответ на большинство вопросов таков: это зависит от обстоятельств.
Когда наша модель машинного обучения достаточно хороша? Это зависит от…
В начале нашего приключения мы выбрали метрику. В нашем случае это была эффективность (точность). Но какое значение метрики будет удовлетворительным?
Известно, что чем выше, тем лучше. Но вероятность того, что мы достигнем 100%, невелика.
Хотя однажды мне удалось это сделать – тренировка прошла отлично, метрики поднялись до потолка. Я был взволнован, как фонарь на реву. На какое-то время… Конечно, оказалось, что я совершил ошибку и был обманут где-то по пути…..
Возвращаясь назад, в нашем случае мы можем предположить, что когда мы достигнем 90% эффективности, это будет замечательно.
И вот так мы крутим параметры и тренируемся для достижения поставленной цели. А-а-а, машинное обучение….
Получилось ли у нас?
В нашем случае, однако, мы получили очень хорошие результаты с первого выстрела. Вы можете праздновать! У Васи наверняка есть бутылка для такого особого случая.
Предсказания
Как только мы получили модель машинного обучения, которая достигла предполагаемой производительности, пришло время использовать ее в работе. Мы будем использовать нашу модель для выдачи предсказаний миру. Это называется выводом, или запросом к обученной модели для прогнозирования на новых данных.
Здесь небольшое замечание – бывает, что модель для вывода модифицируется по сравнению с той, которая использовалась при обучении. Для оптимизации модели, приведения прогнозов в соответствие с требованиями бизнеса и т.д. используются различные приемы. Об этом мы поговорим как-нибудь потом, а пока…
Использование данных для ответа на вопросы
Вам, вероятно, интересно, как попросить обученную модель машинного обучения сделать прогноз для некоторого набора данных?
В fast.ai это очень просто и требует от вас использования метода get_preds() объекта learner. В такой метод мы передаем набор данных, для которых хотим получить предсказания. И это все!
В дополнение к предсказанным классам мы получаем “вероятность”, с которой модель утверждает, что данный образец принадлежит к данному классу. Это не вероятность в классическом, статистическом смысле, но, вероятно, в польском языке нет лучшего слова для описания этих значений.
Таким образом, мы помогли Васе превратить его хобби в бизнес. Отныне ему не придется дегустировать каждое вино, он просто будет время от времени вручную маркировать несколько бутылок, чтобы через некоторое время проверить модель на основе таких подготовленных данных. Ведь ингредиенты, из которых он делает вино, могут меняться. Приборы могут выйти из строя. Мы можем столкнуться с так называемым дрейфом концепции.
Поэтому помните, что стоит отслеживать показатели модели с течением времени. Для этого нужны данные, описанные человеком, но об этом стоит позаботиться.