방학 기간동안 AWS AI 교육 과정 수료했습니다
구글의 GCP 이외에는 클라우드 사용 경험이 없었기에 모집 공고를 보고 귀가 솔깃했습니다.
AWS환경에서는 우분투를 활용했는데, 이전에 홈 서버를 구축하며 우분투 서버와 네트워크 구조에 대해 많이 배우게 되어 큰 어려움은 없었습니다.
다만, AI와 Python을 함께 활용하는 교육과정이었는데 두 가지 모두 자세히 알지 못했기에 이 두 분야의 내용이 나올 땐 좀 더 집중해서 들어야 했습니다.
교육 막바지에 AWS + AI를 활용하여 프로젝트를 기획 및 개발하는 과정이 있었는데, 저는 함께 교육하기로 한 친구와 둘이서 진행했습니다.
주제는 머신러닝 기반 중고차 가격 예측 프로그램이었습니다.
백엔드, AI
AI를 학습시키기 위해선 우선 데이터셋이 필요했습니다.
공공데이터 포털 등 대부분의 데이터셋을 구할 수 있는 포털을 아무리 찾아봐도 원하는 데이터셋을 찾을 수 없었기에, 결국 직접 크롤링 하기로 결정했습니다.
크롤링에는 과거에 재택알바 자동화를 위해 학습만 살짝 해봤던 파이썬의 Selenium 라이브러리를 활용했습니다.
엔카의 모든 중고차 매물을 순회하며 각 매물의 제조사, 모델명, 연식, 주행거리, 가격을 csv 파일에 저장했고, 총 900페이지 (62000개의 매물)의 데이터셋을 만들 수 있었습니다.
모델 학습에 충분한 양의 데이터는 아니었지만 개발 기간을 짧게 가져가는 소형 프로젝트에는 충분하다고 판단했습니다.
이후 XGBoost 모델에 학습시켜 활용했습니다.
프론트엔드
프론트는 React + Typescripts + Vite + TailwindCSS를 기본으로 하여 Shadcn 이라는 컴포넌트 모음을 활용했습니다.
Shadcn은 처음 다뤄봤는데 편하게 컴포넌트 단위로 붙여넣어 사용할 수 있기에 진행하는 프로젝트의 규모에 매우 적절하다고 생각했습니다.
UI는 최대한 간결하게 필요한 기능한 생성했고, 제공한 UI에 가격을 예측하고 싶은 차량의 정보를 입력하면 백엔드와 통신하여 예측한 중고차의 가격을 표시해 줍니다.
// grand-trade-auto 구동영상