미니 프로젝트는 데이터분석 기획부터 시각화까지 분석프로세스 중 일부를 수행합니다.
관심있는 분야의 주제를 선정하여 데이터수집(필요하다면 크롤링까지) 및 EDA, 시각화를 통해
데이터의 인사이트를 얻기위한 목적으로 수행합니다.
지원하고자 하는 필드의 유사 데이터를 선택한다면 취업에 필요한 좋은 포트폴리오가 됨.
분석 프로젝트의 목적은 현재까지 수강한 수업내용을 바탕으로 사용 가능 한 모든 분석 방법을 동원하여
데이터 내 인사이트를 도출, 더 나아가서는 분석 내용을 바탕으로 서비스 제안 내지
시각화 대시 보드를 제작하는 것이 목표
1. 데이터 분석 프로젝트란?
문제정의에 따라 데이터를 수집, 분석, 모델링을 거쳐 결과물을 만들어내는 전 과정
데이터 과학자의 관점에서 데이터를 연구
데이터를 연구하기에 다양한 필드에 적용이 가능하다
2. 프로세스
- 문제정의
- 데이터수집
- 데이터탐색
- 데이터전처리
- 모델링
- 모델평가
- 결과보고서 작성
2.1 문제정의
프로젝트의 시작, 동기
현업 프로젝트 컨설팅 시 가장 어려워하는 부분
문제정의 전 무엇을 할 수 있는지 파악이 필요함
2.1.1 잠깐 커리큘럼을 넘어서서 머신러닝의 기본컨셉
𝑦 = 𝑓(𝑥)
- 𝑦 = 해결해야 하는 문제 (종속변수, target data)
- 𝑓() = 머신러닝 알고리즘 (모델)
- 𝑥 = 훈련데이터 (설명변수, train data)
2.1.2 문제정의는 결국 𝑦를 어떻게 풀어낼 것인가에 대한 기획
2.1.3 해결 가능한 𝑦 의 종류 및 정의
예측(prediction): 종속변수가 연속형 데이터
연속형 데이터 - 매출데이터, 온도, 시간등
분류(classification, clustring): 종속변수가 범주형 데이터
범주형 데이터 - 성별, 신용등급, 브랜드, 기차역등
알파고, 번역 등 생각보다 범주의 범위가 넓다
제일 중요한 것을 y값을 찾는것
2.1.4 예측은 무조건 과거 데이터가 있어야 합니다.
2.1.5 필요스킬
통계적 배경지식이 중요(업무 base)
1개의 데이터셋에서 1개의 문제를 해결하는 것을 기본으로 함
문제정의 예시
* 기존고객 개인정보를 바탕으로 한 신규고객 고객군 분류
- 종속변수 : 신규고객 고객군 분류
- 설명변수 : 기존고객 개인정보
(성별, 나이, 지역, 소득, 신용정보, 가입정도등등)
- 모델 : 분류문제를 해결하기 위한 classification
두 변수의 관계에서 설명을 하는 변수를 설명변수(explanatory variable)라 하고 이에 반응하는 변수를 반응변수(response variable)라고 합니다.
또한 설명변수는 독립적으로 움직이므로 독립변수(independent variable)라 하고 반응변수는 설명변수에 종속적이므로 종속변수(dependent variable)라고도 합니다.
복잡한 문제를 해결해야 할 경우 위의 1개 문제 = 1개 데이터셋의 원칙을 지키면 혼동이 덜 함
2.2 데이터수집
분석에 필요한 설명변수, 종속변수에 따라 데이터 수집
사내데이터 활용
데이터셋 활용
크롤링
API
실제 수집이 불가능한 데이터가 있을 수 있음
2.3 데이터탐색
pandas, 시각화등 다양한 EDA 방법을 사용하여 수집데이터를 흝어보는 과정
수집된 데이터가 문제에 적합하지 않거나 사용이 불가능한 경우가 있을 수 있음
2.3.1 EDA란?
Exploratory data analysis(탐색적 데이터 분석)으로 주어진 데이터를 다양한 방법으로 정보를 찾아내는 데이터 분석 방법입니다.
모델링 이전 데이터를 확인하고 흟어보면서 데이터에 대한 이해를 목적으로 시행되며 이를 바탕으로 정교한 모델링을 수행 할 수 있다.
2.4 데이터전처리
수집된 데이터를 모델링이 가능한 형태로 가공
데이터 병합, 데이터 형변환, 더미화, 클래스불균형 해결, 차원축소등
2.5 모델링
실제로 가장 손쉬운 과정 문제해결에 알맞는 모델 탐색 및 최적모델 탐색
사람의 공수가 아닌 하드웨어 스펙에 따라 작업시간 단축
전처리 과정이 제일 어렵고 오래 걸린다, 모델링은 상대적으로 쉬운 과정이다.
2.6 모델평가
고객군 분류가 되어있지 않은 신규고객데이터를 모델에 적용
기존분류 고객과 차이를 여러가지 방법으로 산출하여 평가
2.7 결과보고서 작성
문제정의부터 모델평가까지 데이터분석 프로젝트 전 과정에 대한 진행경과, 결과, 문제점, 해결방법을 기술
3. 실제 수행 프로젝트 살펴보기
실제 수행 프로젝트를 살펴보면서 프로젝트의 구성과 프로세스를 알아봅니다.
- 에어비앤비 1박 가격 예측 프로젝트 https://github.com/overgroove/Airbnb_linearregression
- NBA 선수 클러스터링 https://github.com/overgroove/NBA_position_clustering
GitHub - overgroove/Airbnb_linearregression: Airbnb, linear_regression
Airbnb, linear_regression. Contribute to overgroove/Airbnb_linearregression development by creating an account on GitHub.
github.com
GitHub - overgroove/NBA_position_clustering: Redefining NBA player position ( by player stats )
Redefining NBA player position ( by player stats ) - GitHub - overgroove/NBA_position_clustering: Redefining NBA player position ( by player stats )
github.com
4. 현업 프로젝트 예시
4.1 금융권
1. 카드사 부정사용
부정사용목록의 라벨링(정상, 비정상) 데이터를 사용하여 지도학습
특이점이 있는 카드 사용에 대한 검출 eg. 해외사용
타겟데이터의 클래스 불균형 문제 (비정상 데이터가 적음)
2. 로보어드바이저
증권사의 종목추천 알고리즘
개별종목, 유저기반 데이터, 증권사 리포트 데이터를 사용하여 학습
현재까지는 수동
3. 금융상품 추천
고객개인데이터학습 혹은 가입상품기반추천알고리즘사용
모델평가가어려움
4.2 제조업
1. 불량검출
제조공정 로그데이터 불량라벨링 데이터를 학습
각 제조 과정에서 발생가능한 불량요소를 검출, 불량률 감소에 활용
라벨링 어려움, 전처리 복잡
2. 공정최적화
각 공정 로그데이터와 결과물에 대한 데이터 학습
반도체, 자동차등 전통제조업에서 활용, 공정오류 및 위험 감지
3. IoT 활용
고객센터 음성데이터 학습
음성인식모델활용(사내 데이터의 창의적인 활용)
대용량데이터 처리문제
4.3 IT, 이커머스
1. 스팸메일필터
키워드 기반 나이브베이지안 모델 활용
오래된 머신러닝 기법, 예측력 우수
2. 번역기, 챗봇
텍스트데이터 학습 딥러닝모델 활용
모델학습에 필요한 데이터의 양에 따라 정확도 상승
3. 상품추천, 배송최적화
고객별 상품결제, 상품 카테고리 데이터 학습, 주소기반 데이터 학습
고객기반, 상품기반 연관알고리즘
4. 자율주행 자동차
5. 프로젝트 가이드라인
1. 프로젝트 수행목적, 동기
2. 사용할 데이터의 변수 설명 (수집경로, 단위 포함) - 반드시 작성, 안하면 까임!
3. 최소 10,000개 샘플 사용
4. 솔루션 제공 및 문제점 도출
상기 내용은 강제하는 내용은 아니지만 포함될 경우 좋은 프로젝트로 평가받는 요소들 입니다.
'Projects' 카테고리의 다른 글
전사 공통비 일반관리비 배부 시각화 Project (0) | 2025.02.04 |
---|---|
항공산업 분석(FSC, LCC 중점) Tableau 시각화 프로젝트 (0) | 2022.11.07 |
UFO 목격 데이터 분석 & 관광지도 제작 프로젝트(come with me) 22.08.26 (0) | 2022.08.29 |