본문 바로가기

Biusiness Insight/Data Science

(37)
[Tip] 데이터 분석 회의 진행 회의 전 (Before the meeting) 회의 목표 파악 (Indetify your objective) : 해결해야 할 문제나 요청을 포함하여 회의 목적/목표 및 원하는 결과를 설정 설득력 있는 의제 작성 (Crafting a Compelling agenda) : 데이터, 프로젝트 및 비즈니스에 대한 관점과 경험을 고려한 다양한 참가자를 지정 제시할 데이터 구성 (Organize the data to be presented) : 로우 데이터를 접근 가능한 형태로 전환하거나 시각화 의제를 준비하고 배포 (Prepare and distribute an angeda) 설득력 있는 의제 작성 (Crafting a compelling agenda) 회의 시작/종료 시간 (Meeting start and en..
Data Analyst vs. Data Scientist (데이터 분석가 vs. 데이터 과학자) 기술이 계속 발전함에 따라, 새로운 기술로부터 데이터를 수집/분석할 수 있는 것 자체가 기업의 경쟁우위가 되었다. 웹 사이트에서 소셜미디어 피드까지 분석하고 잘 활용된다면, 비즈니스 의사결정에 도움이 될 많은 데이터가 있다. 현재 기업의 성공 여부는 데이터를 얼마나 잘 활용하고, 분석을 적용하며, 새로운 기술을 구현할 수 있는지에 달려 있다. IBM의 조사에 따르면, 미국의 데이터 분석 분야에 38만명 이상의 구인이 있는 것으로 추정했다. 수요가 워낙 강하기 때문에 사실상 모든 업종에서 일자리가 있다고 봐도 무방하다. 주요 구인 사이트를 검색하면 동물원, 보건소, 은행 등 모든 유형의 기업이 제능 있는 데이터 전문가를 찾고 있다. 데이터 분석 유관 JD 파헤치기 (Decoding the Job Descr..
[데이터 분석] 문제 유형 6가지 데이터 분석은 단순히 정보를 플랫폼에 연결하여 인사이트를 찾는 것 뿐만 아니라, 문제를 해결하는 것이다. 문제의 근원을 찾고 실질적이 해결책을 찾기 위해 창의적인 사고를 하기 위해서는 문제가 무엇이든 간에, 가장 중요한 것은 문제를 이해하는 것! 어떤 정보를 포함해야 하는지, 데이터를 변환할 수 있는 방법 및 데이터를 사용하는 방법을 결정하는데 도움이 되는 문제 해결 방법으로 분석을 진행하는 것이 바람직함. 일반적인 문제 유형 6가지 1. 예측, Making predictions Using data to make informed decisions about how things may be in the future. 예측 문제 예시 : 새로운 고객을 유치하기 위한 최상의 광고방법 과거 광고 결과를 기반으로..
데이터 분석 수명주기 vs. 데이터 수명주기 (life-cycle) 데이터 분석은 통계에 뿌리를 두고 있다. 통계는 그 자체로 꽤 오랜 역사를 가지고 있다. 고고학자들은 피라미드의 건설로 고대 이집트의 통계학이 시작되었다고 일컫는다. 고대 이집트인들은 데이터 정리의 달인이었다. 현재 스프레드 시트와 체크리스트의 가장 초기 모습으로 볼 수 있는 파피리(papyri, 종이와 같은 재료)에 계산과 이론을 문서화 했다. 데이터는 생성(created), 사용(consumed), 테스트(tested), 처리(processed) 및 재사용(reused)되는 여러 단계를 거친다. 데이터 분석 수명 주기는 전문가들 사이에는 잘 알려져 있지만, 정의된 구조는 없다. 모든 데이터 분석 전문가가 일관되게 동일 아키텍처를 따르지는 않지만, 모든 데이터 분석 프로세스에는 몇가지 기본 요소가 있다..
[학습일지] 데이터 분석 기술표 분석 기술표 (Analytical skills table)의 이해 호기심 (Curiosity) : 올바른 질문을 하며, 무언가에 대해 더 알고 싶은 욕구 맥락 이해 (Understanding context) : 정보가 전체적인 "큰 그림"에서 어디에 해당되는지 이해 기술적 사고방식 (Having a technical mindset) : 문제를 작은 단계로 세분화 데이터 설계 (Data design) : 데이터와 정보를 어떻게 조직/구성할지 생각 데이터 전략 (Data strategy) : 데이터 분석에 필요한 사람, 프로세스, 도구에 대해 생각 데이터 분석 기술표 기반 학습 계획 As of 2023-04-30
데이터 분석 프로세스 6단계 데이터 분석 프로세스 6단계를 활용한, 분석 사례 문제 : 신입사원의 이직률이 높음. 1년 미만 퇴사율 높음. 1. 질문 (Ask) 효과적인 질문 선정 신입 사원들이 입사 첫 해에 성공하기 위해서는 무엇을 배워야 한다고 생각하십니까? 이전에 신입 사원들로부터 데이터를 수집한 적이 있습니까? 그렇다면 과거 데이터에 접근할 수 있을까요? 유지율이 높은 관리자들이 신입 사원들에게 특별한 것이나 독특한 것을 제공한다고 생각하십니까? 신입사원들의 불만이 가장 큰 원인은 무엇이라고 생각하십니까? 다음 회계연도에 직원 유지율이 몇 퍼센트 증가하기를 원하십니까? 참고 강좌: https://www.coursera.org/learn/ask-questions-make-decisions 2. 준비 (Prepare) 3개월의 ..
비즈니스 분석 (Business Analytics) 비즈니스 분석(Business Analytics)이란 수학과 통계적인 방법을 사용하여 데이터를 수집, 분석, 해석하여 의미를 도출하고, 정보에 입각한 비즈니스 의사 결정을 내리는 프로세스 비즈니스 분석의 주요 유형 4가지 Descriptive (기술 분석) : 과거 데이터를 해석하여 추세와 패턴을 파악 ☞ 참고링크 Diagnostic (진단 분석) : 문제의 근본 원인을 파악하기 위한 과거 데이터 해석 ☞ 참고링크 Predictive (예측 분석) : 정보를 사용하여 미래 결과를 예측하는데 중점 ☞ 참고링크 Presciptive (처방 분석) : 주어진 시나리오에서 어떤 결과가 최상의 결과를 산출할 것인지 결정하기 위해 테스트 및 기타 기법을 사용 ☞ 참고링크 What is Business Analyti..
[Python] 행렬의 연산(Matrix Multiplication) Numpy Dot 예제 Numpy Dot → np.dot( ) Numpyt Array를 곱할 때 사용 두 입력 배열(행렬, 벡터)의 내적 계산 입력 값이 모두 스칼라이면 1차원 배열을 생성하고, 그렇지 않으면 n차원 배열 생성 입력 값이 모두 벡터이면 행렬의 곱을 계산 source : https://numpy.org/doc/stable/reference/generated/numpy.dot.html np.dot( )을 이용한 2x2 행렬의 곱 import numpy as np a= [[1, 0], [0, 1]] b = [[4, 1], [2, 2]] np.dot(a, b) np.dot( )을 이용한 두 행렬 값의 곱 a = np.arange(3*4*5*6).reshape((3,4,5,6)) b = np.arange(3*4*5*6)..
[Python] Lambda를 이용한 Vectorized Methods Lambda를 이용한 Vectorized Methods (벡터화 방법 이해하기) Lambda란? lambda 인수:식 (예: lambda x: x >= 1 ) lambda 식을 사용하면 간단한 식의 경우, 인수에 람다식을 그대로 넣어 가독성이 좋아지고 불필요한 함수 정의 없이 코드를 깔끔하게 할 수 있음 Lambda Expression : https://docs.python.org/2/tutorial/controlflow.html#lambda-expressions 데이터 프레임 생성하기 from pandas import DataFrame, Series import numpy as np d = {'one': Series([1,2,3], index=['a','b','c']), 'two': Series([1,..
[Pandas] DataFrame 생성/조회, csv 불러오기/저장하기 Pandas 란? - Python을 이용한 데이터 분석의 필수 라이브러리로, 데이터 처리에 유용 - Pandas 활용 참고 링크 사용자 가이드 API Reference 소스코드 레파지토리 Pandas 한글 참고자료 - 주로 3가지 데이터 구조 활용 : 시리즈(Series), 데이터프레임(DataFrame), 패널(Panel) Pandas DataFrame 생성 (데이터프레임 만들기) - 데이터프레임(DataFrame) 이란 : 2차원 행렬로 행방향 인덱스(index), 열방향 컬럼(column) 자료구조 - pd.DataFrame from pandas import DataFrame, Series def create_dataframe(): countries = ['Russian Fed.', 'Norway'..
Data Science 기본 역량 + Numpy, Pandas 활용 기초 Data Scientist 기본 역량 데이터분석가의 기본 역량은 문제 해결을 위해 어떤 질문을 해야 할 줄 알고, 데이터를 잘 해석할 수 있고, 데이터 구조를 이해해야 하고, 주로 팀으로 일해야 한다. What does it mean for a data scientist to have 'substantive expertise', and why is it important? Knows which questions to ask Can interpret the data well Understands structure of the data Data scientist often works in teams → to problem solving Numpy 활용 예시 1. 통계 분석에 유용한 수학 함수 - 평균(Mea..
mAP, IOU란 + Object Detection 성능 평가 지표의 이해 및 예시 1. IOU (Intersection Over Union) 객체 검출의 정확도를 평가하는 지표. 일반적으로 Object Detection에서 개별 객체(Object)에 대한 검출(Detection)이 성공하였는지를 결정하는 지표로 0~1 사이의 값을 가짐 실제 객체 위치 bounding box $B_{gt}$=gournd truth와 예측한 bounding box $B_p$=prediction 두 box가 중복되는 영역의 크기를 통해 평가하는 방식으로 겹치는 영역이 넓을 수록 잘 예측한 것으로 평가 2. Precision & Recall 2.1 TP, FP, FN, TN with Confusion Matrix TP (True Postivie, 실제 양성 예측 양성) : 올바른 탐지. IOU ≥ thres..
[구글 클라우드] 텐서플로우를 활용한 Babyweight 예제 (source : GCP qwiklabs) 버킷생성 1. 버킷 생성 : Navigation menu> Storage > [Create a standard bucket] 2. Babyweight 데이터세트를 스토리지 버킷에 복사 - Cloud Shell에서, 아래 명령어를 실행하여 사전 처리된 데이터세트를 내 버킷에 복사 - 부분을 위에서 생성한 버킷 이름으로 변경 gsutil cp gs://cloud-training-demos/babyweight/preproc/* gs:///babyweight/preproc/ (결과화면) TensorBoard 설정 + AI Platform Notebooks 생성 3. Cloud Shell에서, TensorBoard를 지원하는 Cloud AI Platform Noteboo..
[구글 클라우드] 텐서플로우를 활용한 머신러닝 예제 (source : GCP qiwklabs) AI Platform Notebooks 생성 1. Navigation Menu > AI Platform > Notebooks 클릭 2. 인스턴스 생성 : NEW INSTANCE 클릭 - Tensorflow Enterprise 1.15 > Without GPUs 선택 3. 팝업창이 뜨면 딥러닝 VM 이름을 입력/확인 하고 Create 클릭 (VM 생성까지 2~3분 정도 소요될 수 있음) 4. Open JupyterLab 클릭 > JupyterLab Window가 새창으로 열림 Datalab instance에 학습용 repo 복제 - training-data-analyst 를 내 JupyterLab 인스턴스에 복제 1. JupyterLab 에서 터미널 아이콘(Ter..
[구글 클라우드] TensorFlow 스케일링 - AI Platform Training 서비스 활용 (source : GCP qwiklabs) - Jupyter Notebook 실습 코드 - Jupyter Notebook 실습 코드 : 정답 포함 TensorBoard 설정 + AI Platform Notebooks 생성 1. Cloud Shell에서, TensorBoard를 지원하는 Cloud AI Platform Notebook 인스턴스를 생성 export IMAGE_FAMILY="tf-1-14-cpu" export ZONE="us-west1-b" export INSTANCE_NAME="tf-tensorboard-1" export INSTANCE_TYPE="n1-standard-4" gcloud compute instances create "${INSTANCE_NAME}" \ --zone="${ZON..
[구글 클라우드] 분산 학습 TensorFlow 모델 (Estimator API 사용) (source : GCP qwiklabs) - Jupyter Notebook 실습 코드 - Jupyter Notebook 실습 코드 : 정답 포함 1. 패키지 import from google.cloud import bigquery import tensorflow as tf import numpy as np import shutil print(tf.__version__) 2. 입력 CSV_COLUMNS = ['fare_amount', 'pickuplon','pickuplat','dropofflon','dropofflat','passengers', 'key'] LABEL_COLUMN = 'fare_amount' DEFAULTS = [[0.0], [-74.0], [40.0], [-74.0], [40.7], ..
[구글 클라우드] 배치 기반 TensorFlow 스케일업 (source : GCP qwiklabs) - Jupyter Notebook 실습 코드 - Jupyter Notebook 실습 코드 : 정답 포함 1. 패키지 import from google.cloud import bigquery import tensorflow as tf import numpy as np import shutil print(tf.__version__) 2. 입력 Refactor - Dataset API를 사용하여 데이터가 미니 배치로 모델에 전달 될 때, 필요할 때만 디스크에서 로드됨 CSV_COLUMNS = ['fare_amount', 'pickuplon','pickuplat','dropofflon','dropofflat','passengers', 'key'] DEFAULTS = [..
[구글 클라우드] Estimator API 사용해서 AI 모델 구현 (TensorFlow) (source : GCP qwiklabs) AI Platform Notebooks 생성 1. Navigation Menu > AI Platform > Notebooks 클릭 2. 인스턴스 생성 : NEW INSTANCE 클릭 - Tensorflow Enterprise 1.15 > Without GPUs 선택 3. 팝업창이 뜨면 딥러닝 VM 이름을 입력/확인 하고 Create 클릭 (VM 생성까지 2~3분 정도 소요될 수 있음) 4. Open JupyterLab 클릭 > JupyterLab Window가 새창으로 열림 Datalab instance에 학습용 repo 복제 - training-data-analyst 를 내 JupyterLab 인스턴스에 복제 1. JupyterLab 에서 터미널 아이콘(Ter..
[구글 클라우드] Machine Learning APIs 활용하기 (source : GCP qiwklabs) AI Platform Notebooks 생성 1. Navigation Menu > AI Platform > Notebooks 클릭 2. 인스턴스 생성 : NEW INSTANCE 클릭 - Tensorflow Enterprise 1.15 > Without GPUs 선택 3. 팝업창이 뜨면 딥러닝 VM 이름을 입력/확인 하고 Create 클릭 (VM 생성까지 2~3분 정도 소요될 수 있음) 4. Open JupyterLab 클릭 > JupyterLab Window가 새창으로 열림 Datalab instance에 학습용 repo 복제 - training-data-analyst 를 내 JupyterLab 인스턴스에 복제 1. JupyterLab 에서 터미널 아이콘(Ter..
[구글 클라우드] AI Platform Notebooks & BigQuery 를 사용한 데이터 분석 실습 노트(Jupyter Notebooks) 샘플 첨부 : (source : GCP qwiklabs) BigQuery 호출 BigQuery Console 열기 1. Navigation menu > BigQuery 클릭 2. Done 클릭 3. Query 텍스트 박스에서 아래 내용 입력 후, Run 클릭 #standardSQL SELECT departure_delay, COUNT(1) AS num_flights, APPROX_QUANTILES(arrival_delay, 5) AS arrival_delay_quantiles FROM `bigquery-samples.airline_ontime_data.flights` GROUP BY departure_delay HAVING num_flights > 100 RD..