Small Steps Every Day

매일 천천히 조금씩 앞으로 나아가다.

새싹(SeSAC) | 전Z전능 데이터분석가/#3 Python 실무 프로젝트

[성동3기 전Z전능 데이터 분석가] DAY 22 _ 파이썬 실무 프로젝트 _ 팀빌딩 /문제정의

mindata1 2025. 1. 22. 22:44
첫 파이썬 프로젝트에서 중요한 점
  • 주제 선정보다는 문제정의, 기여한 부분이 더 중요
  • 통계 유의검정은 가능하면 하되, 어렵다면 처음에는 넘어가도 괜찮음
  • 데이터 수집과정을 직접 경험해보는 것이 좋음
  • 스프린트 정신으로 '완료주의'에 집중
  • 데이터양은 500 rows 이상 정도면 괜찮음 → 데이터 양보단 질
  • 개인 당 가설 3개 검증을 목표로 삼기

 

데이터 분석가란?

 

데이터를 분석 & 정리하여, 비즈니스적인 결정을 할 때 도움을 주는 데이터 분석 보고서를 만드는 역할이다. 또는 데이터 기반으로 어떤 Action 을 해야할지 제안할 수 있는 사람이다.

 

= 프로젝트를 통해서 만든 포트폴리오에서 보여줘야 하는 역량 !

 

 

이번 프로젝트의 결과물?

 

필요 역량

  • 데이터를 조회, 분석하는 스킬(파이썬)
  • 실제 데이터를 분석해서 나온 결과가 반영되는데 필요한 논리적 사고
  • 도메인 내 함께 일하는 사람과의 커뮤니케이션을 증명하는 과제 및 결과물

 

SQL & Python

 

SQL : 컴퓨터의 자원이 아닌 DBMS 의 자원을 활용하여 대규모 데이터 처리가 가능함

Python : 데이터 분석 시 컴퓨터의 Memory Size 에 따라 처리가 가능하기 때문에 소규모 데이터 처리에 유리

 

 

데이터 분석 프로젝트 단계

 

  1. 문제 정의
  2. 가설 수립
  3. 데이터 수집과 정리
  4. 패턴 인식
  5. 가설 검증
  6. 결론과 의사결정

 

데이터 분석 프로젝트 설계(변형)

 

아래 진한 글씨의 세 과정은 융통적으로 변형 가능하다.

  1. 문제정의 → 데이터 수집과 정리 → 가설 수립 → 모델 구축 → 모델 평가 → 배포와 모니터링
  2. 문제정의 → 가설 수립 → 데이터 수집과 정리 → 패턴 인식 → 가설 검증 → 결론과 의사결정
  3. 데이터 수집과 정리 → 문제 정의 → 가설 수립 → 패턴 의식 → 가설 검증 → 결론과 의사결정

 

 1. 문제정의 

 

데이터 분석과정에서 가장 중요한 과정이다. 문제정의가 명확하지 않다면, 분석과정 자체도 실패할 확률이 매우 높아진다. 주어진 문제를 정확히 이해해야 데이터와 접근 방법을 결정할 수 있다. 대략적인 문제에 대한 정확한 답을 내기보다, 올바른 문제에 대해 대략적인 답을 내는 것이 바람직하다.

 

  • 문제의 목표는 무엇인가?
  • 문제의 범위는 정확히 어디인가?
  • 문제 해결의 성공 및 실패의 척도는 무엇인가?
  • 문제 해결에 있어서의 제약조건(시간, 비용 등) 은 무엇인가?
  • 문제와 관련된 데이터에 포함되어야 하는 속성은?
  • 데이터 처리 및 분석을 위한 최적의 방법과 도구는?
  • 문제 해결을 통해서, 데이터 분석을 통해서 무엇을 알아내려는 것인가?
  • 한 번 작성하고 끝나는 것이 아니라, 해결 과정에서 끊임 없는 재검토 필요
  • 가지고 있는(구할 수 있는) 데이터에 따라서 문제정의가 필요
  • 비즈니스적인 결정을 할때 도움을 주는 데이터 분석인지 고민

 

 2. 가설 수립 

 

  • 분석할 데이터와 관련된 초기 가설이나 추측을 설정
  • 이 가설은 분석 과정에서 검증하거나 반증됨

 

 3. 데이터 수집 및 정리 

 

  • 데이터 추출, 정합성 검사, 전처리에 해당하는 과정
  • 분석에 적합한 형태로 데이터 바꾸기
  • 데이터 전처리 과정(결측치 처리, 데이터 정제 등)

 

데이터 전처리 단계

 

  1. 데이터 이해 및 탐색
    • 데이터 구조, 타입, 상위 몇줄의 데이터를 살펴보며 데이터에 대한 초기 이해
    • 기본 통계량(평균, 중앙값, 표준편차 등) 을 확인하여 데이터의 기본적인 특성 파악
  2. 데이터 정제
    • 결측치 처리: 결측치가 있다면 적절하게 처리 (평균값이나 중앙값 대체 또는 행/열 제거)
    • 이상치 탐지 및 처리
      • 박스 플롯 등을 사용해 이상치 탐지, 제거, 대체
  3. 데이터 형식의 통일
    • 날짜, 시간 등의 데이터 타입을 적절한 형식으로 변환
    • 문자열 데이터에서 대소문자를 통일하거나 공백 제거
  4. 데이터 변환
    • 범주형 데이터 처리: 원-핫 인코딩 등을 사용해. 범주형 데이터를 수치형으로 변환
    • 정규화 및 표준화: 숫자 데이터의 스케일을 조정
  5. 데이터 통합
    • 여러 테이블에서 수집된 데이터를 하나의 세트로 통합
    • 데이터 통합 시 Key 가 되는 열을 잘 확인하고 중복 또는 불일치 하는 데이터를 처리
  6. 피처 엔지니어링
    • 데이터에서 새로운 피처(column)을 생성하거나, 기존 피처를 변형하여 분석에 더 유용하게 만듬
    • 불필요하거나 중복적인 피처는 제거
  7. 데이터 품질 검증
    • 전처리한 데이터의 품질을 검증(결측치, 이상치 처리)
    • 데이터의 일관성과 정확성을 다시 한 번 확인

 

데이터 과학의 80%는 데이터 클리닝에 소비되고,
나머지 20%는 데이터 클리닝 하는 시간을 불평하는데 쓰인다
- Anthony Goldbloom (전 캐글 CEO)

 

 

 4. 패턴 인식 

 

  • EDA를 통해서 데이터 내의 패턴, 추세, 상관관계 등을 탐색
  • 데이터 시각화, 통계적 분석을 통해 중요한 인사이트 발견

 

 5. 가설 검증 

 

  • 초기에 설정한 가설을 데이터를 통해 검증
  • 필요한 경우, 통계적 검정(ex. T-Test 등), 모델링을 통해 가설을 검증

 

 6. 결론과 의사결정 

 

  • 분석 결과를 바탕으로 결론을 도출
    • 결과(Result) VS 결론(Conclusion)
    • 객관적 결과를 바탕으로 주관적, 논리적 사고가 포함된 결론
  • 결과를 기반으로 실질적인 비즈니스 의사결정을 내림

 

팀 빌딩

 

  • 의사결정자(팀장) : 의사결정, 팀 출석 확인
  • 기록 담당자(서기) : Team Notion 관리
  • 프로젝트 매니저 : 의사결정자 대행, 일정 관리, 타임키퍼
  • 연결 담당자 : 전체적인 흐름을 이해하고 전달하는 사람, Final 발표
  • 기술 담당자 : 교부재 관리, 툴 관리

 

주제 선정

 

평소 호기심이 있었던 뉴스와 주가 간 상관관계에 대해 텍스트 감성분석 지표로 파이썬 프로젝트를 진행해보면 좋을 거란 생각에 팀원들과 의논하여 최종 주제를 선정하였다.

 

문제정의

 

언론이 주가에 미치는 영향 문제 : 미국 장시간 기준 최근 6개월 네이버 뉴스 감성 분석을 활용해, 글로벌 자동차 배터리 기업 Top 5 의 주가 변동 현황을 파악하고, 언론이 주가에 미치는 영향을 분석한다.

 

 

Reflection

 

드디어 파이썬 프로젝트를 시작하게 되었다. 개별 주제 스프린트 시점부터 고민하며 흥미롭게 접근할 수 있으면서도 파이썬으로 다뤄보면 좋을 주제를 골라 오후에 발표를 하였다. 감사하게도 발표 전부터 관심을 가져주신 분들이 계셔서 팀원 모집을 수월하게 진행할 수 있었다. 팀 빌딩이 완료되고 역할 분담과 주제 선정의 시간을 가졌다. 주제 선정의 경우, 어디까지 다뤄볼 지에 대한 범위 설정에 의견이 분분했다. 그래서 노션 공용 스페이스에 각자가 하고 싶은 주제 방향성을 글로 적어 말로 공유하며 공통된 의견들을 기반으로 하나의 명확한 주제를 설정하였다. 다음 스텝인 문제정의는 주제를 좀 더 구체화하는 과정이다. 따라서 세부적으로 고민해봐야할 가치가 있는 질문들을 던지며 범위를 좀 더 좁혀가는 과정을 거쳤다. 내일 오전 중에 문제정의를 다시 한 번 얼라인을 한 후 본격 데이터 수집을 위해 역할을 분담할 예정이다.