Day 33 ~ 36 - 미니 프로젝트 > 항공사 만족도 예측 머신러닝

2022. 11. 29. 22:29Python

4일 간 그동안 배운 머신러닝 및 딥러닝 기법을 실제로 사용해보는 팀 미니 프로젝트를 진행했다.

 

사용한 데이터셋은 Kaggle의 Airline Customer Satisfaction 데이터셋이다.

Link: https://www.kaggle.com/datasets/teejmahal20/airline-passenger-satisfaction

 

Airline Passenger Satisfaction

What factors lead to customer satisfaction for an Airline?

www.kaggle.com

해당 데이터셋은 이미 훈련셋과 시험셋이 나뉘어 있고, 훈련셋 10만여개, 시험셋 약 26000여개의 데이터가 포함되어 있다.

전처리가 거의 되어 있는 데이터셋이었기 때문에 Null값을 삭제하는 간단한 전처리만 진행했다. 두 데이터셋 모두에 약 0.3% 정도의 결측치가 있었기 때문에 그냥 삭제해도 된다고 판단했다.

 

이후 고객의 개인 정보 데이터(즉, 객관적 데이터이다.)를 통해 K-Means 군집화를 진행했다. 여기서 K값은 엘보우 기법 및 실루엣 스코어를 이용하여 결정했다.

 

그 뒤, 피쳐 엔지니어링 등을 통해 각 항목에 대한 만족도 설문조사 데이터(즉, 주관적 데이터이다.)로 지도학습을 진행하는 것이 모델 성능이 제일 좋다는 것을 알았고, 그리드 탐색을 통해 최적의 하이퍼 파라미터 조합을 구성하여 모델학습을 진행했다.

 

마지막으로, Streamlit을 통해 시각화를 진행했다.

Link: https://syriness-miniprojec-my-appairline-passenger-satisfaction-2ogiew.streamlit.app/

 

Airline_passenger_satisfaction · Streamlit

raw data: 원 데이터셋에 약 10만개의 데이터가 있으며, 훈련셋에는 약 26,000개의 데이터가 있다.

syriness-miniprojec-my-appairline-passenger-satisfaction-2ogiew.streamlit.app

 

아쉬웠던 점으로는 우선 Streamlit과 pkl파일 사용법이 익숙하지 않아 코드의 메모리 사용량이 높아 Streamlit에서 자꾸 오류가 생겼다는 점이 있다. 또한 사정이 있어 오프라인으로 가지 못해 내가 발표를 하지 못했는데, 발표자의 발표 준비가 제대로 되지 않아 약간 아쉬웠다. 또한, 데이터 수가 많아서 그렇겠지만 모델 성능이 아주 높지는 않아 불만족스러웠다. 향후 아쉬운 점을 보완하여 포트폴리오 작성에 도움을 줄 수 있도록 하면 좋겠다.

 

Github 링크를 공유하고자 한다.

Link: https://github.com/syriness/MiniProject_AirlineMachineLearning

 

GitHub - syriness/MiniProject_AirlineMachineLearning

Contribute to syriness/MiniProject_AirlineMachineLearning development by creating an account on GitHub.

github.com

 

'Python' 카테고리의 다른 글

Day 32 - 딥러닝 > LSTM  (0) 2022.11.23
Day 31 - 딥러닝 > U-Net & RNN  (0) 2022.11.22
Day 29/30 - 딥러닝 > CNN  (0) 2022.11.21
Day 28 - 딥러닝  (0) 2022.11.17
Day 27 - 머신러닝 9 > K 평균 군집화 (K-Means Clustering)  (0) 2022.11.16