@just_data_science July 24, 2018
Случайный лес (Random Forest, дальше просто RF) - это один из самых мощных алгоритмов, которым быстро обучается даже начинающий Data Scientist. С помощью RF которым можно щёлкать как орехи почти любые задачи построения предсказательных моделей. То есть - брать набор старых данных (например, как менялись цены на бензин последние годы) и выдавать ответ, что будет в будущем (ответ подскажу сразу и без Data Science: вырастут).
Ок, закрываю ГуглМэпс
Если вы еще не читали на канале статьи про деревья решений - значит пришла пора. Первая для затравки, вторая - наглядный примерчик. Надеюсь, прочитали, а не просто ткнули в ссылку? Молодцы, можно идти дальше :)
Во второй статье показано, как компьютер может сам составить модель предсказания, в каком городе находится продаваемая недвижимость. Берутся некоторые параметры недвижки, и на их основе строится некое дерево решений. Получается модель, предсказывающая с некоторой точностью.
Повторили про деревья, дальше что?
Требуется еще немного предварительных объяснений.
Что, если попробовать построить другое дерево, взяв за основу другие параметры? Или другие значения параметров, при которых дерево ответвляет решение? Получится совсем другое дерево, тоже дающее некоторую точность.
Таких деревьев решений можно понасоздавать очень много. Как? Просто от фонаря (вот буквально - случайным образом) подбирать признаки, по которым строим модель и значения, при которых ответвляем решение. И у каждого такого дерева будет некоторая точность, как правило - от совсем плохонькой до терпимой.
А лес то когда покажешь?
А теперь - фокус-покус. Прогоняем данные через каждое из этих созданных случайным образом деревьев. А потом берем все их ответы. И выдаем наиболее частый ответ в качестве их совместного решения. И, внезапно, оказывается, что точность такого подхода - часто намного лучше, чем у одиночного дерева.
Вот этот вот метод в целом и называется - Случайный Лес. Более научное определение:
Случайный лес (Random Forest) - алгоритм машинного обучения, заключающийся в использовании комитета (ансамбля) решающих деревьев.
Что-то как то всё подозрительно просто
Да, учитывая, что все делается компьютером, а роль data scientist'а - правильно подготовить набор данных и задать некоторые технические настройки. Скормил программе данные, прописал несколько параметров, и запустил обсчёт деревьев. Машина что-то там генерирует, счётчик рабочих часов тикает, а сам чай пьешь (или что покрепче). И не прикопаться - компьютер нагружен, работать невозможно. Уже чувствуете романтику работы Data Scientist'ом?)
Конечно, в этой статье рассказаны далеко не все нюансы, так что ждите вторую часть ;)