토지 맞춤형 작물 추천 서비스, 21세기 농사직설
기후변화 시대, AI는 어떤 작물을 추천할 수 있을까?
본 프로젝트는 청소년 올림피아드 하인슈타인을 위해 진행되었습니다.
gyuwon09/21st-Century-NongsaJikseol
문제에 대한 고민
“기후가 바뀌면, 우리가 심어야 할 작물도 달라지지 않을까?”
최근 몇 년간 폭염과 폭우 같은 이상기후를 직접 체감하면서, 기후변화가 단순한 환경 문제가 아니라 농업과 식량 문제로 이어지고 있다는 생각을 하게 되었습니다.
실제로 기후변화는 전 세계 농업 생산성에도 영향을 미치고 있습니다. 특히 기존에 재배되던 작물의 재배지가 변화하고 농산물의 수급이 불안정해지는 모습을 보며 한 가지 질문을 던졌습니다.
“변화하는 기후에 맞춰, 지역마다 가장 적합한 작물을 찾아낼 수는 없을까?”
농작물은 지역의 기온과 강수량뿐만 아니라 토양의 상태에 따라서도 재배 적합성이 달라집니다.
그렇다면 이러한 환경 데이터를 활용해 지역에 맞는 작물을 직접 추천해주는 시스템을 만들 수 있을 것이라고 생각했습니다.
그래서 만든 것이 21세기 농사직설입니다.
21세기 농사직설은 사용자가 지도에서 원하는 위치를 선택하면, 해당 지역의 기후·토양 데이터를 분석하여 가장 적합한 작물을 추천해주는 웹 서비스입니다.
서비스의 전체적인 흐름은 간단합니다.
위치 선택 → 환경 데이터 분석 → AI 예측 → 작물 추천
사용자가 지도에서 위치를 선택하면 위도와 경도를 추출하고, 이를 바탕으로 해당 지역의 환경 데이터를 활용합니다.
이후 머신러닝 모델이 환경 조건을 분석하고, 해당 지역에 적합한 작물을 추천합니다.
Tech Stack
- Frontend: HTML, CSS, Javascript
- Backend: Python
- AI/ML: scikit-learn(RandomForest)
- Data/API: Kaggle - Crop Recommendation Dataset, SoilGrid API, NASA POWER API
랜딩페이지
서비스에 접속하면 가장 먼저 만나볼 수 있는 페이지입니다.
프로젝트를 직관적으로 이해할 수 있도록 설명되어있습니다.
위치 선택
사용자가 지도를 통해 원하는 지도를 선택할 수 있는 페이지입니다.
지도에서 지점을 클릭하면 위도와 경도를 추출하고, 이를 기반으로 해당 지역의 환경 데이터를 활용합니다.
또한 시가지나 수중 지역처럼 농업에 적합하지 않은 위치는 추천 대상에서 제외하도록 구성했습니다.
지도를 위해 GoogleMap API가 활용되었으며, SoilGrid API와 호환되지 않는 시가지등 일부 지역은 응답 여부를 통해 추천 대상에서 제외하였습니다.
환경 데이터를 이용한 작물 추천
선택한 지역에서는 다양한 환경 데이터를 활용합니다.
주요 입력 데이터는 다음과 같습니다.
- 연평균 기온
- 연간 강수량
- 토양 산성도
- 토양 질소 농도
이러한 데이터를 머신러닝 모델에 입력하여 해당 환경에서 재배하기 적합한 작물을 분류합니다.
단순히 “이 지역의 날씨는 어떻다”를 보여주는 것이 아니라,
“그래서 이 지역에서는 어떤 작물을 재배하는 것이 적합한가?”
라는 실제적인 질문에 답하는 것을 목표로 했습니다.
SoilGrid API와 NASA POWER API를 통해 정보를 수집하였으며, Random Forest 모델을 활용하여 적합한 작물 추천 모델을 개발하였습니다.
Random Forest를 활용한 추천
Random Forest는 작물 추천에 활용된 Random Forest 기반 다중 클래스 분류 모델입니다. 여러 개의 Decision Tree를 생성하고, 각각의 예측 결과를 종합하는 앙상블 학습 알고리즘입니다.
이번 프로젝트에서는 다양한 환경 데이터를 입력받아 여러 작물 중 어떤 작물이 해당 지역에 적합한지를 분류하도록 모델을 구성했습니다.
모델의 예측 결과는 사용자가 이해하기 쉽도록 작물별 적합도 형태로 표현했습니다.
기존 서비스와의 차이
기존의 기상·농업 관련 서비스는 날씨, 예보, 기후 통계와 같은 정보를 제공하는 데 집중합니다.
하지만 농업 현장에서 필요한 질문은 조금 다릅니다.
“그래서 지금 이 지역에는 무엇을 심어야 할까?”
21세기 농사직설은 단순히 기후 정보를 보여주는 것에서 끝나지 않고,
지역 데이터 → AI 분석 → 맞춤형 작물 추천
으로 연결하여 사용자의 실제 의사결정을 돕는 것을 목표로 했습니다.
개발하면서 발견한 문제
프로젝트를 개발하면서 가장 크게 느낀 한계는 데이터의 중요성이었습니다.
초기에는 연평균 기온 등의 데이터를 활용해 머신러닝 모델을 학습시키고 작물을 추천했습니다.
하지만 실제 결과를 확인하면서 일부 지역에서 추천 정확도가 떨어지는 문제가 발생했습니다.
원인을 분석해보니 연평균 기온만으로는 지역의 실제 기후 특성을 충분히 표현하기 어려웠습니다.
예를 들어 연평균 기온이 동일하더라도 한 지역은 여름과 겨울의 기온 차이가 크고, 다른 지역은 일 년 내내 비슷한 기온을 유지할 수 있습니다.
즉, 평균값 하나만으로는 두 지역의 기후 차이를 제대로 표현하기 어려웠던 것입니다.
이를 통해 단순히 더 좋은 머신러닝 모델을 사용하는 것보다 문제를 제대로 설명할 수 있는 데이터를 선택하는 것이 중요하다는 것을 배웠습니다.
앞으로의 발전 방향
현재의 시스템은 주어진 환경 데이터를 기반으로 적합한 작물을 추천합니다.
앞으로는 여기에 더 다양한 데이터를 추가하고 싶습니다.
특히 연교차와 계절별 기후 데이터를 활용하여 지역의 기후 특성을 더욱 정확하게 반영하고, 나아가 미래의 기후 변화까지 고려할 수 있는 시스템으로 발전시키고 싶습니다.
예를 들어,
“현재 이 지역에 적합한 작물은 무엇인가?”
에서 더 나아가
“기후가 계속 변화한다면, 앞으로도 이 지역에서 지속적으로 재배할 수 있는 작물은 무엇인가?”
를 예측하는 것입니다.
또한 사용자가 기온, 강수량, 토양 상태 등을 직접 입력하여 원하는 환경에서의 작물 추천 결과를 확인할 수 있는 기능도 추가할 수 있습니다.
프로젝트를 마치며
21세기 농사직설은 단순히 AI를 사용해 작물을 추천해본 프로젝트가 아닙니다.
문제 발견 → 해결 방법 고민 → 데이터 수집 → 머신러닝 모델 구축 → 웹 서비스 구현 → 결과 검증
이라는 과정을 직접 경험한 프로젝트였습니다.
처음에는 기후변화가 농업에 어떤 영향을 미치는지에 대한 작은 궁금증에서 시작했습니다.
그리고
“그렇다면 변화하는 환경에 맞는 작물을 찾아주면 어떨까?”
라는 질문으로 이어졌고, 그 결과 지역의 환경 데이터를 AI가 분석하여 적합한 작물을 추천하는 21세기 농사직설을 만들게 되었습니다.
이번 프로젝트를 통해 가장 크게 배운 것은 기술보다 먼저 해결하고 싶은 문제를 명확하게 정의하는 것이 중요하다는 것입니다.
앞으로도 단순히 새로운 기술을 사용하는 것에 그치지 않고, 실제 문제를 발견하고 기술로 해결하는 개발자가 되고 싶습니다.
title: “토지 맞춤형 작물 추천 서비스, 21세기 농사직설” date: 2026-07-05 23:09:24 categories: [Research] tags: [Research, python, blender, science] —
기후변화 시대, AI는 어떤 작물을 추천할 수 있을까?
문제에 대한 고민
“기후가 바뀌면, 우리가 심어야 할 작물도 달라지지 않을까?”
최근 몇 년간 폭염과 폭우 같은 이상기후를 직접 체감하면서, 기후변화가 단순한 환경 문제가 아니라 농업과 식량 문제로 이어지고 있다는 생각을 하게 되었습니다.
실제로 기후변화는 전 세계 농업 생산성에도 영향을 미치고 있습니다. 특히 기존에 재배되던 작물의 재배지가 변화하고 농산물의 수급이 불안정해지는 모습을 보며 한 가지 질문을 던졌습니다.
“변화하는 기후에 맞춰, 지역마다 가장 적합한 작물을 찾아낼 수는 없을까?”
농작물은 지역의 기온과 강수량뿐만 아니라 토양의 상태에 따라서도 재배 적합성이 달라집니다.
그렇다면 이러한 환경 데이터를 활용해 지역에 맞는 작물을 직접 추천해주는 시스템을 만들 수 있을 것이라고 생각했습니다.
그래서 만든 것이 21세기 농사직설입니다.
21세기 농사직설은 사용자가 지도에서 원하는 위치를 선택하면, 해당 지역의 기후·토양 데이터를 분석하여 가장 적합한 작물을 추천해주는 웹 서비스입니다.
서비스의 전체적인 흐름은 간단합니다.
위치 선택 → 환경 데이터 분석 → AI 예측 → 작물 추천
사용자가 지도에서 위치를 선택하면 위도와 경도를 추출하고, 이를 바탕으로 해당 지역의 환경 데이터를 활용합니다.
이후 머신러닝 모델이 환경 조건을 분석하고, 해당 지역에 적합한 작물을 추천합니다.
Tech Stack
- Frontend: HTML, CSS, Javascript
- Backend: Python
- AI/ML: scikit-learn(RandomForest)
- Data/API: Kaggle - Crop Recommendation Dataset, SoilGrid API, NASA POWER API
위치 선택
서비스에 접속하면 먼저 프로젝트의 목적과 주요 기능을 확인할 수 있습니다.
이후 사용자는 지도에서 작물을 재배하고 싶은 위치를 선택합니다.
지도에서 지점을 클릭하면 위도와 경도를 추출하고, 이를 기반으로 해당 지역의 환경 데이터를 활용합니다.
또한 시가지나 수중 지역처럼 농업에 적합하지 않은 위치는 추천 대상에서 제외하도록 구성했습니다.
환경 데이터를 이용한 작물 추천
선택한 지역에서는 다양한 환경 데이터를 활용합니다.
주요 입력 데이터는 다음과 같습니다.
- 연평균 기온
- 연간 강수량
- 토양 산성도
- 토양 질소 농도
이러한 데이터를 머신러닝 모델에 입력하여 해당 환경에서 재배하기 적합한 작물을 분류합니다.
단순히 “이 지역의 날씨는 어떻다”를 보여주는 것이 아니라,
“그래서 이 지역에서는 어떤 작물을 재배하는 것이 적합한가?”
라는 실제적인 질문에 답하는 것을 목표로 했습니다.
Random Forest를 활용한 추천
작물 추천에는 Random Forest 기반 다중 클래스 분류 모델을 사용했습니다.
Random Forest는 여러 개의 Decision Tree를 생성하고, 각각의 예측 결과를 종합하는 앙상블 학습 알고리즘입니다.
이번 프로젝트에서는 다양한 환경 데이터를 입력받아 여러 작물 중 어떤 작물이 해당 지역에 적합한지를 분류하도록 모델을 구성했습니다.
모델의 예측 결과는 사용자가 이해하기 쉽도록 작물별 적합도 형태로 표현했습니다.
기존 서비스와의 차이
기존의 기상·농업 관련 서비스는 날씨, 예보, 기후 통계와 같은 정보를 제공하는 데 집중합니다.
하지만 농업 현장에서 필요한 질문은 조금 다릅니다.
“그래서 지금 이 지역에는 무엇을 심어야 할까?”
21세기 농사직설은 단순히 기후 정보를 보여주는 것에서 끝나지 않고,
지역 데이터 → AI 분석 → 맞춤형 작물 추천
으로 연결하여 사용자의 실제 의사결정을 돕는 것을 목표로 했습니다.
개발하면서 발견한 문제
프로젝트를 개발하면서 가장 크게 느낀 한계는 데이터의 중요성이었습니다.
초기에는 연평균 기온 등의 데이터를 활용해 머신러닝 모델을 학습시키고 작물을 추천했습니다.
하지만 실제 결과를 확인하면서 일부 지역에서 추천 정확도가 떨어지는 문제가 발생했습니다.
원인을 분석해보니 연평균 기온만으로는 지역의 실제 기후 특성을 충분히 표현하기 어려웠습니다.
예를 들어 연평균 기온이 동일하더라도 한 지역은 여름과 겨울의 기온 차이가 크고, 다른 지역은 일 년 내내 비슷한 기온을 유지할 수 있습니다.
즉, 평균값 하나만으로는 두 지역의 기후 차이를 제대로 표현하기 어려웠던 것입니다.
이를 통해 단순히 더 좋은 머신러닝 모델을 사용하는 것보다 문제를 제대로 설명할 수 있는 데이터를 선택하는 것이 중요하다는 것을 배웠습니다.
앞으로의 발전 방향
현재의 시스템은 주어진 환경 데이터를 기반으로 적합한 작물을 추천합니다.
앞으로는 여기에 더 다양한 데이터를 추가하고 싶습니다.
특히 연교차와 계절별 기후 데이터를 활용하여 지역의 기후 특성을 더욱 정확하게 반영하고, 나아가 미래의 기후 변화까지 고려할 수 있는 시스템으로 발전시키고 싶습니다.
예를 들어,
“현재 이 지역에 적합한 작물은 무엇인가?”
에서 더 나아가
“기후가 계속 변화한다면, 앞으로도 이 지역에서 지속적으로 재배할 수 있는 작물은 무엇인가?”
를 예측하는 것입니다.
또한 사용자가 기온, 강수량, 토양 상태 등을 직접 입력하여 원하는 환경에서의 작물 추천 결과를 확인할 수 있는 기능도 추가할 수 있습니다.
프로젝트를 마치며
21세기 농사직설은 단순히 AI를 사용해 작물을 추천해본 프로젝트가 아닙니다.
문제 발견 → 해결 방법 고민 → 데이터 수집 → 머신러닝 모델 구축 → 웹 서비스 구현 → 결과 검증
이라는 과정을 직접 경험한 프로젝트였습니다.
처음에는 기후변화가 농업에 어떤 영향을 미치는지에 대한 작은 궁금증에서 시작했습니다.
그리고
“그렇다면 변화하는 환경에 맞는 작물을 찾아주면 어떨까?”
라는 질문으로 이어졌고, 그 결과 지역의 환경 데이터를 AI가 분석하여 적합한 작물을 추천하는 21세기 농사직설을 만들게 되었습니다.
이번 프로젝트를 통해 가장 크게 배운 것은 기술보다 먼저 해결하고 싶은 문제를 명확하게 정의하는 것이 중요하다는 것입니다.
앞으로도 단순히 새로운 기술을 사용하는 것에 그치지 않고, 실제 문제를 발견하고 기술로 해결하는 개발자가 되고 싶습니다.


