Классификация на основе леса и регрессия (Пространственная статистика)

Краткая информация

Создает модели и строит прогнозы при помощи адаптации метода контролируемого машинного обучения произвольного леса Лео Бреймана. Прогнозы могут быть выполнены для обеих категориальных перемененных (классификация) и непрерывных переменных (регрессия). Независимые переменные могут принимать форму полей в атрибутивной таблице обучающих объектов, наборов растровых данных и объектов расстояния, используемых для вычисления значений близости в качестве добавочных переменных. В дополнение к проверке производительности модели на основании обучающих данных, прогнозы можно выполнять по объектам или растрам прогноза.

Более подробно о том, как работает Классификация на основе леса и регрессия

Иллюстрация

Иллюстрация инструмента Классификация на основе леса и регрессия

Использование

  • Данный инструмент создает сотни деревьев, называемых множеством деревьев решений, чтобы построить модель, которую можно будет использовать для прогнозирования. Каждое из деревьев решений создается при помощи произвольно получаемых частей исходных (обучающих) данных. Каждое дерево строит собственный прогноз и становится предложением для итогового результата. Алгоритм модели леса рассматривает предложения от всех деревьев решений, чтобы спрогнозировать или классифицировать результат неизвестной выборки. Это важно, поскольку отдельные деревья могут иметь проблемы с чрезмерно близкой подгонкой модели; но объединение нескольких деревьев в лес для прогнозирования решает проблему чрезмерно близкой подгонки, связанную с одним деревом.

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

  • Входными объектами могут быть точки или полигоны. Инструмент не работает с составными объектами.

  • Для использования растров в качестве независимых переменных или прогнозирования Выходной поверхности прогнозирования необходима лицензия ArcGIS Spatial Analyst extension.

  • Инструмент создает множество выходных данных. Выходные обученные объекты будут содержать все Входные обучающие объекты, использованные в созданной модели, а также независимые переменные, использованные в модели (включая использованные входные поля, любые вычисленные расстояния и любые извлеченные или вычисленные значения растров). Также они будут содержать прогнозы для всех объектов, использованных для обучения модели, что может быть полезно при оценке эффективности созданной модели. При применении этого инструмента для прогнозирования, он создаст новый класс объектов, содержащий значения Выходные обученные объекты, или новую Выходную прогнозируемую поверхность, если предоставлены независимые растры.

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

  • Этот инструмент также создает сообщения и диаграммы, которые помогают понять производительность созданной модели. Вы можете получить доступ к сообщению, переместив курсор мыши на индикатор выполнения, щелкнув на всплывшую кнопку или развернув раздел сообщений на панели Геообработка. Доступ к сообщениям предыдущего запуска инструмента Классификация на основе леса и регрессия можно получить также через Историю геообработки. В сообщения входит информация о характеристиках модели, не вошедших в набор ошибках, значимости переменных и диагностика проверки.

    Можно использовать параметр Выходная таблица значимости переменных, чтобы создать таблицу для отображения диаграммы значимости переменных для оценки. Верхние 20 значений значимости переменных также показываются в окне сообщений. Диаграмма будет доступна ниже строки слоя в панели Содержание.

  • Независимые переменные могут быть получены из полей, быть вычислены по объектам расстояния или извлечены из растров. Можно использовать любые комбинации этих типов независимых переменных, но необходим хотя бы один тип. Независимые переменные (из полей, объектов расстояния или растров) должны содержать различные значения. Если независимая переменная является категориальной, отметьте опцию Категориальная (переменные строкового типа будут отмечены автоматически). Категориальные независимые переменные ограничены 60 уникальными значениями, хотя меньшее количество категорий улучшит производительность модели. Для данного размера данных, чем больше категорий содержит переменная, тем больше вероятность того, что она будет доминировать в модели и приведет к менее эффективным результатам прогнозирования.

  • Объекты расстояния используются для автоматического создания независимых переменных, представляя расстояние от предоставленных объектов до Входных обучающих объектов. Расстояния будут вычислены от каждого из входных Независимых объектов расстояния обучения до ближайшего Входного обучающего объекта. Если входные Независимые объекты расстояния обучения являются полигонами или линиями, атрибуты расстояния вычисляются как расстояние между ближайшими сегментами пары объектов. Но для полигонов и линий расстояния рассчитываются по-разному. Более подробно см. Как инструменты близости вычисляют расстояние.

  • Если Входные обучающие объекты являются точками и используются Независимые обучающие растры, инструмент извлекает независимые переменные в каждом местоположении точки. Для многоканальных растров используется только первый канал.

  • Хотя вы можете иметь несколько слоев с одинаковым именем в панели Содержание, инструмент не может использовать несколько независимых слоев с одинаковым именем или удалить повторяющиеся имена слоев в ниспадающем списке. Чтобы избежать этой проблемы, убедитесь, что у каждого слоя есть уникальное имя.

  • Если Входные обучающие объекты являются полигонами, значение параметра Переменная для прогнозирования будет категориальным, и обязательно указываются Независимые обучающие растры, то доступна опция Конвертировать полигоны в разрешение растра для обучения. Если эта опция включена, полигон разделяется на точки в центроидах каждой из ячеек растра, попадающих в полигон. Значения растра в местоположении каждой точки затем извлекаются и используются для обучения модели. Для числовых переменных используется билинейный метод пересчета, а для категориальных переменных – ближайший. Размером ячейки конвертированных полигонов по умолчанию будет максимальный размер ячейки входных растров. Но это можно изменить при помощи параметра среды Размер ячейки. Если параметр не отмечен, в модели будет использоваться одно значение растра для каждого полигона. Каждому полигону назначается среднее значение для непрерывных растров и значение большинства для категориальных растров.

    Полигоны конвертированы в разрешение растра (слева) или им назначено среднее значение (справа).

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

  • Можно использовать параметр Компенсировать разреженные категории, если вариабельность в категориях не сбалансирована. Например, если у вас есть некоторые категории, встречающиеся сотни раз в наборе данных, и несколько, которые встречаются значительно реже, щелкните этот параметр, чтобы быть уверенным, что все категории представлены в каждом дереве для построения сбалансированной модели.

  • При сопоставлении независимых переменных поля Prediction и Training должны быть одного типа (double в Training должно соответствовать double в Prediction).

  • Модели на основе леса не выполняют экстраполяцию, они могут только классифицировать или прогнозировать значения, на которых обучалась модель. Если прогнозируемое значение на основании независимых переменных намного выше или ниже диапазона исходного обучающего набора, модель будет оценивать значение как находящееся рядом с самым высоким или низким значением в исходном наборе данных. Этот инструмент может плохо срабатывать при попытке прогнозировать независимые переменные, находящиеся вне диапазона независимых переменных, используемых для обучения модели.

  • Инструмент не сработает, если в независимых переменных прогнозирования, не представленных в обучающих объектах, существуют категории.

  • Для использования наборов данных мозаики в качестве независимых переменных сначала используйте инструмент Создать слой мозаики и скопируйте полный путь к слою в инструмент или используйте инструмент Создать слой мозаики и инструмент Создать растровый слой для уравнивания шаблонов обработки для наборов данных мозаики.

  • Значение по умолчанию для параметра Число деревьев равно 100. Увеличение числа деревьев в модели леса приведет к более точному прогнозированию модели, но модель будет дольше вычисляться.

  • Если отмечен параметр Вычислить неопределенность, инструмент вычислит интервал 90-процентного предсказания вокруг каждого предсказанного значения Переменной для предсказания. Если Тип прогнозирования - Только обучение или Прогнозировать в объекты, к классам Выходные обученные объекты или Выходные объекты прогнозирования добавляются по два поля. Эти поля, оканчивающиеся на _P05 и _P95, обозначают верхнюю и нижнюю границы интервала прогнозирования. Для каждого нового наблюдения вы можете прогнозировать с 90-процентной вероятностью, что значение нового наблюдения попадет в этот интервал, исходя из тех же самых независимых переменных. При использовании опции Прогнозировать в растр, к панели Содержание добавляются два дополнительных растра, представляющих верхнюю и нижнюю границы интервала прогнозирования.

  • В целях улучшения производительности параметр Независимые объекты расстояния обучения недоступен при использовании параметра Тип прогнозирования Прогнозировать в растр. Для включения расстояний в объекты, как независимые переменные, вычислите растры расстояния с помощью инструментов Накопление расстояния и включите растры расстояния в параметр Независимые обучающие растры.

  • Инструмент поддерживает параллельную обработку и использует до 50% доступной мощности процессора по умолчанию. Количество используемых процессоров можно изменить при помощи параметра среды Коэффициент параллельной обработки.

  • Более подробно о работе инструментов, выходных сообщениях и диаграммах см. Как работает инструмент Классификация на основе леса и регрессия.

    Литература:

    • Breiman, Leo. Out-Of-Bag Estimation. 1996.
    • Breiman, L. (1996). Bagging predictors. Machine learning, 24(2), 123-140.
    • Breiman, Leo. "Random Forests". Machine Learning. 45 (1): 5-32. doi:10.1023/A:1010933404324. 2001.
    • Breiman, L., J.H. Friedman, R.A. Olshen, C.J. Stone. Classification and regression trees. New York: Academic. Chapter 4. 2017.
    • Dietterich, T. G. (2000, June). Ensemble methods in machine learning. В International workshop on multiple classifier systems (pp. 1-15). Springer, Berlin, Heidelberg.
    • Gini, C. (1912). Variabilità e mutabilità. Reprinted in Memorie di metodologica statistica (Ed. Pizetti E, Salvemini, T). Rome: Libreria Eredi Virgilio Veschi.
    • Grömping, U. (2009). Variable importance assessment in regression: linear regression versus random forest. The American Statistician, 63(4), 308-319.
    • Ho, T. K. (1995, August). Random decision forests. В Document analysis and recognition, 1995., proceedings of the third international conference on Document Analysis and Recognition. (Vol. 1, pp. 278-282). IEEE.
    • James, G., Witten, D., Hastie, T., & Tibshirani, R. (2013). An introduction to statistical learning (Vol. 112). New York: springer.
    • LeBlanc, M., & Tibshirani, R. (1996). Combining estimates in regression and classification. Journal of the American Statistical Association, 91(436), 1641-1650.
    • Loh, W. Y., & Shih, Y. S. (1997). Split selection methods for classification trees. Statistica sinica, 815-840.
    • Meinshausen, Nicolai. "Quantile regression forests." Journal of Machine Learning Research 7. Jun (2006): 983-999.
    • Nadeau, C., & Bengio, Y. (2000). Inference for the generalization error. В Advances in neural information processing systems (pp. 307-313).
    • Strobl, C., Boulesteix, A. L., Kneib, T., Augustin, T., & Zeileis, A. (2008). Conditional variable importance for random forests. BMC bioinformatics, 9(1), 307.
    • Zhou, Z. H. (2012). Ensemble methods: foundations and algorithms. ESRI Press.

Параметры

ПодписьОписаниеТип данных
Тип прогнозирования

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

  • Только обучениеМодель будет обучена, но прогнозы созданы не будут. Используйте эту опцию для оценки точности модели перед созданием прогнозов. Эта опция создаст выходную диагностику модели в окне сообщений и диаграмму значимости переменных. Используется по умолчанию
  • Прогнозировать в объектыДля объектов будут созданы прогнозы или классификация. Независимые переменные должны быть представлены и для обучающих объектов, и для прогнозируемых объектов. Выходными данными этой опции будут класс объектов, диагностика модели в окне сообщений, дополнительная таблица и диаграмма значимости переменных.
  • Прогнозировать в растрРастр прогнозирования будет построен для области пересечения независимых растров. Независимые растры должны быть представлены и для обучающей области, и для прогнозируемой области. Выходными данными этой опции будут поверхность прогнозирования, диагностика модели в окне сообщений, дополнительная таблица и диаграмма значимости переменных.
String
Входные обучающие объекты

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

Feature Layer
Переменная для прогнозирования
(Дополнительный)

Переменная из параметра Входные обучающие объекты, содержащая значения, используемые для обучения модели. Это поле содержит известные (обучающие) значения переменной, которые будут использованы для прогнозирования в неизвестных местоположениях.

Field
Рассматривать переменную как Категориальную
(Дополнительный)

Указывает, будет ли Переменная для прогнозирования категориальной переменной.

  • Отмечено – Переменная для прогнозирования является категориальной переменной, и инструмент будет выполнять классификацию.
  • Не отмечено – Переменная для прогнозирования является непрерывной, и инструмент будет выполнять регрессию. Это значение по умолчанию
Boolean
Независимые переменные обучения
(Дополнительный)

Список полей, представляющих независимые переменные, которые помогут прогнозировать значения или категории Переменных для прогнозирования. Включите опцию Категориальная для любых переменных, которые представляют классы или категории (например, почвенно-растительный покров – его наличие или отсутствие).

Value Table
Независимые объекты расстояния обучения
(Дополнительный)

Независимые объекты расстояния обучения. Независимые переменные будут созданы автоматически, путем вычисления расстояния от предоставленных объектов до Входных обучающих объектов. Расстояния будут вычислены от каждого из входных Независимых объектов расстояния обучения до ближайшего Входного обучающего объекта. Если входные Независимые объекты расстояния обучения являются полигонами или линиями, атрибуты расстояния вычисляются как расстояние между ближайшими сегментами пары объектов.

Feature Layer
Независимые обучающие растры
(Дополнительный)

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

Value Table
Входные объекты прогнозирования
(Дополнительный)

Класс объектов, представляющих местоположения, где будет выполняться прогнозирование. Этот векторный слой также должен содержать любые независимые переменные, представленные в виде полей, которые соответствуют используемым в обучающих данных.

Feature Layer
Выходные объекты прогнозирования
(Дополнительный)

Выходной класс объектов, содержащий результаты прогнозирования.

Feature Class
Выходная поверхность прогноза
(Дополнительный)

Выходной растр, содержащий результаты прогнозирования. Размером ячейки по умолчанию будет максимальный размер ячеек входных растров. Чтобы задать другой размер ячейки, используйте параметр среды – Размер ячейки.

Raster Dataset
Сопоставление независимых переменных
(Дополнительный)

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

Value Table
Сопоставление объектов расстояния
(Дополнительный)

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

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

Value Table
Сопоставить независимые растры
(Дополнительный)

Список Независимых растров, заданных во Входных обучающих объектах, справа и соответствующие растры из параметра Входных объектов прогнозирования или параметра Поверхности прогнозирования, слева.

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

Value Table
Выходные обученные объекты
(Дополнительный)

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

Feature Class
Выходная таблица значимости переменных
(Дополнительный)

Таблица будет содержать информацию, описывающую значимость каждой независимой переменной (поля, объекты расстояния и растры), использованной при создании модели. Созданные на основе этой таблицы диаграммы можно открыть с помощью панели Содержание.

Table
Конвертировать полигоны в разрешение растра для обучения
(Дополнительный)

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

  • Отмечено – полигон делится на все ячейки растра с центроидами, попадающими в пределы полигона. Затем значения растра в каждом центроиде извлекаются и используются для обучения модели. Модель больше не обучается на полигоне, а обучается на значениях растра, извлеченных для каждого центроида ячейки. Это значение по умолчанию.
    Полигон разделен на ячейки растра
  • Не отмечено – каждому полигону назначается среднее значение нижележащего непрерывного растра и значение большинства – для категориальных растров.
    Значение полигона, назначенное как среднее или большинство

Boolean
Число деревьев
(Дополнительный)

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

Long
Минимальный размер листа
(Дополнительный)

Минимальное число наблюдений, необходимых для сохранения листа (т.е. конечного объекта на дереве, без дальнейшего разбиения). Минимум по умолчанию для регрессии составляет 5, а для классификации – 1. Для очень больших данных увеличение этого числа увеличит время работы инструмента.

Long
Максимальная глубина дерева
(Дополнительный)

Максимальное число разбиений, которые будут сделаны вниз по дереву . При большей максимальной глубине будет создано больше разбиений, что может увеличить вероятность чрезмерной подгонки модели. Значение по умолчанию управляется данными и зависит от числа созданных деревьев и количества включенных переменных.

Long
Данные, доступные для одного дерева (%)
(Дополнительный)

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

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

Long
Число произвольно выбранных переменных
(Дополнительный)

Число независимых переменных, используемых для создания каждого дерева решений.

Каждое из деревьев решений в лесу создается с использованием случайного поднабора заданных независимых переменных. Увеличение числа переменных, используемых для создания каждого дерева решений, увеличит вероятность чрезмерной подгонки модели, особенно если имеется одна или больше доминирующая переменная. Обычно используется квадратный корень от общего числа независимых переменных (сочетание полей, расстояний и растров), если Переменная для прогнозирования является числовой, или общее число независимых переменных (сочетание полей, расстояний и растров) делится на 3, если Переменная для прогнозирования является категориальной.

Long
Обучающие данные, исключенные из проверки (%)
(Дополнительный)

Процент (от 10 до 50) от Входных обучающих объектов, чтобы сохранить их как тестовый набор данных для проверки. Обучение модели будет происходить без этого произвольного поднабора данных, и значения наблюдений для этих объектов будут сравниваться с прогнозируемыми значениями. Значение по умолчанию – 10 процентов.

Double
Выходная таблица эффективности классификации (Матрица несоответствий)
(Дополнительный)

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

Table
Выходная таблица проверок
(Дополнительный)

Если указанное Число запусков для проверки больше 2, таблица создает диаграмму распределения R2 для каждой модели. Это распределение можно использовать для оценки стабильности модели.

Table
Компенсировать разреженные категории
(Дополнительный)

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

  • Отмечено - каждое дерево включает все категории, представленные в обучающем наборе данных.
  • Не отмечено - каждое дерево создается на основе произвольной выборки категорий в обучающем наборе данных. Это значение по умолчанию

Boolean
Число запусков для проверки
(Дополнительный)

Число итераций инструмента Распределение R2 для каждого запуска можно отобразить с использованием параметра Выходная таблица проверок. Если параметр задан и вычисляются прогнозы, только та модель, в которой значение R2 максимально, будет использована для прогнозирования.

Long
Вычислить неопределенность
(Дополнительный)

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

  • Отмечено - вычислить доверительный интервал неопределенности прогнозирования.
  • Не отмечено – неопределенность не вычисляется. Это значение по умолчанию
Boolean

Производные выходные данные

ПодписьОписаниеТип данных
Выходные растровые слои неопределенности

Если отмечен параметр Вычислить неопределенность инструмент вычислит 90% интервал прогнозирования вокруг каждого прогнозируемого значения Переменной для прогнозирования.

Raster Layer

arcpy.stats.Forest(prediction_type, in_features, {variable_predict}, {treat_variable_as_categorical}, {explanatory_variables}, {distance_features}, {explanatory_rasters}, {features_to_predict}, {output_features}, {output_raster}, {explanatory_variable_matching}, {explanatory_distance_matching}, {explanatory_rasters_matching}, {output_trained_features}, {output_importance_table}, {use_raster_values}, {number_of_trees}, {minimum_leaf_size}, {maximum_depth}, {sample_size}, {random_variables}, {percentage_for_training}, {output_classification_table}, {output_validation_table}, {compensate_sparse_categories}, {number_validation_runs}, {calculate_uncertainty})
ИмяОписаниеТип данных
prediction_type

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

  • TRAINМодель будет обучена, но прогнозы созданы не будут. Используйте эту опцию для оценки точности модели перед созданием прогнозов. Эта опция создаст выходную диагностику модели в окне сообщений и диаграмму значимости переменных. Используется по умолчанию
  • PREDICT_FEATURESДля объектов будут созданы прогнозы или классификация. Независимые переменные должны быть представлены и для обучающих объектов, и для прогнозируемых объектов. Выходными данными этой опции будут класс объектов, диагностика модели в окне сообщений, дополнительная таблица и диаграмма значимости переменных.
  • PREDICT_RASTERРастр прогнозирования будет построен для области пересечения независимых растров. Независимые растры должны быть представлены и для обучающей области, и для прогнозируемой области. Выходными данными этой опции будут поверхность прогнозирования, диагностика модели в окне сообщений, дополнительная таблица и диаграмма значимости переменных.
String
in_features

Класс объектов, содержащий параметр variable_predict и, дополнительно, независимые переменные обучения из полей.

Feature Layer
variable_predict
(Дополнительный)

Переменная из параметра in_features, содержащая значения, используемые для обучения модели. Это поле содержит известные (обучающие) значения переменной, которые будут использованы для прогнозирования в неизвестных местоположениях.

Field
treat_variable_as_categorical
(Дополнительный)
  • CATEGORICALvariable_predict является категориальной переменной, и инструмент будет выполнять классификацию.
  • NUMERICvariable_predict является непрерывной, и инструмент будет выполнять регрессию. Используется по умолчанию
Boolean
explanatory_variables
[[Variable, Categorical],...]
(Дополнительный)

Список полей, представляющих независимые переменные, которые помогут прогнозировать значения или категории variable_predict. Используйте параметр treat_variable_as_categorical для любых переменных, которые представляют классы или категории (например, почвенно-растительный покров – его наличие или отсутствие). Укажите переменную CATEGORICAL, если она представляет классы или категории, например, наличие или отсутствие почвенно-растительного покрова, и NUMERIC, если переменная является непрерывной.

Value Table
distance_features
[distance_features,...]
(Дополнительный)

Независимые объекты расстояния обучения. Независимые переменные будут созданы автоматически, путем вычисления расстояния от предоставленных объектов до in_features. Расстояния будут вычислены от каждого из входных distance_features до ближайшего in_features. Если входные distance_features являются полигонами или линиями, атрибуты расстояния вычисляются как расстояние между ближайшими сегментами пары объектов.

Feature Layer
explanatory_rasters
[[Variable, Categorical],...]
(Дополнительный)

Независимые переменные обучения, извлеченные из растров. Независимые переменные обучения будут автоматически созданы путем извлечения значений ячеек растра. Для каждого объекта в in_features значение ячейки растра извлекается в именно в этом местоположении. При извлечении значения растра используется билинейный пересчет растра, если только он не определен как категориальный, в этом случае используется метод ближайшего соседа. Укажите растр CATEGORICAL, если он представляет классы или категории, например, наличие или отсутствие почвенно-растительного покрова, и NUMERIC, если он является непрерывным.

Value Table
features_to_predict
(Дополнительный)

Класс объектов, представляющих местоположения, где будет выполняться прогнозирование. Этот векторный слой также должен содержать любые независимые переменные, представленные в виде полей, которые соответствуют используемым в обучающих данных.

Feature Layer
output_features
(Дополнительный)

Выходной класс объектов, содержащий результаты прогнозирования.

Feature Class
output_raster
(Дополнительный)

Выходной растр, содержащий результаты прогнозирования. Размером ячейки по умолчанию будет максимальный размер ячеек входных растров. Чтобы задать другой размер ячейки, используйте параметр среды – Размер ячейки.

Raster Dataset
explanatory_variable_matching
[[Prediction, Training],...]
(Дополнительный)

Список значений explanatory_variables, заданных в параметре in_features, справа и соответствующие поля из features_to_predict слева, например, [["LandCover2000", "LandCover2010"], ["Income", "PerCapitaIncome"]].

Value Table
explanatory_distance_matching
[[Prediction, Training],...]
(Дополнительный)

Список значений distance_features, заданных в параметре in_features, справа и соответствующие объекты из параметра features_to_predict слева.

Значения explanatory_distance_features, наиболее подходящие для параметра features_to_predict, если те, что используются для обучения, находятся в другой изучаемой области или периоде времени.

Value Table
explanatory_rasters_matching
[[Prediction, Training],...]
(Дополнительный)

Список значений explanatory_rasters, заданных в параметре in_features, справа и соответствующие растры из параметра features_to_predict или output_raster слева.

Значения explanatory_rasters, наиболее подходящие для параметра features_to_predict, если те, что используются для обучения, находятся в другой изучаемой области или периоде времени.

Value Table
output_trained_features
(Дополнительный)

Независимые переменные, использованные для обучения (включая значения растров выборки и вычисления расстояния), а также наблюдаемые поля variable_to_predict и сопутствующие прогнозы, которые могут быть использованы для дальнейшей оценки эффективности обученной модели.

Feature Class
output_importance_table
(Дополнительный)

Таблица будет содержать информацию, описывающую значимость каждой независимой переменной (поля, объекты расстояния и растры), использованной при создании модели.

Table
use_raster_values
(Дополнительный)

Определяет то, как полигоны будут рассматриваться при обучении модели, если значения параметра in_features являются полигонами с категориальной variable_predict и заданы только explanatory_rasters.

  • TRUEПолигон делится на все ячейки растра с центроидами, попадающими в пределы полигона. Затем значения растра в каждом центроиде извлекаются и используются для обучения модели. Модель больше не обучается на полигоне, а обучается на значениях растра, извлеченных для каждого центроида ячейки. Это значение по умолчанию
  • FALSEКаждому полигону назначается среднее значение среднее значение нижележащего непрерывного растра и значение большинства – для категориальных растров.
Boolean
number_of_trees
(Дополнительный)

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

Long
minimum_leaf_size
(Дополнительный)

Минимальное число наблюдений, необходимых для сохранения листа (т.е. конечного объекта на дереве, без дальнейшего разбиения). Минимум по умолчанию для регрессии составляет 5, а для классификации – 1. Для очень больших данных увеличение этого числа увеличит время работы инструмента.

Long
maximum_depth
(Дополнительный)

Максимальное число разбиений, которые будут сделаны вниз по дереву . При большей максимальной глубине будет создано больше разбиений, что может увеличить вероятность чрезмерной подгонки модели. Значение по умолчанию управляется данными и зависит от числа созданных деревьев и количества включенных переменных.

Long
sample_size
(Дополнительный)

Процент значений in_features, используемых для каждого дерева решений. По умолчанию это 100 процентов от данных. Выборка для каждого дерева берется произвольно из двух третей указанных данных.

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

Long
random_variables
(Дополнительный)

Число независимых переменных, используемых для создания каждого дерева решений.

Каждое из деревьев решений в лесу создается с использованием случайного поднабора заданных независимых переменных. Увеличение числа переменных, используемых для создания каждого дерева решений, увеличит вероятность чрезмерной подгонки модели, особенно если имеется одна или больше доминирующая переменная. Обычно используется квадратный корень от общего числа независимых переменных (сочетание полей, расстояний и растров), если значение variable_predict является числовым, или общее число независимых переменных (сочетание полей, расстояний и растров) делится на 3, если значение variable_predict является категориальным.

Long
percentage_for_training
(Дополнительный)

Процент (от 10 до 50) от in_features, чтобы сохранить их как тестовый набор данных для проверки. Обучение модели будет происходить без этого произвольного поднабора данных, и значения наблюдений для этих объектов будут сравниваться с прогнозируемым значением. Значение по умолчанию – 10 процентов.

Double
output_classification_table
(Дополнительный)

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

Table
output_validation_table
(Дополнительный)

Если указанное Число запусков для проверки больше 2, таблица создает диаграмму распределения R2 для каждой модели. Это распределение можно использовать для оценки стабильности модели.

Table
compensate_sparse_categories
(Дополнительный)

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

  • TRUEКаждое дерево включает все категории, представленные в обучающем наборе данных.
  • FALSEКаждое дерево создается на основе произвольной выборки категорий в обучающем наборе данных. Это значение по умолчанию
Boolean
number_validation_runs
(Дополнительный)

Число итераций инструмента Распределение R2 для каждого запуска можно отобразить с использованием параметра Выходная таблица проверок. Если параметр задан и вычисляются прогнозы, только та модель, в которой значение R2 максимально, будет использована для прогнозирования.

Long
calculate_uncertainty
(Дополнительный)

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

  • TRUEДоверительный интервал прогнозирования будет вычислен.
  • FALSEНеопределенность не вычисляется. Это значение по умолчанию
Boolean

Производные выходные данные

ИмяОписаниеТип данных
output_uncertainty_raster_layers

Если параметр calculate_uncertainty задан как TRUE, инструмент вычислит 90% интервал прогнозирования вокруг каждого прогнозируемого значения variable_to_predict.

Raster Layer

Пример кода

Forest, пример 1 (окно Python)

Скрипт Python, демонстрирующий использование функции Forest.

import arcpy
arcpy.env.workspace = r"c:\data"

# Forest-based model using only the training method and all data
# comes from a single polygon feature class. The tool excludes 10% of the 
# input features from training and uses these values to validate the model.

prediction_type = "TRAIN"
in_features = r"Boston_Vandalism.shp"
variable_predict = "VandCnt"
explanatory_variables = [["Educat", "false"], ["MedAge", "false"], 
    ["HHInc", "false"], ["Pop", "false"]]
output_trained_features = "TrainingFeatures.shp"
number_of_trees = 100
sample_size = 100
percentage_for_training = 10

arcpy.stats.Forest(prediction_type, in_features, variable_predict, None,
    explanatory_variables, None, None, None, None, None, None, None, None,
    output_trained_features, None, True, number_of_trees, None, None, sample_size, 
    None, percentage_for_training)
Forest, пример 2 (автономный скрипт)

Следующий скрипт Python демонстрирует, как использовать инструмент Forest для прогнозирования в объекты.

# Import system modules
import arcpy

# Set property to overwrite existing outputs
arcpy.env.overwriteOutput = True

# Set the work space to a gdb
arcpy.env.workspace = r"C:\Data\BostonCrimeDB.gdb"

# Forest-based model taking advantage of both distance features and 
# explanatory rasters. The training and prediction data has been manually
# split so the percentage to exclude parameter was set to 0. A variable importance
# table is created to help assess results and advanced options have been used
# to fine tune the model.

prediction_type = "PREDICT_FEATURES"
in_features = r"Boston_Vandalism_Training"
variable_predict = "Vandalism_Count"
treat_variable_as_categorical = None
explanatory_variables = [["EduClass", "true"], ["MedianAge", "false"],
    ["HouseholdIncome", "false"], ["TotalPopulation", "false"]]
distance_features = r"Boston_Highways"
explanatory_rasters = r"LandUse true"
features_to_predict = r"Boston_Vandalism_Prediction"
output_features = r"Prediction_Output"
output_raster = None
explanatory_variable_matching = [["EduClass", "EduClass"], ["MedianAge", "MedianAge"], 
    ["HouseholdIncome", "HouseholdIncome"], ["TotalPopulation", "TotalPopulation"]]
explanatory_distance_matching = [["Boston_Highways", "Boston_Highways"]]
explanatory_rasters_matching = [["LandUse", "LandUse"]]
output_trained_features = r"Training_Output"
output_importance_table = r"Variable_Importance"
use_raster_values = True
number_of_trees = 100
minimum_leaf_size = 2
maximum_level = 5
sample_size = 100
random_sample = 3
percentage_for_training = 0

arcpy.stats.Forest(prediction_type, in_features, variable_predict,
    treat_variable_as_categorical, explanatory_variables, distance_features,
    explanatory_rasters, features_to_predict, output_features, output_raster,
    explanatory_variable_matching, explanatory_distance_matching, 
    explanatory_rasters_matching, output_trained_features, output_importance_table,
    use_raster_values, number_of_trees, minimum_leaf_size, maximum_level,
    sample_size, random_sample, percentage_for_training)
Forest, пример 3 (автономный скрипт)

Следующий скрипт Python демонстрирует, как использовать инструмент Forest для создания поверхности прогнозирования.

# Import system modules
import arcpy

# Set property to overwrite existing outputs
arcpy.env.overwriteOutput = True

# Set the work space to a gdb
arcpy.env.workspace = r"C:\Data\Landsat.gdb"

# Using a forest-based model to classify a landsat image. The TrainingPolygons feature 
# class was created manually and is used to train the model to 
# classify the remainder of the landsat image.

prediction_type = "PREDICT_RASTER"
in_features = r"TrainingPolygons"
variable_predict = "LandClassName"
treat_variable_as_categorical = "CATEGORICAL" 
explanatory_variables = None
distance_features = None
explanatory_rasters = [["Band1", "false"], ["Band2", "false"], ["Band3", "false"]]
features_to_predict = None
output_features = None
output_raster = r"PredictionSurface"
explanatory_variable_matching = None
explanatory_distance_matching = None
explanatory_rasters_matching = [["Band1", "Band1"], ["Band2", "Band2"], ["Band3", "Band3"]]
output_trained_features = None
output_importance_table = None
use_raster_values = True
number_of_trees = 100
minimum_leaf_size = None
maximum_level = None
sample_size = 100
random_sample = None
percentage_for_training = 10

arcpy.stats.Forest(prediction_type, in_features, variable_predict,
    treat_variable_as_categorical, explanatory_variables, distance_features,
    explanatory_rasters, features_to_predict, output_features, output_raster,
    explanatory_variable_matching, explanatory_distance_matching, 
    explanatory_rasters_matching, output_trained_features, output_importance_table,
    use_raster_values, number_of_trees, minimum_leaf_size, maximum_level,
    sample_size, random_sample, percentage_for_training)

Параметры среды

Особые случаи

Генератор случайных чисел

В качестве генератора случайных чисел всегда используется Mersenne Twister.

Коэффициент параллельной обработки

Параллельные процессы используются только если выполняются прогнозы.

Информация о лицензиях

  • Basic: Ограниченные
  • Standard: Ограниченные
  • Advanced: Ограниченные

Связанные разделы