Представьте себе, что вы должны были купить автомобиль, ОК просто пойти в магазин и купить первый, что вы видите? Нет, не так ли? Вы по большей части консультируете почти всех окружающих вас людей, принимаете их заключение, добавляете к нему свое исследование и после этого идите за окончательным заключением. Мы должны принять менее сложную ситуацию: в какой бы точке земного шара вы ни пошли за кинокартиной, вы обращаетесь к вашим спутникам за исследованиями о кинокартине (за исключением тех случаев, когда, за пределами базы, на экране появляется звезда одного из ваших любимых персонажей)?

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

Другая модель, которую, я уверен, мы все испытали, это во время встреч в любой организации или школе. Нам часто приходится проходить различные раунды встреч. Несмотря на то, что запросы, задаваемые на различных раундах встреч, сравнительны, если не одинаковы – организации все равно ставят все на кон. Объясняется это тем, что им нужно иметь возможность увидеться с различными пионерами вербовки. На случай, если многочисленные пионеры сосредоточат свое внимание на перспективной девушке, вероятность того, что она получит достойный контракт, на тот момент высока.

В мире аналитики и информатики это называется “ансамблем”. Ансамблирование – это “вид контролируемой методики обучения, при которой несколько моделей обучаются на наборе учебных данных, а их отдельные результаты объединяются по какому-то правилу для получения конечного результата”.

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

В момент, когда мы указываем различные модели, подготовленные на наборе данных, одна и та же модель с различными гиперпараметрами или различные модели могут быть подготовлены на наборе данных подготовки. Представления о подготовке могут несколько отличаться во время проверки; как бы то ни было, в общем и целом, население продолжает, как и прежде.

“Выходы объединяются по какому-то правилу” – может быть несколько правил, по которым выходы объединяются. Наиболее общепризнанными из них являются нормальные (в отношении числовой отдачи) или избирательные (в отношении четкой отдачи). Когда различные модели дают нам численную выходную мощность, мы можем просто взять среднее значение всех выходов и использовать в качестве результата среднее. Если должен произойти четкий результат, мы можем использовать голосование – результат, происходящий наибольшее количество раз, является последним результатом. Существуют и другие сложные стратегии для определения при выходе, но они выходят за рамки данной статьи.

Random Forest – это один из таких невероятных ансамблевых вычислений ИИ, который работает, делая различные деревья выбора и затем консолидируя урожайность, создаваемую каждым из деревьев принятия решений. Дерево выбора представляет собой аранжировочную модель, которая работает над идеей получения данных в каждом узле. Для каждого концентратора информации дерево принятия решений будет пытаться охарактеризовать информацию, сосредоточенную на каждом из концентраторов, и проверять на предмет получения данных в каждом концентраторе. В этой точке он будет располагаться в том порядке на концентраторе, где рост данных наиболее велик. Он будет следовать этой процедуре до тех пор, пока каждый из концентраторов не исчерпает себя, или пока не произойдет дополнительное увеличение данных. Деревья принятия решений являются исключительно базовыми и простыми моделями; тем не менее, они имеют низкую способность предвидения. По правде говоря, их называют слабыми учениками.

Произвольные Бэквуды стреляют в эквивалентных слабых студентов. Он присоединяется к урожаю различных сортов деревьев, а затем, наконец, придумывает свой собственный урожай. Произвольные леса имеют дело с таким же руководством, как и Тревога Решений; в любом случае, он не выбирает каждый из информационных фокусов и факторов в каждом из деревьев. Он бессистемно тестирует фокус информации и факторы в каждом из деревьев, которые он производит, и после этого объединяет выходную информацию в конечный результат. Он исключает предрасположенность, которую модель дерева выбора может представлять в рамках. Точно так же она улучшает способность предвидения в целом. Мы увидим это в следующей области, когда возьмем пример сбора информации и подумаем о точности произвольного леса и дерева принятия решений.

В настоящее время мы должны провести небольшой контекстный анализ и попытаться выполнить различные иррегулярные модели леса с различными гиперпараметрами, а также проанализировать одну из моделей произвольного леса с моделью дерева решений. (Я уверен, что вы согласитесь со мной в этом – даже не актуализируя модель, мы можем инстинктивно сказать, что Нерегулярные леса дают нам более предпочтительные результаты, чем Choice Tree). Набор данных взят с сайта UCI и может быть найден по этой ссылке. Информация содержит 7 факторов – шесть логических (Purchasing Value, Support, NumDoors, NumPersons, BootSpace, Wellbeing) и одна переменная реакции (Condition). Факторы понятны как кристаллические и напоминают о качестве транспортных средств, а переменной реакции является “Достоинство транспортных средств”. Каждый из этих факторов имеет свою природу и по 3-4 уровня.

Начнем реализацию кода R и спрогнозируем приемлемость автомобиля на основе объясняющих переменных.

1 2 3 4 # Источник данных: https://archive.ics.uci.edu/ml/machine-learning-databases/car/   install.packages(“randomForest”) библиотека(randomForest)
1 2 3 4 5 6 7 8 # Загрузите набор данных и исследуйте data1 <- read.csv(file.choose(), header = TRUE)   начальник(данные1)   str(data1)   резюме (данные1)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 > головка(data1)   ПокупкаЦенаты Техническое обслуживание NumDoors NumPerson BootSpace Безопасность в космосе Условия безопасности 2 2 маленьких низких безымянных 2 вуаля 2 2 маленькое лекарство без сознания 2 2 маленьких высоких безымянных 4 высота высота высота 2 2 мед. низкая безымянный 2 2 медика без сознания 6 Вхххххххх 2 2 мед. высоты безымянный > str(data1) data.frame: 1728 obs. из 7 переменных:  $ BuyingPrice: Коэффициент в/ 4 уровня “высокий”, “низкий”, “мед”,…: 4 4 4 4 4 4 4 4 4 …  $ Обслуживание: Коэффициент w/ 4 уровня “высокий”, “низкий”, “мед”, …: 4 4 4 4 4 4 4 4 4 …  $ Двери: Коэффициент w/ 4 уровня “2”, “3”, “4”, “5”: 1 1 1 1 1 1 1 1 1 1 …  $ NumPersons : Фактор ж/д 3 уровня “2”, “4”, “больше”: 1 1 1 1 1 1 1 1 1 2 …  $ BootSpace : Коэффициент w/ 3 уровня “большой”, “средний”, “маленький”: 3 3 3 2 2 2 1 1 1 3 …  $ Безопасность: Коэффициент w/ 3 уровня “высокий”, “низкий”, “мед”: 2 3 1 2 3 1 2 3 1 2 …  Состояние: Коэффициент w/ 4 уровня “acc”, “good”, “unacc”,…: 3 3 3 3 3 3 3 3 … > резюме(data1)  ПокупкаЦенаты Техническое обслуживание NumDoors NumPerson BootSpace Безопасность в космосе Условия безопасности    высокий :432 высокий :432 2 :432 2 :576 большой :576 высокий:576 acc: 384   низкий :432 низкий :432 3 :432 4 :576 мед :576 низкий :576 хороший : 69   медь :432 медь :432 4 :432 больше :576 меньше :576 меньше :576 меньше :576 нет :1210   Вхххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх….. 

Теперь разделим набор данных на поезд и валидацию, установленную в соотношении 70:30. Мы также можем создать тестовый набор данных, но пока мы просто будем хранить набор данных для поезда и набор данных для проверки.

1 2 3 4 5 6 7 8 # Разделитесь на наборы для поезда и валидации. # Комплект для тренировки: Комплект для проверки = 70 : 30 (случайный) сэт.семя(100) поезд <- sample(nrow(data1), 0.7*nrow(data1), replace = FALSE) TrainSet <- data1[поезд,] ValidSet <- data1[-train,] сводка(TrainSet) сводка(ValidSet)
1 2 3 4 5 6 7 8 9 10 11 12 > резюме(TrainSet)  ПокупкаЦенаты Техническое обслуживание NumDoors NumPerson BootSpace Безопасность в космосе Условия безопасности   высокий :313 высокий :287 2 :305 2 :406 большой :416 высокий:396 acc :264   низкий :292 низкий :317 3 :300 4 :399 мед :383 низкий :412 хороший : 52   медь :305 медь :303 4 :295 больше :404 маленький :410 медь :401 несск:856   Вхххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх 37  > резюме(ValidSet)  ПокупкаЦенаты Техническое обслуживание NumDoors NumPerson BootSpace Безопасность в космосе Условия безопасности   высокий :119 высокий :145 2 :127 2 :170 большой :160 высокий:180 acc :120   низкий :140 низкий :115 низкий 3 :132 4 :177 мед :193 низкий :164 хороший : 17   127 медь :129 4 :137 больше :172 малое :166 медь :175 нетак:354   vhigh:133 vhigh:130 5more:123