본문 바로가기

빅데이터(Big Data) 이론과 코드

(12)
최대 우도 추정법(Maximum Likelihood Estimation, MLE) 데이터 분석과 인공지능 개발에서 중요한 것은 "데이터" 입니다.우리가 학교에서 배운 통계의 하나는 분포를 먼저 가정하고, 해당 분포에서 특정 값이 나올 통계적 확률을 계산하는 것이었습니다. $$X \sim N(μ, σ^2)$$ 이것은 확률변수 X가 평균 μ, 표준편차 σ인 정규분포(Normal distribution)를 따른다(~)는 표현식입니다. 어렵지 않죠? 그런데, 우리는 실제 분석과 개발에서 대부분 그 "분포" 라는 것을 모릅니다. 우리에게 주어진 것은 한 줌의  샘플 "데이터" 뿐이죠. 그래서 우리는 그 Sample data를 가지고, 전체 집단(Population)을 추정해야 합니다. 전체 집단을 다른 말로는 모집단이라고도 하죠. 이 모집단을 추정한다는 것은 앞서 정규분포를 정의했을 때 처럼,..
예산과 전문가 없이 데이터로 인포그래픽을 만들기 예산과 전문가는 없는데, 데이터로 인포그래픽을 당장 만달라고요? 인터넷 미디어에 들어갈 인포그래픽을 팀별로 만들어야 하는 상황입니다. 어려워진 경영여건 탓에 가용한 예산도 없는데, 기한은 당장 다음주까지라고? 나름대로 열심히 인포그래픽을 만들었지만, “다시” “또다시” 눈에 잘 안 들어온다고 합니다. 반면에 옆 팀 주 대리는 바로 패스했다는 소식이 더욱 초조하게 만듭니다. 까다로운 상무님 취향에 맞춰서 있어 보이게 인포그래픽을 만들었는데, 도대체 뭐가 문제였을까요? 데이터 시각화를 할 때 우리는 “있어 보이게” 만드는 것에만 집중하는 실수를 하곤 합니다. 이러한 문제를 겪지 않기 위해서는 데이터 시각화의 원리를 이해해야 합니다. 데이터 시각화는 인간의 시각과 지각능력을 바탕으로 데이터에 대한 이해와 의사..
홈런볼 매출 데이터 분석 Bar Chart Race In [81]: # !pip install bar_chart_race In [6]: #필요한 모듈 불러오기 #!pip install bar_chart_race as bcr import pandas as pd import numpy as np import bar_chart_race as bcr In [7]: # !pip install pandas In [8]: #필요한 데이터 셋 불러오기 path = "비스킷브랜드점유율_T.csv" df = pd.read_csv(path, encoding='cp949') In [9]: # 요약출력 df.head() Out[9]: 구분 홈런볼 카스타드 에이스 칙촉 마가렛트 하임 오레오 칸쵸 쿠크다스 롯데샌드 닥터유바 예감 0 2011-4Q 11478 12256 9770.0 ..
마트 홈런볼과 편의점 홈런볼의 독립표본 t검정 In [28]: #티스토리 윈도우 사이즈 맞추기 from IPython.core.display import display, HTML display(HTML("")) In [29]: import scipy as sp import numpy as np from scipy import stats 1. 마트 홈런볼¶ 1-1. 데이터 수집¶ In [30]: Mart = [1.4, 1.7, 1.5, 1.6, 1.7, 1.2, 1.7, 1.5, 1.6, 1.6, 2.0, 1.8, 1.9, 1.7, 1.6, 1.8, 1.8, 1.6, 1.3, 1.2, 1.5, 1.7, 1.7, 2.0, 1.6] 1-2. 데이터 평균¶ In [31]: Mart_mu = np.mean(Mart) Mart_mu Out[31]: 1.6280..
홈런볼 슈링크플레이션과 소비자 물가지수 In [1]: #티스토리 윈도우 사이즈 맞추기 from IPython.core.display import display, HTML display(HTML("")) In [2]: import scipy as sp import numpy as np import pandas as pd from scipy import stats In [3]: cpi_korea = pd.read_csv("소비자물가지수_2020100__20230107180655.csv", encoding='cp949') In [4]: cpi_korea.info() RangeIndex: 19 entries, 0 to 18 Data columns (total 2 columns): # Column Non-Null Count Dtype --- -----..
[홈런볼로 배우는 데이터 경제] t검정 In [1]: #티스토리 윈도우 사이즈 맞추기 from IPython.core.display import display, HTML display(HTML("")) In [28]: import scipy as sp import numpy as np from scipy import stats In [29]: homerun_ball = [40.8, 41.2, 41.4, 41.6] In [30]: mu = np.mean(homerun_ball) mu Out[30]: 41.25 In [31]: # 자유도 degree of freedom df = len(homerun_ball) - 1 df Out[31]: 3 In [34]: # 분산 sigma = np.std(homerun_ball, ddof = 1) sigma ..
[파이썬 OS 모듈] import os 뜻 의미(os.listdir, os.path.join, os.path.splitext, os.walk) OS 모듈 [ 한 줄 정의 ] Operating System의 약자. 운영체제에서 사용할 수 있는 기능을 파이썬에서 쓸 수 있게 해주는 파이썬 기본 모듈 [ 기능 ] 함수 기능 os.listdir() 함수 폴더 안에 있는 파일 리스트를 만들어 줌 os.path.join() 함수 경로명과 파일명을 붙여서 파일 접속경로를 만들어 줌 os.path.splitext() 함수 (점) 을 기준으로 텍스트를 나눠주는 함수. 파일명.확장자 os.walk() 함수 해당 폴더의 하위 폴더(dir)를 모두 반환 1. 폴더 안에 있는 파일 리스트를 만들어 줌 2. 경로명과 파일명을 붙여서 파일 접속경로를 만들어 줌 3. 전체 파일 접속 경로를 폴더/파일명/확장자 구분으로 잘라 줌 4. 해당 폴더의 하위 폴더 전체에 대한 파일..
Pandas Dataframe 조건에 맞게 값 변경 하기 데이터 전처리를 하다 보면 특정 열이나 행에 대해서 원하는 조건에 맞게 값을 변경해야 할 때가 있습니다. 판다스에서 이를 위해 사용할 수 있는 loc, boolean, apply(lambda) 세(3) 가지 방식에 대해 알아봅니다. 방법 1. loc 사용하기 df 데이터 프레임에서 satisfaction 열은 범주형(Categorical)입니다. 값은 'dissatisfied', 'satisfaction' 두 가지 범주가 있습니다. 이 두 값들을 숫자형 0과 1로 변환해주는 작업을 하려고 합니다. label encoder도 있지만 pandas의 간단한 조건식을 이용해 인덱싱 하는 방법에 대해 알아봅니다. df.loc[df['satisfaction'] == 'dissatisfied', 'satisfacti..