데이터 기술 직군
Task : 다음분기 가격에 따른 판매 수요 예측
tv는 공장에서 소비자까지 8주 소요. 내일, 다음주 예측 필요하지 않음. 8주 뒤의 수요를 예측해야 함
→ 내가 예측할 시장과 제품에 대한 이해 필요
분석 데이터 → 분석 알고리즘
판매 실적. 연휴 일정. 판매 가격 → 수요 예측. 패턴 생성. 이상치 제거
데이터 엔지니어 → 인공지능/빅데이터 분석가
DE :
timeanddate.com → 전세계 연휴 일정 정보 페이지
이런 데이터들을 잘 탐색, 수집해서 DA에게 제공하면 됨
수집된 데이터의 검증 중요 잘못된 데이터를 제공하지 않도록
df.qty < 0 을 0으로 수정하는 코드 요청
→ 반품이 있을 경우 반품수량으로 10이 저장됨
→ 분석에는 필요하지 않으므로 0으로 대체
코드 수행 뒤 검증 단계
qty < 0 다 없어졌는지 확인
qty > 0 인 데이터에 문제가 없는지 확인
AI/BDA : 커뮤니케이션 중요
코드를 작성하는 능력은 기본적인 것
고객의 pain point를 잘 파악해서 실제로 필요한 모델을 만드는 것
데이터로 어떤 업무를 진행할 때는 고객의 story를 들어야 할 때가 많음
비대면으로 진행하기 쉽지 않다
고객의 pain point를 듣고 설계서를 작성한 다음 모델 설계
로직(설계서)이 나오기 전까지는 분석대상, pain point, 분석 목표를 먼저 정의
첫 번째 미팅에서 무조건 세 가지를 정의.
필요한 데이터들이 있는지 일정 짜기
두 번째 미팅- 이런 데이터들이 있는데 앞으로 어떻게 모델을 만들겠다
전체적인 큰 그림
세 번째 미팅- 어떤 식으로 설계했는지, 데이터 전처리 할 건지 제시
→ 이렇게 나누면 협업하기도 좋다
메인 페이지에 모델 설계서는 한 페이지로 -이후 모델 단계 설명은 몇십 페이지가 되더라도 설계서는 원페이지로 고객에게 제시
플랫폼 엔지니어:
일반 플랫폼-늦은 정보제공
빅데이터 분석 플랫폼-빠른 정보 제공
분산 처리 가능한 생태계, 시스템 구축
여러 기기에서 처리할 때 동일한 환경을 구축해주는 역할
DB 자체를 설치하고 에러 정리, 처리 → 데분 업무를 수행하면서 여기로 나아갈 수도 있다
화면 개발자:
프론트엔드
내가 만든 모델을 화면, 웹으로 테스트해볼 수 있음
→ DB랑 가까워서 백엔드 지식이 중요할 거라고 생각했는데 의외
-새로운 기술에 대한 관심이 모든 직업군에 공통적으로 필요함
주니어 기술 역량
- 공통 기술
- 데이터베이스 : 특히 중요. 비전공자와 전공자의 갭. 우리 회사의 데이터를 파이썬으로 불러올 때. 어디서 어떻게 불러올지 알아야 함. select join으로 데이터 불러오는 걸 하루에 삼십분씩 꾸준히 경험해보기. 손이 기억하도록
- 운영체제(리눅스 등)
- 특화 기술
- 웹/앱 개발 기술
- 빅데이터/인공지능 기술
- 플랫폼 기술
- 이 중에 하나는 잘 치고 나가야됨
- 문서화 기술
- 시스템/SW 구성도
- ERD/테이블 정의서
- 화면 정의서
- 테스트 절차서/결과서
- IT 용어
- 스키마 정보 좀 메일로 보내줘
- 인프라 정보 좀 공유해줘
- 정보처리기사 책을 통해 용어를 접해보자
인성
- 태도
- 너무 한 가지 언어에만 집중하지 않기 → 다른 언어를 사용해야될 수도 있다
- 긍정적 마인드
- 근태문제 X
- 문제해결능력
- 혼자 일 잡고 있지 않기
- 작업은 2주단위로 성과 내기
- 자기주도 학습으로 문제 해결
- 의사소통. 팀워크
- 학습능력
Q&A
Q. 공장형 분석가 쏟아지는 상황. 작년 코로나 이후 개발자 대량 해고. 분석가 수요가 몇년 후까지도 이어질지? 매력적인 직업일까? 살아남는다면 어떤 스택이 필요할까?
A. 사람은 많지만 진짜 개발할 수 있는 개발자는 없다는 게 공통적인 반응
같이 일할 수 있는 개발자가 부족하다. 분석가가 많이 배출되지만 회사에 들어갔다가 퇴사하는 경우가 많다.
오래 하는 비결: 부딪혀보는 것. 프로젝트를 할 때 마음 약해지지 말고 두려움을 이겨내는 것.
두려움의 근원→ 생태계에 대한 지식 부족. 내 모델이 어떻게 배포될까? 실무에 대해 잘 모른다고 생각하고 막혀있음 → 만든 분석 모델을 배포해보기.
ETL 모델-데이터 불러와서 저장하는 간단한 모델. 실행 가능한 파일로 만들어서 특정 서버에 두고 실행시켜보기. 만든 모델을 코랩에서만 돌리지 말고 어디로 갈지. 어떤 식으로 쓰일지 고민하면 개발만 해본 사람과 큰 차이가 생김. 모델을 웹에 배포하면, 내가 만든 모델이 한 번만 돌고 끝나지 않고 내일도 돌고 다음주도 돌아야함→ 어떻게 개선할지 고민하게 됨
내가 만든 모델을 파일로 저장해서 명령베이스에 등록하고 모델이 어떻게 돌아가는지, 데이터 수집 모델이면 쌓인 데이터가 어디로 가는지. 내가 만든 모델로 운영~배포까지 경험해보기
스케줄을 걸어서 매일 10시에 돌아가는 모델을 만든다거나. 웹과 연결된 모델을 만든다거나. end to end를 경험해보기
Q. 프로젝트를 웹으로 배포할 때 어느정도까지 해야할까?
A. 폴더에 코드를 코드별로 저장하고 데이터를 데이터베이스 따로 저장. 리눅스 운영체제로 모델을 실행시킬 수 있음
웹 구현이 부담스럽다면 postman 도구로 서버를 오픈해보기.
머신러닝 모델: 데이터를 기계에 학습시키고, 새로운 피처를 줬을 때 결과를 리턴함
특정 날짜를 지정하면 해당 날짜에 해당하는 혈당을 리턴. 분석 서버를 오픈하는 것까지는 해야한다.
⇒ 모델 서빙
내가 만든 모델을 서비스하기 위해서는 오픈을 해주고, 웹에서는 그 정보로 화면만 찍어내면 됨
모델 서빙 전에 꼭 경험해볼 것
크론탭
리눅스 운영체제에 서버를 만들기 힘들다면
20 10 *** / urs/local/aa.py
크론탭으로 내가 만든 모델을 배포할 수 있음
⇒ 포트폴리오 컨셉을 둘 중 하나로 정한다고 가정
0. 데이터를 처리하는 모델
스케줄을 걸어서 매주/매일 데이터를 처리(수집, 분석, 등등)
크론탭을 활용해서 배포 경험 가능
크론탭+리눅스+파이썬으로 서치
1. 머신러닝/딥러닝 모델을 만들 수 있다면
모델 서빙. 분석 서버
→ FastAPI로 서빙 → postman으로 테스트 가능
유튜브 영상 참고
https://www.youtube.com/watch?v=QBiL5Lp56x0
Q. 데이터분석 후 결과물, 모델에 확신을 가지는 방법?
A. 당연히 정확도도 중요. 정확도 개선이 쉽지 않음.
기준이 애매할 경우 모델경합. 기계가 더 높게 내는 게 1순위. 그 다음부터 개선. 모델을 여러 개 경합시켰더니 어떤 모델이 우수했다~ 어떤 특징이 있다~ 이런 것으로 승부를 보면 탈출할 수 있음
데이터분석 프로젝트를 하고 머신러닝 모델을 만들면서도 이걸 어떻게 현업에서 활용한다는 걸까 감이 잡히지 않았다. 이번 특강을 통해 데이터분석가로 창업을 한다면 어떻게 업무가 진행되는지 알게 되었다. 데이터분석 프로젝트를 배포하는 것도 새로운 관점이었다. 지금까지 해본 배포는 Plotly로 웹 페이지에 분석 및 시각화 결과물을 띄우거나 Tableau를 사용하는 정도였는데 모델을 배포, 서빙하는 것은 처음 접했다. 태블로에 시각화해서 결과를 제시하면 끝! 이라고 생각했는데 끝은 없다는 생각이 들었다.
줌으로 참석한 데이터분석 면접 특강 세션에서도 비슷한 말을 들었다. 학생같은 태도는 다른 게 아니라 과제를 제출하면 끝난다, 시험을 치면 학기가 끝난다고 생각한다는 것. 비즈니스에는 끝이 없다. 하나의 업무를 끝내면 다음 태스크가 생긴다. 이 업무를 끝낸 건 다음 업무를 하기 위함이었다. 오늘 들은 조언대로 end to end를 경험해보는 걸 목표로 프로젝트를 설계해봐야겠다. 마침 오늘 수업에서 영화 추천 모델을 만들었다. 데이터를 새로 크롤링하고 전처리 단계를 조금 추가해서 모델을 보완하고 데이터베이스와 모델 서빙을 공부해봐야겠다.
'세미나 후기' 카테고리의 다른 글
제로베이스 데이터직무 면접, 포트폴리오 현직자 특강 후기 (0) | 2024.03.31 |
---|