nan + nan = 2nan

[인턴] EDA 및 데이터 정제 본문

Statistics/Machine Learning

[인턴] EDA 및 데이터 정제

2nan 2022. 4. 15. 15:55
728x90

서버를 지급 받고, GTX 1660 super 데스크탑 2대를 지급 받아 본격적으로 EDA를 진행했다.

우리가 다룰 데이터셋은 총 3개이다.

https://aihub.or.kr/aidata/30729

 

시설 작물 질병 진단 이미지

시설작물의 질병 진단을 위한 주요 시설원예작물(10종)질병 이미지 데이터

aihub.or.kr

https://aihub.or.kr/aidata/30731

 

노지 작물 질병 진단 이미지

노지 작물의 질병 진단을 위한 주요 노지 작물(10종) 질병 이미지 데이터

aihub.or.kr

https://aihub.or.kr/aidata/30730

 

노지 작물 해충 진단 이미지

노지 작물 해충 및 충해 진단을 위한 주요 노지 작물(10종) 해충 이미지 데이터

aihub.or.kr

 

각각 총 8~900GB 이며 총 3TB 가까이 된다.

그런데 지급 받은 서버의 총 용량이 3TB가 거의 안 되고, 데스크탑도 파티션이 나누어 있어 외장하드에 있는 것과

서버에 데이터셋 하나씩 EDA 및 전처리를 하고 삭제 후 다른 데이터셋을 올려 작업을 진행해야 하는 번거로움이 있다.

 

그래도 일단은 데이터를 올리기로 했다.

여기서도 시행착오를 좀 겪었다. 교육 당시 MobaXterm이 편리하다는 이야기를 듣고 간단히 사용해본 경험이 있어서 해당 프로그램을 사용해서 데이터를 올리려고 했다. 근데 사무실 네트워크 상태가 정말 좋지 않기도 했고, 중간 중간 끊기면 어디까지 올라갔는지도 모르고 제대로 올라가지 않는 문제가 생겼다.

그래서 다시 자문을 구해본 결과, FileZila를 사용해서 SFTP 방식으로 올리는 것이 가장 좋다고 이야기를 들어 사용해보았다.

https://filezilla-project.org/

 

FileZilla - The free FTP solution

Overview Welcome to the homepage of FileZilla®, the free FTP solution. The FileZilla Client not only supports FTP, but also FTP over TLS (FTPS) and SFTP. It is open source software distributed free of charge under the terms of the GNU General Public Licen

filezilla-project.org

 

사용을 했을 때, 확실히 안정감이 달랐다. 중간에 오류가 나서 끊기더라도, 다시 이어서 할 수 있다는 점이 좋았다.

일단 시설 작물, 노지 작물 데이터셋을 전송하는데 데이터셋 하나 당 1~2일 가량 걸렸던 것 같다.

네트워크, CPU 처리 속도때문에 제한이 걸리는 것 같지만 일단 올라갔다는 점에 만족한다.

 

해당 데이터셋을 올리면서, 로컬에서 외장하드로 데이터셋에 대한 EDA를 진행했다.

노지 작물의 경우, 좀 깔끔한 편이었지만 시설 작물의 경우 전처리를 해야하는 경우가 많았다. 

중복 데이터 / 양배추 증강 데이터인데 고추 증강 데이터와 동일 / 질병 - 작물, 질병 - 피해정도 오류 데이터 등

파일 이름을 코드로 뽑아 데이터셋 자체에서 제거하는 작업을 했다.

그리고 처음부터 완벽하게 데이터셋을 만들기 보다 간단히 많은 포션을 차지하는 다수범주데이터를 우선적으로 선별해 모델링을 하면서 성능을 높여가는 방향을 택했다. 예를 들어, 촬영 부위가 잎, 열매, 줄기, 뿌리 등 다양하지만 잎과 열매 데이터만 추리고, 주말농장에서 주로 기르지 않는 수박, 딸기, 참외 등 작물들은 제외하는 작업을 거치고 있다.

이제는 크게 2가지 논점이 남았다.

1) UnderSampling / 2) Modeling

언더샘플링의 경우, 정상 : 비정상 클래스 간 비율이 불균형해서 그러한 부분을 여러 기법을 비교해서 적절한 방법을 사용해야 할 것 같다.

모델링의 경우, 간단히 샘플링한 모델은 Yolov5인데 ResNet이나 EfficientNet과 같은 모델들과 비교하여 가장 높은 성능을 보이는 모델을 논문이나 간단히 테스트하여 비교해서 선정해야 한다.

 

Comments