레이블이 랜덤포레스트인 게시물을 표시합니다. 모든 게시물 표시
레이블이 랜덤포레스트인 게시물을 표시합니다. 모든 게시물 표시

2026-09-28

산사태 위험지도는 어떻게 만드나 | 취약성 모델링 | GeoAI 기초 13편

산사태 위험지도는 어떻게 만드나 | 취약성 모델링 | GeoAI 기초 13편

🎬 1분 브리핑 영상

📌 3줄 요약

  • 경사·지질·강우 등 공간 인자를 조합해 산사태 취약성 지도를 만든다.
  • 통계 모델과 머신러닝 모델은 원리가 다르지만 목표는 같다.
  • 위험지도의 숫자는 확률이지 예언이 아니므로 해석에 주의가 필요하다.

장마철이 끝나고 뉴스에 "이 지역은 산사태 위험 1등급"이라는 자막이 뜹니다. 그 숫자는 어디서 나온 걸까요? 누군가가 산을 직접 걸어 다니며 위험도를 매긴 것은 아닙니다. 경사각, 지질 특성, 과거 강우 기록, 토지피복 정보 같은 여러 공간 데이터를 모아 모델에 넣고 계산한 결과입니다.

산사태 위험지도를 만드는 과정을 취약성 모델링이라고 합니다. 취약성(vulnerability)이란 어떤 조건에서 재난이 발생하기 쉬운 정도를 수치로 표현한 것입니다. 이 모델이 어떻게 만들어지고, 지도를 읽을 때 무엇을 조심해야 하는지 차근차근 살펴보겠습니다.

🏔️ 산사태 위험지도를 만들 때 어떤 데이터가 필요한가요?

취약성 모델링의 첫 단계는 입력 인자를 고르는 일입니다. 입력 인자란 산사태 발생과 관련이 있다고 알려진 지형·지질·기상 정보를 말합니다. 가장 기본이 되는 것은 경사각입니다. 경사가 가파를수록 중력 방향으로 토양이 미끄러지기 쉽습니다. 여기에 경사 방향(사면향), 곡률(지표면이 오목한지 볼록한지)도 함께 씁니다.

지질 정보도 중요합니다. 같은 경사라도 암석이 풍화된 정도, 점토 함량, 투수성에 따라 물이 스며드는 속도가 달라집니다. 강우 자료는 누적 강우량과 시간당 강도를 모두 고려합니다. 토지피복(숲, 나지, 논밭 등)은 뿌리가 토양을 붙잡는 효과를 반영합니다. 이 밖에 도로 절개지나 계곡 거리 같은 인위적 요소도 포함할 수 있습니다. 실무에서는 각 기관이 보유한 수치 표고 모델(DEM)과 지질도, 기상 관측 데이터를 GIS에서 같은 격자 크기로 정렬하는 작업부터 시작합니다.

📊 통계 모델로 취약성을 계산하면 어떤 원리인가요?

통계 기반 모델의 대표적인 방식은 로지스틱 회귀(logistic regression)입니다. 회귀라는 이름이 낯설어도 개념은 단순합니다. 과거에 산사태가 났던 지점과 나지 않은 지점을 비교해서, 어떤 인자 조합이 산사태와 얼마나 함께 나타났는지 수치로 정리하는 것입니다. 결과는 0과 1 사이의 값, 즉 발생 가능성으로 표현됩니다.

비슷한 원리의 도구로 빈도비(frequency ratio) 방법이 있습니다. 전체 지역에서 특정 경사 범위가 차지하는 면적 대비 그 범위에서 실제 산사태가 일어난 비율을 계산해 가중치를 매기는 방식입니다. 계산이 투명해서 결과를 설명하기 쉽다는 장점이 있습니다. 재난안전 담당자가 지방자치단체에 위험 등급을 설명할 때, 어떤 인자가 얼마나 기여했는지 보여 줄 수 있어 실무에서도 많이 활용됩니다.

🤖 머신러닝 모델은 통계 모델과 무엇이 다른가요?

머신러닝 모델은 인자 간의 비선형 관계를 스스로 찾아냅니다. 예를 들어 랜덤 포레스트(random forest)는 수백 개의 결정 트리를 만들고 투표로 결과를 냅니다. 결정 트리는 "경사 30도 이상이면서 점토 함량이 높으면 위험"처럼 조건을 나무 가지처럼 분기하는 구조입니다. 여러 트리의 의견을 합치니 한 트리가 과적합되는 문제를 줄일 수 있습니다.

모델을 직접 써보고 싶다면 파이썬의 scikit-learn 라이브러리로 시작할 수 있습니다.

from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import roc_auc_score

X_train, X_test, y_train, y_test = train_test_split(
    features, labels, test_size=0.2, random_state=42
)
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
print("AUC:", roc_auc_score(y_test, model.predict_proba(X_test)[:,1]))

AUC(수신자 조작 특성 곡선 아래 면적)는 모델이 산사태 발생 지점과 미발생 지점을 얼마나 잘 구분하는지 보여주는 지표입니다. 1에 가까울수록 구분 능력이 높습니다. 실무 적용 전에 검증 데이터로 반드시 이 값을 확인해야 합니다.

🗺️ 완성된 위험지도, 어떻게 읽어야 하나요?

취약성 지도는 격자(픽셀) 또는 소유역 단위로 색깔을 달리해 등급을 표시합니다. '매우 높음'으로 표시된 구역은 과거 발생 패턴과 입력 인자를 종합했을 때 상대적으로 위험도가 높다는 뜻입니다. 반드시 기억해야 할 점은 이 값이 확률이지 예언이 아니라는 것입니다. 위험도가 낮은 구역에서도 예상치 못한 강우나 지형 변화로 산사태가 발생할 수 있고, 높은 구역이라고 해서 반드시 이번 장마에 무너진다는 뜻이 아닙니다.

해봐야 아는 것도 있습니다. 모델이 출력한 지도를 현장 사진이나 최근 항공영상과 겹쳐보면, 실제 산사태 흔적이 고위험 구역과 얼마나 일치하는지 직접 눈으로 확인할 수 있습니다. QGIS에서 래스터 레이어를 불러온 뒤 레이어 패널에서 오른쪽 클릭 > 속성 > 심볼로지 탭에서 단계 구분 색상을 설정하고, 위성영상 레이어를 아래에 깔아 투명도를 조절해 보면 지도의 신뢰성을 직관적으로 점검할 수 있습니다.

⚠️ 위험지도를 실무에 쓸 때 어떤 한계를 알아야 하나요?

모델은 학습 데이터 품질에 크게 좌우됩니다. 과거 산사태 목록이 불완전하거나 특정 지역에만 편중되어 있으면, 모델도 그 편향을 그대로 이어받습니다. 또한 입력 인자의 공간 해상도가 낮으면(예: 경사 데이터가 30m 격자일 때) 좁은 계곡이나 절개지처럼 세밀한 위험 구역을 놓칠 수 있습니다.

모델 종류마다 결과가 다르게 나오는 것도 흔한 일입니다. 같은 지역을 로지스틱 회귀와 랜덤 포레스트로 각각 분석하면 고위험 구역의 위치와 면적이 달라질 수 있습니다. 따라서 단일 모델의 결과를 절대적으로 믿기보다는 여러 모델의 결과를 비교하거나 앙상블(여러 모델의 결과를 합산)하는 방법을 씁니다. 실무에서는 위험지도를 만든 기관, 사용한 데이터의 기준 연도, 모델 검증 지표를 메타데이터로 함께 보관해야 다음 담당자가 지도를 올바르게 해석할 수 있습니다.

🖥️ 화면에서 따라하기

따라하기 단계

  1. DEM 내려받기
    국토지리정보원 공개 DEM 포털에서 연구 대상 지역의 수치 표고 모델 파일을 내려받는다.
  2. QGIS 불러오기
    QGIS 상단 메뉴 레이어 > 레이어 추가 > 래스터 레이어에서 내려받은 DEM 파일을 선택하고 추가를 누른다.
  3. 경사 계산
    상단 메뉴 래스터 > 분석 > 경사(Slope)를 선택하고 입력 레이어에 DEM을 지정한 뒤 실행을 누른다 (메뉴 위치는 QGIS 버전에 따라 다를 수 있으며, 못 찾으면 상단 검색창에 'Slope'를 입력한다).
  4. 심볼로지 설정
    경사 레이어에서 오른쪽 클릭 > 속성 > 심볼로지 탭에서 단일 밴드 의사 색상을 선택하고 등급 수를 5로 지정한 뒤 분류를 누른다.
  5. 위성영상 겹치기
    XYZ Tiles에서 Google Satellite 레이어를 레이어 패널 아래쪽으로 드래그해 배치하고, 경사 레이어의 투명도를 50%로 조절해 두 레이어를 함께 본다.
  6. 결과 점검
    실제 산사태 발생 이력 지점(시도 재난안전 부서 제공 데이터)을 벡터 레이어로 불러와 고경사 구역과 일치 여부를 눈으로 확인한다.

※ 프로그램 버전에 따라 메뉴 이름이 조금씩 다를 수 있습니다. 위 그림은 순서를 정리한 도식입니다.

✍️ 그대로 복사해 쓰는 프롬프트

산사태 취약성 분석 결과를 주민 설명 자료나 내부 보고서 형식으로 정리할 때 사용

당신은 재난안전 분야 보고서 작성을 돕는 전문 보조자입니다.
아래 조건에 맞게 산사태 취약성 분석 결과 요약문을 작성해 주세요.

- 대상 지역: [시·군·구명]
- 분석에 사용한 주요 인자: [경사, 지질, 강우 등 실제 사용 인자 목록]
- 모델 종류: [로지스틱 회귀 / 랜덤 포레스트 / 기타]
- 고위험 구역 비율: [전체 면적 대비 %]
- 모델 검증 지표(AUC 등): [값]

작성 조건:
1. 주민이나 비전문가도 이해할 수 있도록 전문용어는 괄호 안에 짧게 설명한다.
2. 위험지도는 확률적 결과이며 예언이 아님을 명시하는 문장을 반드시 포함한다.
3. 결과를 과장하거나 특정 지점이 반드시 붕괴된다는 표현은 쓰지 않는다.
4. 분량은 A4 반 페이지(약 400자) 이내로 한다.
5. 작성 후 사람이 확인해야 할 항목을 별도로 3가지 나열한다.

※ 대괄호 부분을 상황에 맞게 바꿔서 쓰세요. 받은 답은 그대로 쓰지 말고 사실 확인을 거치세요.

🧪 직접 해보기

  • 국토지리정보원 브이월드(Vworld) 지도 서비스에서 '산사태 위험지도' 레이어를 켜고, 내가 사는 지역의 등급을 직접 확인해 본다.
  • QGIS에서 공개 DEM 데이터를 내려받아 경사 분석을 실행하고, 결과 색상이 지형과 눈으로 봤을 때 일치하는지 위성영상과 겹쳐 비교해 본다.
  • 같은 지역에 대해 로지스틱 회귀와 랜덤 포레스트를 각각 돌려 결과 지도가 어떻게 달라지는지 비교하며 모델 선택의 영향을 직접 느껴본다.

❓ 자주 묻는 질문

Q. 산사태 위험지도에서 '1등급'이 나오면 무조건 위험한 건가요?
A. 1등급은 동일한 조건의 지역 중 상대적으로 취약성이 높다는 뜻이지, 반드시 산사태가 발생한다는 예언이 아닙니다. 등급은 모델이 사용한 데이터와 기준에 따라 달라질 수 있으므로, 지도를 만든 기관의 메타데이터(사용 데이터, 기준 연도, 검증 지표)를 함께 확인하는 것이 중요합니다.

Q. 머신러닝 모델이 통계 모델보다 항상 더 정확한가요?
A. 어떤 모델이 더 정확한지는 데이터 품질, 지역 특성, 학습 샘플 수에 따라 달라집니다. 머신러닝 모델은 복잡한 패턴을 잘 잡지만 결과를 설명하기 어렵고, 통계 모델은 해석이 쉽지만 비선형 관계를 놓칠 수 있습니다. 두 접근법의 장단점을 이해하고 목적에 맞게 선택하는 것이 바람직합니다.

Q. 강우 데이터 없이 경사와 지질 정보만으로도 위험지도를 만들 수 있나요?
A. 가능은 하지만 정확도가 떨어질 수 있습니다. 산사태는 강우가 방아쇠 역할을 하는 경우가 많아, 강우 인자를 제외하면 같은 지형에서도 발생 시점을 반영하지 못합니다. 보유한 데이터 종류에 따라 인자를 조합하되, 모델 검증 지표로 결과의 신뢰성을 반드시 점검해야 합니다.

산사태 위험지도는 수십 년의 지형·지질 정보와 기상 기록을 수치로 압축한 결과물입니다. 그 지도를 보는 사람이 확률과 예언의 차이를 이해하고 있어야 올바른 대피 계획과 예산 결정으로 이어질 수 있습니다. 모델이 틀릴 수 있다는 것을 알면서도 최선의 판단을 내리는 것, 그것이 재난안전 실무의 핵심입니다. 다음 편에서는 이렇게 만들어진 위험지도를 대피로 계획이나 주민 대피 의사결정에 어떻게 연결하는지, 공간 네트워크 분석의 기초를 함께 살펴보겠습니다.

GeoAI 기초 시리즈 13편 · 전체 43편


재난안전과 GeoAI 이야기를 더 보고 싶다면 아래 채널도 함께 보세요.

📌 바로가기

2026-09-25

토지피복 분류 | 위성으로 땅의 쓰임을 읽는 법 | GeoAI 기초 11편

토지피복 분류 | 위성으로 땅의 쓰임을 읽는 법 | GeoAI 기초 11편

📌 3줄 요약

  • 위성영상으로 땅의 쓰임새를 구분하는 것이 토지피복 분류다.
  • 불투수면 비율은 홍수 유출량 예측의 핵심 입력값으로 쓰인다.
  • 혼동행렬과 카파 계수로 분류 결과의 신뢰도를 숫자로 확인한다.

재난 대응 부서에서 홍수 피해를 예측하려면 "이 유역의 땅이 얼마나 빗물을 흡수하는가"를 먼저 알아야 합니다. 그런데 현장을 일일이 걸어 다닐 수는 없으니, 위성이 찍은 영상을 보고 숲인지, 논밭인지, 아스팔트인지를 구분하는 작업이 필요합니다. 이것이 토지피복 분류입니다.

토지피복 분류는 픽셀 하나하나에 "이 땅은 무엇으로 덮여 있는가"라는 꼬리표를 붙이는 작업입니다. 꼬리표의 종류는 목적에 따라 달라지는데, 재난 분야에서는 도시(불투수면), 식생, 수계, 나지, 농지처럼 물의 흐름과 직결되는 항목으로 나누는 경우가 많습니다. 이 편에서는 분류의 원리, 불투수면과 유출계수의 관계, 그리고 결과의 신뢰도를 어떻게 따지는지까지 차근차근 살펴보겠습니다.

🗺️ 토지피복 분류가 정확히 무엇인가요?

토지피복(land cover)은 땅 표면이 실제로 무엇으로 덮여 있는지를 가리킵니다. 건물·도로처럼 사람이 만든 것, 숲·초지·논처럼 식생이 덮인 것, 강·호수 같은 수면, 흙이나 모래가 드러난 나지 등이 대표적인 항목입니다. 이를 위성영상의 픽셀 단위로 구분하는 것이 토지피복 분류입니다.

비슷한 개념으로 토지이용(land use)이 있는데, 이것은 사람이 그 땅을 어떤 목적으로 쓰는가를 뜻합니다. 같은 녹지라도 공원으로 지정된 곳과 방치된 빈터는 토지이용 측면에서 다르지만, 위성이 보는 표면 반사율은 비슷할 수 있습니다. 분류 결과를 해석할 때 이 차이를 알고 있으면 헷갈리지 않습니다.

분류 방법은 크게 두 갈래입니다. 전문가가 직접 픽셀의 밝기 범위를 정해 구분하는 규칙 기반 방식, 그리고 학습 데이터를 주고 알고리즘이 패턴을 찾게 하는 기계학습 방식입니다. 홍수나 산불 직후 빠르게 피해 범위를 파악할 때는 두 방식을 함께 쓰는 경우도 많습니다.

💧 불투수면과 유출계수는 왜 중요한가요?

불투수면(impervious surface)은 빗물이 스며들지 못하는 표면, 즉 아스팔트·콘크리트·지붕 같은 면을 뜻합니다. 비가 같은 양이 내려도 불투수면이 많을수록 지면 아래로 흡수되지 않고 하천으로 빠르게 몰리는 빗물의 양이 늘어납니다.

유출계수는 강수량 중 실제로 지표를 흘러 하천에 도달하는 비율입니다. 예를 들어 숲은 유출계수가 낮고, 포장도로는 높습니다. 홍수 수문 모형에서 이 계수를 설정할 때 토지피복 분류 결과가 직접 입력됩니다. 도시화가 진행될수록 불투수면 비율이 올라가고, 같은 비가 내려도 첨두유량(강이 가장 높이 불어나는 시점의 유량)이 커지는 이유가 여기 있습니다.

도심 속 내수 침수 취약 지역을 찾거나, 개발 예정지의 홍수 영향을 사전에 평가할 때 토지피복 분류로 산출한 불투수면 비율은 핵심 수치로 활용됩니다.

🤖 위성영상을 어떻게 분류 결과로 만드나요?

분류 과정은 크게 세 단계로 볼 수 있습니다. 첫째, 위성영상을 준비합니다. 광학영상이라면 밴드별 반사율 값이 입력 데이터가 됩니다. 여기에 NDVI(식생지수)나 NDWI(수분지수) 같은 파생 지표를 추가하면 분류 성능이 높아지는 경우가 많습니다(NDVI·NDWI에 대한 자세한 내용은 이 시리즈 4편을 참고하세요).

둘째, 학습 샘플을 만듭니다. 각 항목(도시, 숲, 논, 수계 등)에 해당하는 픽셀을 직접 골라 꼬리표를 붙이는 작업입니다. 9편에서 다룬 라벨링 과정과 같습니다. 샘플의 수와 균형이 결과 품질을 크게 좌우합니다.

셋째, 알고리즘을 돌려 나머지 픽셀에 항목을 배정합니다. 랜덤 포레스트(Random Forest, 여러 개의 결정 트리를 만들어 다수결로 분류하는 기계학습 기법)는 위성영상 분류에서 안정적인 성능을 보여 실무에서 자주 쓰입니다. Google Earth Engine에서는 다음처럼 간단히 호출할 수 있습니다.

var classifier = ee.Classifier.smileRandomForest(100)
  .train({
    features: trainingData,
    classProperty: 'landcover',
    inputProperties: bands
  });
var classified = image.classify(classifier);

이 코드에서 100은 트리 개수, trainingData는 앞서 만든 학습 샘플입니다.

📊 분류 결과가 맞는지 어떻게 확인하나요?

분류를 마쳤다고 바로 쓰면 안 됩니다. 결과가 실제와 얼마나 맞는지를 확인하는 단계가 반드시 필요합니다. 이때 쓰는 도구가 혼동행렬(confusion matrix, 예측 항목과 실제 항목을 표로 맞대어 얼마나 헷갈렸는지 보는 표)입니다.

표의 가로축은 분류 알고리즘이 예측한 항목, 세로축은 실제로 확인된 항목입니다. 대각선이 정확히 맞은 경우고, 나머지 칸은 틀린 경우입니다. 예를 들어 '논'으로 예측했는데 실제로는 '습지'였다면, 그 칸의 수가 클수록 두 항목을 혼동하고 있다는 신호입니다.

전체 정확도(overall accuracy)는 모든 픽셀 중 맞게 분류된 비율입니다. 그런데 항목별 샘플 수가 극단적으로 차이 나면 전체 정확도만으로는 판단이 어렵습니다. 이를 보완하기 위해 카파 계수(Kappa coefficient)를 씁니다. 카파는 0에서 1 사이 값으로, 우연히 맞을 확률을 제외한 뒤 실제 성능을 나타냅니다. 도구에 따라 다르지만 0.8 이상이면 통상적으로 신뢰할 만한 수준으로 봅니다.

해봐야 아는 것이 있습니다. 정확도 수치보다 혼동행렬의 어떤 항목끼리 자주 헷갈리는지를 먼저 봐야 합니다. 재난 분석에서는 불투수면과 나지를 혼동하거나, 수계와 그늘진 경사면을 혼동하는 오류가 자주 나타납니다. 이런 오류가 어느 방향으로 발생하는지 확인한 뒤, 그 항목의 학습 샘플을 보완하거나 분류 후 검토 과정을 추가해야 결과를 신뢰할 수 있습니다.

🏙️ 도시화 모니터링과 재난 대응에는 어떻게 쓰이나요?

토지피복 분류의 실제 쓰임은 단순히 지도 한 장을 만드는 것에 그치지 않습니다. 여러 시점의 분류 결과를 비교하면 어느 지역이 얼마나 빠르게 도시화되었는지를 확인할 수 있습니다. 논이었던 곳이 10년 뒤 공장 부지가 됐다면, 그 면적만큼 불투수면이 늘고 인근 하천의 홍수 위험도가 높아졌다는 뜻입니다.

산사태 위험 지역에서는 산림 피복이 얼마나 건강한지, 벌채나 산불로 나지가 늘었는지를 분류 결과로 주기적으로 확인합니다. 산불 이후 지표가 드러나면 다음 우기에 토사가 쏟아질 가능성이 커지기 때문에, 분류 결과는 사전 대피 계획의 근거 자료로도 씁니다.

분류 결과를 지자체 방재 부서에서 사용할 때는, 지도가 만들어진 시점과 현재 시점 사이에 개발이나 자연 변화가 없었는지 반드시 현장 확인이나 최신 항공사진과 대조해야 합니다. 지도가 아무리 정확해도 시간 차이가 있으면 의사결정에 오류가 생길 수 있습니다.

🖥️ 화면에서 따라하기

따라하기 단계

  1. 영상 불러오기
    Google Earth Engine 코드 편집기에서 ee.ImageCollection을 이용해 분석할 위성영상을 불러오고 Map.addLayer로 화면에 표시한다.
  2. 학습 샘플 그리기
    코드 편집기 왼쪽 패널 상단 도형 도구(점 아이콘)를 선택 후, 항목별로 관심 영역(ROI)을 클릭해 그린다. 각 ROI에 landcover 속성값(예: 0=도시, 1=식생)을 입력한다.
  3. 밴드·지표 선택
    분류에 쓸 밴드 목록을 bands 변수에 배열로 지정한다. NDVI를 추가할 경우 image.normalizedDifference(['B8','B4']).rename('ndvi')로 계산 후 합친다.
  4. 분류 실행
    ee.Classifier.smileRandomForest(100).train(...)으로 모델을 학습시키고, image.classify(classifier)로 전체 영상에 분류를 적용한 뒤 addLayer로 결과를 시각화한다. 메뉴 이름은 GEE 버전에 따라 다를 수 있으니 공식 문서(developers.google.com/earth-engine)에서 최신 함수명을 확인한다.
  5. 정확도 평가
    validationData.classify(classifier)로 검증 샘플을 분류한 뒤 ee.ConfusionMatrix를 호출한다. 결과 객체에서 .accuracy()와 .kappa() 메서드로 수치를 출력해 확인한다.
  6. 오류 항목 검토
    혼동행렬 출력값에서 대각선 외 수치가 큰 항목을 찾아 해당 픽셀이 영상에서 어느 지역인지 Map.addLayer로 직접 눈으로 확인하고, 학습 샘플을 추가 수집할지 결정한다.

※ 프로그램 버전에 따라 메뉴 이름이 조금씩 다를 수 있습니다. 위 그림은 순서를 정리한 도식입니다.

✍️ 그대로 복사해 쓰는 프롬프트

토지피복 분류 결과를 바탕으로 홍수 위험 보고서 초안의 관련 문단을 작성할 때 쓴다.

당신은 방재 분야 보고서 작성을 돕는 전문 보조자입니다.
아래 조건에 맞는 보고서 문단을 작성해 주세요.

[기관명]에서 작성하는 [대상 지역] 홍수 위험 분석 보고서에 들어갈 토지피복 현황 문단입니다.
분류 결과 요약: [분류 항목별 면적 비율, 예: 도시 42%, 식생 30%, 농지 18%, 수계 10%]
분석 목적: 불투수면 비율 산출 및 유출계수 추정
요구 형식: 300자 내외, 공문서 문체, 수치는 반드시 포함
하지 말아야 할 것: 확인되지 않은 수치를 만들어 내지 말 것, 결과를 과장하지 말 것
작성 후 사람이 확인해야 할 항목: 분류 시점과 현장 상황의 일치 여부, 항목별 면적 단위 오류

토지피복 분류의 혼동행렬 수치를 해석하는 방법을 쉽게 설명받을 때 쓴다.

당신은 GIS 초보자에게 공간분석 개념을 쉽게 설명하는 교육 도우미입니다.
아래 혼동행렬 결과를 보고 다음을 설명해 주세요.

혼동행렬: [행렬 수치를 여기에 붙여 넣으세요]
전체 정확도: [수치]
카파 계수: [수치]

설명 요청 항목:
1. 어떤 항목끼리 가장 많이 혼동됐는지
2. 그 혼동이 재난 분석에서 어떤 문제를 일으킬 수 있는지
3. 개선을 위해 어떤 조치를 취할 수 있는지
형식: 항목별 2~3문장, 중학생도 이해할 수 있는 말로, 수치는 그대로 인용
하지 말아야 할 것: 수치를 임의로 바꾸거나 행렬에 없는 결과를 지어내지 말 것

※ 대괄호 부분을 상황에 맞게 바꿔서 쓰세요. 받은 답은 그대로 쓰지 말고 사실 확인을 거치세요.

🧪 직접 해보기

  • Google Earth Engine 코드 편집기(code.earthengine.google.com)에서 공개된 토지피복 데이터셋(예: ESA WorldCover)을 불러와 특정 지역의 항목별 면적 비율을 직접 계산해 본다.
  • QGIS에서 기 제작된 공개 토지피복 래스터를 불러온 뒤, 래스터 > 래스터 분석 > 래스터 계층 통계로 항목별 픽셀 수를 확인하고, 불투수면 항목의 비율을 계산해 본다.
  • 혼동행렬 계산이 낯설다면, 손으로 2×2 표(도시/비도시 두 항목)를 그리고 임의의 숫자를 채워 전체 정확도와 카파 계수를 직접 계산해 보면 개념이 빠르게 잡힌다.

❓ 자주 묻는 질문

Q. 토지피복 분류와 시맨틱 분할(semantic segmentation)은 같은 건가요?
A. 결과는 비슷하지만 맥락이 다릅니다. 시맨틱 분할은 딥러닝 분야의 용어로, 픽셀마다 항목을 예측하는 신경망 구조를 가리킵니다. 토지피복 분류는 GIS·원격탐사 분야의 용어로, 방법론을 특정하지 않고 목적(땅의 피복 항목 구분)을 가리킵니다. 딥러닝으로 토지피복 분류를 수행하면 두 개념이 겹칩니다.

Q. 카파 계수가 높으면 분류 결과를 그냥 써도 되나요?
A. 높은 카파 계수는 좋은 신호지만 충분조건은 아닙니다. 학습 샘플과 검증 샘플이 같은 지역에서 추출됐다면 실제 현장에서의 성능은 더 낮을 수 있습니다. 또한 카파가 높아도 특정 항목(예: 불투수면과 나지)의 혼동이 집중적으로 발생할 수 있으므로, 혼동행렬의 세부 항목을 함께 확인해야 합니다.

Q. 무료로 쓸 수 있는 토지피복 데이터가 있나요?
A. 공개된 글로벌 토지피복 데이터는 여러 기관에서 제공하고 있습니다. 해상도, 갱신 주기, 항목 체계가 데이터마다 다르므로, 분석 목적에 맞는 항목이 있는지, 원하는 지역과 시점이 포함되는지를 먼저 확인하는 것이 좋습니다. 각 데이터의 이용 조건과 정책은 제공 기관 사이트에서 직접 확인해야 합니다.

위성영상으로 땅의 쓰임을 읽는 토지피복 분류는 단순한 지도 만들기가 아닙니다. 홍수 예측 모형에 넣을 불투수면 비율을 계산하고, 산사태 위험 지역의 산림 상태를 주기적으로 감시하며, 개발로 인한 변화를 시계열로 추적하는 일까지, 재난 대응의 여러 단계에서 실질적인 입력값을 제공합니다. 정확도 평가를 생략하고 분류 지도를 그대로 쓰는 것은, 오차가 어느 방향으로 얼마나 있는지 모른 채 의사결정을 내리는 것과 같습니다. 혼동행렬을 보는 습관을 들이는 것만으로도 분석 결과의 신뢰도를 한 단계 높일 수 있습니다. 다음 편에서는 토지피복 분류 결과를 시간 축으로 이어 붙여 변화 탐지를 수행하는 방법, 즉 "같은 장소의 두 장의 지도로 무엇이 달라졌는지를 자동으로 찾는 방법"을 살펴보겠습니다.

GeoAI 기초 시리즈 11편 · 전체 43편


재난안전과 GeoAI 이야기를 더 보고 싶다면 아래 채널도 함께 보세요.

📌 바로가기

GeoAI 위성·드론 영상 분석, 재난대응 산업이 뜬다 | 재난안전과 GeoAI

GeoAI 위성·드론 영상 분석 기술이 재난대응 산업의 중심으로 떠오르고 있다. 누리호 5차 발사, 위성·드론 영상 분석 스타트업, ArcGIS 경사지 위험 분석 서비스까지 오늘의 관련 소식을 정리했다. 📌 3줄 요약 아크넥사는 위성·드론 영상을...