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

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

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

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

Иллюстрация

Диаграмма модели леса

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

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

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

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

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

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

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

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

    Можно использовать параметр Выходная таблица значимости переменных, чтобы создать таблицу для отображения диаграммы значимости переменных для оценки. Верхние 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% интервал прогнозирования вокруг каждого прогнозируемого значения Переменной для прогнозирования.

Растровый слой

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 для любых переменных, которые представляют классы или категории (например, почвенно-растительный покров – его наличие или отсутствие). Укажите переменную true для всего, что представляет классы или категории, например, наличие или отсутствие почвенно-растительного покрова, и false, если переменная является непрерывной.

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

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

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

Автоматически создает в модели независимые переменные обучения, значения которых извлекаются из растров. Для каждого объекта в in_features значение ячейки растра извлекается в именно в этом местоположении. При извлечении значения растра используется билинейный пересчет растра, если только он не определен как категориальный, в этом случае используется метод ближайшего соседа. Укажите растр как true для любых растров, представляющих классы или категории, например, наличие или отсутствие почвенно-растительного покрова, и false, если растр является непрерывным.

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
(Дополнительный)

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, инструмент вычислит 90% интервал прогнозирования вокруг каждого прогнозируемого значения variable_to_predict.

Растровый слой

Пример кода

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: Ограниченные

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