발자취
Orange3를 활용한 이미지 분석 프로젝트 - 감자 식물 질병 분류하기 본문
감자 농작물을 재배할 때, 19세기 아일랜드 대기근의 주범이었던 감자 역병이 발생하면 48시간 내에 전염병으로 번져 밭 전체에 영향을 미칠 수 있다. 또한, 이는 휴면 포자 상태로 수년간 생존이 가능하기 때문에 발병 초기에 발견하여 피해를 최소화하는 것이 중요하다. 따라서 감자 농작물에서 발생하는 early blight와 late blight 질병을 정확히 식별하고 건강한 감자 식물과 구분하는 인공지능 모델을 만들 것이다.
1. 데이터셋 준비
데이터셋은 다음 링크를 통해 다운로드 받아 사용했다.
https://www.kaggle.com/datasets/hafiznouman786/potato-plant-diseases-data?select=PotatoPlants
🌱 Potato Plant Diseases Data 🍂
Comprehensive Dataset for Identifying and Classifying Potato Plant Diseases
www.kaggle.com
Kaggle에는 다양한 데이터셋이 존재하기 때문에 데이터 분석 프로젝트를 진행할 때 아주 좋다!
2. 모델 훈련 및 검증

우선 모델 훈련 및 평가의 전체 과정은 다음과 같다.
1) Import Images
다운로드 받은 이미지 데이터셋 폴더를 Import 한다.
2) Import Images → Image Viewer
Import 한 이미지를 확인한다.
3) Import Images → Data Table

Data Table을 확인해보면, 기계학습에 필요한 독립변수(feature)가 없는 것을 확인할 수 있다.
4) Import Images → Image Embedding → Data Table
비정형 데이터인 이미지 데이터에서 feature를 추출하여 기계학습에 적합한 형태로 바꿔주는 Embedding 작업을 진행한다.

Data Table을 확인해보면, feature가 2048개가 된 것을 확인할 수 있다.
5) Image Embedding → Data Sampler
전체 데이터셋에서 훈련 데이터와 테스트 데이터를 무작위로 나눠준다.

전체 데이터 2152개에서 70%인 1507개의 데이터를 훈련 데이터로, 나머지 645개의 데이터를 테스트 데이터로 사용하도록 비율을 설정했다.
6) Data Sampler → Logistic Regression | kNN | Neural Network | Random Forest | SVM → Test and Score

샘플링한 데이터로 총 다섯 개의 모델을 훈련시켰다.
7) Data Sampler → Test and Score
모델 훈련이 제대로 이루어졌는지 확인하기 위해 검증 작업을 진행한다.

이때, 테스트 데이터로 모델의 성능을 평가하기 위해 Data Sampler의 ‘Remaining Data’를 연결해줘야 한다.

Test and Score 위젯을 더블 클릭하여 모델의 분류 정확도(CA)를 확인해보면, Logistic Regression의 분류 정확도가 가장 높은 것을 확인할 수 있다.
8) Test and Score → Confusion Matrix

Confusion Matrix 위젯을 더블클릭 해보면 각 모델의 분류 결과 및 성능을 확인할 수 있다.
역시 Logistic Regression이 가장 분류 과정에서의 오차가 적은 것을 확인할 수 있었다.

끝!