Я пытаюсь построить и реализовать алгоритм дерева регрессии на некоторых растровых данных в python и не может найти лучшего способа сделать это. Я попытаюсь объяснить, что я пытаюсь сделать:метод реализации дерева регрессии по растровым данным - python
Мой желаемый результат - это растровое изображение, значения которого представляют глубину озера, назовите его depth.tif. У меня есть серия растровых изображений, каждая из которых отражает значения отражательной способности в разных диапазонах Landsat, например [B1.tif, B2.tif, ..., B7.tif], которые я хочу использовать в качестве своих независимых переменных для прогнозирования глубины озера.
Для моих данных обучения у меня есть шейп-файл из ~ 6000 точек известной глубины озера. Чтобы создать дерево, я выделил соответствующие значения отражательной способности для каждой из этих точек, а затем экспортировал их в таблицу. Затем я использовал эту таблицу в программном обеспечении машинного обучения weka, чтобы создать дерево регрессии с 600 ветвями, которое будет прогнозировать значения глубины на основе набора значений отражательной способности. Но поскольку дерево настолько велико, я не могу писать его в python вручную. Я столкнулся с модулем python-weka-wrapper, поэтому я могу использовать weka в python, но застрял со всей растровой частью. Поскольку мои данные имеют дополнительное измерение (если преобразовать в массив, каждая независимая переменная на самом деле представляет собой набор значений ncolumns x nrows, а не только строку значений, как во всех примерах), я не знаю, может ли это сделать что я хочу. Во всех примерах для weka-python-wrapper я не могу найти тот, который имеет дело с пространственными данными, и я думаю, что это то, что меня отбрасывает.
Чтобы уточнить, я хочу использовать данные тренировки (который является точечным шейп-файлом/таблицей прямо сейчас, но при необходимости - может быть преобразован в растре того же размера, что и растровые изображения, без данных во всех ячейках за исключением нескольких точек, которые я знал в данных глубины), чтобы построить дерево регрессии, которое будет использовать ракурсы отражения для прогнозирования глубины. Затем я хочу применить это дерево к одному и тому же набору рамановских отражателей, чтобы получить растровые значения предсказанных значений глубины везде.
Я понимаю, что это сбивает с толку, и я не могу лучше объяснять. Я открыт для других вариантов, кроме того, что просто пытаюсь реализовать weka в python, например sklearn, если они являются open source. Мой вопрос в том, может ли я описать это? Я уверен, что это возможно, так как это очень похоже на классификацию изображений, за исключением того, что целевые значения (глубина) являются непрерывными, а не дискретными классами, но до сих пор я потерпел неудачу. Если да, то какой метод наилучшего/наиболее прямого метода и/или есть ли какие-либо примеры, которые могут помочь?
Благодаря