비고:
현재 이 기능은 Map Viewer Classic(이전의 Map Viewer)에서만 지원됩니다. 새 Map Viewer 후속 릴리즈에서 제공됩니다.
포레스트 기반 분류 및 회귀 도구는 지도 학습 기반 머신 러닝 방법인 Leo Breiman의 랜덤 포레스트 알고리즘을 사용하여 모델을 만들고 예측을 생성합니다. 범주형 변수(분류)와 연속 변수(회귀) 모두에 대해 예측을 수행할 수 있습니다. 설명 변수는 학습 피처의 속성 테이블에 있는 필드 형식일 수 있습니다. 학습 데이터 기반의 모델 성능 검증뿐 아니라 피처에 대한 예측을 수행할 수 있습니다.
워크플로 다이어그램
GeoAnalytics Tools를 사용하여 분석
GeoAnalytics Tools를 사용하는 분석은 여러 ArcGIS GeoAnalytics Server 머신 및 코어에서 분산 처리를 사용하여 실행됩니다. ArcGIS Enterprise의 GeoAnalytics Tools 및 표준 피처 분석 도구에는 다양한 매개변수와 기능이 있습니다. 이러한 차이점에 대한 자세한 내용은 피처 분석 도구의 차이점을 참고하세요.
예시
다음은 도구의 사용 예시입니다.
- 공장 상류 및 주요 항구와의 거리 외에 다양한 환경 설명 변수와 해조류 발생에 대한 데이터가 주어진 경우, 동일한 환경 설명 변수에 대한 예측에 기반하여 향후 해조류 발생을 예측할 수 있습니다.
- 올해에 매매된 주택 가격을 기반으로 주택 가치를 예측할 수 있습니다. 침실 수, 학교까지의 거리, 주요 고속도로와의 인접성, 평균 소득, 범죄 발생 수에 대한 정보와 함께 매매된 주택 판매 가격을 이용하여 유사한 주택의 매매 가격을 예측할 수 있습니다.
- 아동의 혈중 납 수치와 주택의 과세 구획 ID에 대한 정보가 주어진 경우 주택 연령과 같은 구획 단계 속성, 소득 및 교육 수준과 같은 인구 조사 단계 데이터, 납, 납 화합물의 유독성 방출이 반영된 국가 데이터셋과 결합하여 혈중 납 수치 데이터가 없는 구획의 납 노출 위험도를 예측할 수 있습니다. 이러한 위험도 예측은 해당 지역의 정책과 교육 프로그램에 영향을 줄 수 있습니다.
사용 참고 사항
해당 도구는 의사결정 트리의 앙상블이라고 하는 수백 개의 트리를 생성하여 예측에 사용할 수 있는 모델을 만듭니다. 각 의사 결정 트리는 기존(교육) 데이터에 대해 무작위로 생성된 부분을 사용하여 생성됩니다. 트리는 자체 예측을 생성하고 결과에 대해 투표합니다. 포레스트 모델은 모든 의사결정 트리의 투표를 미지 표본의 결과를 예측하거나 분류하는 데 고려합니다. 개별 트리에는 모델 과적합 문제가 있을 수 있으므로 이 점이 중요합니다. 하지만, 예측을 위해 포레스트의 여러 트리를 결합하면 개별 트리와 관련된 과적합 문제를 해결할 수 있습니다.
해당 도구는 2가지 작동 모드로 사용할 수 있습니다. 모델 성능을 평가하기 위한 모델 학습 옵션은 여러 설명 변수와 도구 설정을 탐색할 때 다양한 모델의 성능을 평가하는 데 사용할 수 있습니다. 최적의 모델을 찾고 나면 모델 적합화 및 값 예측 옵션을 사용할 수 있습니다. 이 도구는 데이터 기반 도구로 대용량 데이터셋에서 가장 잘 수행됩니다. 이 도구는 최상의 결과를 얻기 위해 최소 수백 개의 피처에 대해 학습되어야 합니다. 스몰 데이터셋에는 적합한 도구가 아닙니다.
테이블, 포인트, 라인, 영역 피처를 입력 학습 피처로 사용할 수 있습니다. 이러한 도구에는 멀티파트 데이터를 사용할 수 없습니다.
예측 또는 설명 필드에 하나 이상의 Null 값 또는 빈 문자열 값이 있는 피처는 결과에서 제외됩니다. 필요한 경우 필드 계산을 사용하여 값을 수정할 수 있습니다.
해당 도구는 다양한 결과를 생성합니다. 생성되는 결과는 다음과 같이 작동 모드에 따라 다릅니다.
- 모델 성능을 평가하기 위한 모델 학습 - 다음과 같은 2가지 결과를 생성합니다.
- 결과 학습 피처 - 생성된 모델에 사용된 모든 설명 변수뿐 아니라 해당 모델에 사용된 모든 입력 학습 피처가 포함됩니다. 또한 모델을 학습하는 데 사용된 모든 피처에 대한 예측도 포함되므로 생성된 모델의 성능 평가에 도움이 될 수 있습니다.
- 도구 요약 메시지 - 생성된 모델의 성능을 파악하는 데 도움이 되는 메시지입니다. 해당 메시지에는 모델 특성, OOB(out-of-bag) 오차, 변수 중요도, 유효성 검사 진단 정보가 포함되어 있습니다. 결과 요약에 접근하려면 Map Viewer Classic에서 결과 레이어 아래의 결과 보기 를 클릭합니다. 요약 정보는 항목 세부정보 페이지에도 추가됩니다.
- 모델 적합화 및 값 예측 - 다음과 같은 3가지 결과를 생성합니다.
- 결과 학습 피처 - 생성된 모델에 사용된 모든 설명 변수뿐 아니라 해당 모델에 사용된 모든 입력 학습 피처가 포함됩니다. 또한 모델을 학습하는 데 사용된 모든 피처에 대한 예측도 포함되므로 생성된 모델의 성능을 평가하는 데 도움이 될 수 있습니다.
- 결과 예측 피처 - 예측된 결과의 레이어입니다. 예측은 학습 레이어에서 생성된 모델을 사용하여 예측할 레이어(값을 예측할 레이어 선택)에 적용됩니다.
- 도구 요약 메시지 - 생성된 모델의 성능을 파악하는 데 도움이 되는 메시지입니다. 해당 메시지에는 모델 특성, OOB(out-of-bag) 오차, 변수 중요도, 유효성 검사 진단 정보가 포함되어 있습니다. 결과 요약에 접근하려면 Map Viewer Classic에서 결과 레이어 아래의 결과 보기 를 클릭합니다. 요약 정보는 항목 세부정보 페이지에도 추가됩니다.
결과 변수 중요도 테이블 매개변수를 사용하여 평가를 위한 변수 중요도 차트를 표시하는 테이블을 생성할 수 있습니다. 상위 20개의 변수 중요도 값도 메시지 창에 보고됩니다. 해당 차트는 콘텐츠 창의 레이어 아래에서 직접 접근할 수 있습니다.
설명 변수는 필드에서 파생될 수 있으며 다양한 값을 포함해야 합니다. 설명 변수가 범주 데이터인 경우 범주 체크 박스를 선택해야 합니다(문자열 변수 유형은 자동으로 선택됨). 범주 설명 변수는 60개의 고유 값으로 제한됩니다. 범주 수가 적을수록 모델 성능이 향상됩니다. 데이터 크기가 지정된 경우 변수에 포함된 범주가 많을수록 모델의 대부분을 차지하여 예측 결과의 효율이 떨어질 가능성이 높아집니다.
일치 설명 변수의 경우 Training 필드와 Prediction 필드에는 동일한 유형의 필드가 있어야 합니다(예를 들어, Training 필드의 더블 필드는 Prediction 필드의 더블 필드와 일치해야 함).
포레스트 기반 모델은 외삽하지 않습니다. 따라서 이러한 모델을 학습하는 데 사용된 값으로 분류하거나 예측할 수만 있습니다. 대상 피처와 변수의 범위 내에 속한 학습 피처와 설명 변수로 모델을 학습합니다. 학습 피처에 없던 예측 설명 변수에 범주가 존재할 경우 도구가 실패합니다.
트리 수 매개변수의 기본값은 100입니다. 포레스트 모델의 트리 수를 늘리면 더욱 정확한 모델이 예측되지만 모델 계산 시간이 더 걸립니다.
해당 도구의 작동 방식과 이러한 구현의 기반이 되는 ArcGIS Pro 지오프로세싱 도구에 대한 자세한 내용은 포레스트 기반 분류 및 회귀 작동 방식을 참고하세요.
제한 사항
포레스트 기반 분류 및 회귀의 GeoAnalytics 구현에는 다음과 같은 제한 사항이 있습니다.
- 피처 데이터셋(포인트, 라인, 폴리곤, 테이블)이 입력으로 지원됩니다. 래스터는 지원되지 않습니다.
- 학습용 단일 레이어와 예측용 단일 레이어가 지원됩니다. 여러 데이터셋을 하나로 합치려면 다중 변수 격자 생성 및 다중 변수 격자에서 보강 도구를 사용하여 입력 데이터를 생성해야 합니다.
ArcGIS API for Python 예시
포레스트 기반 분류 및 회귀 도구는 ArcGIS API for Python을 통해 제공됩니다.
이 예시에서는 모델을 생성하고 아이스크림 매출액을 예측합니다.
# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS
# Connect to your ArcGIS Enterprise portal and confirm that GeoAnalytics is supported
portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password")
if not portal.geoanalytics.is_supported():
print("Quitting, GeoAnalytics is not supported")
exit(1)
# Find the big data file share dataset you'll use for analysis
search_result = portal.content.search("", "Big Data File Share")
# Look through the search results for a big data file share with the matching name
bdfs_search = next(x for x in search_result if x.title == "bigDataFileShares_SaleData")
# Look through the big data file share for ice cream sales data
icecream_sales = next(x for x in bdfs_search.layers if x.properties.name == "IceCreamSales")
# Run the Forest-based Classification and Regression tool
forest_model = arcgis.geoanalytics.analyze_patterns.forest(prediction_type = "train",
input_layer = icecream_sales,
var_prediction = {"fieldName":"Amount", "categorical":true},
var_explanatory = [{"fieldName":"Weekend", "categorical":true},
{"fieldName":"Temperature", "categorical":false},
{"fieldName":"Holiday", "categorical":true},
{"fieldName":"DistanceToBeach", "categorical":false}],
sample_size = 50,
output_name = "ice_cream_prediction")
유사한 도구
ArcGIS GeoAnalytics Server 포레스트 기반 분류 및 회귀 도구는 Leo Breiman의 랜덤 포레스트 알고리즘의 채택을 사용하여 예측을 생성하거나 모델링하는 데 사용합니다. 서로 비슷하지만 약간 다른 문제를 해결하는 데 유용한 기타 도구를 사용할 수 있습니다.
Map Viewer Classic 분석 도구
ArcGIS GeoAnalytics Server 일반화된 선형 회귀 도구를 사용하여 모델 및 예측을 생성할 수 있습니다.
ArcGIS Pro 분석 도구
ArcGIS Pro에서 해당 도구를 실행하려면 활성 포털이 Enterprise 10.7 이상이어야 합니다. GeoAnalytics 피처 분석을 수행할 수 있는 권한을 가진 계정을 사용하여 포털에 로그인해야 합니다.
포레스트 기반 분류 및 회귀 지오프로세싱 도구를 공간 통계 도구상자의 일부로 사용하여 ArcGIS Pro에서 유사한 회귀 작업을 수행할 수 있습니다.
공간 통계 도구상자의 일반화된 선형 회귀 지오프로세싱 도구를 통해 일반화된 선형 회귀(GLR)를 수행하여 ArcGIS Pro에서 설명 변수 집합과의 관계에 따라 예측을 생성하거나 종속 변수를 모델링할 수 있습니다.
공간 통계 도구상자의 지리 가중 회귀분석 지오프로세싱 도구를 사용하여 ArcGIS Pro에서 지리 가중 회귀분석(GWR)을 수행할 수 있습니다.