본문 바로가기

TIL(Today I Learned)

(16)
정보이론 / 엔트로피 정보량 : 정보를 표현하는데 필요한 bit 수 식 I (x) = -logP(x) 정보량 단위 : 주로, bit(비트)로 표현 - log 의 밑이 2 이면, 단위는 bit (비트, 실제적으로 많이 쓰이는 단위) - log 의 밑이 e 이면, 단위는 nat (natural unit) - log 의 밑이 10 이면, 단위는 hartley 더보기 로그의 밑이 2인 경우: 정보량은 비트(bit) 단위로 표현됩니다. 이 경우, 정보의 양은 이진(binary) 형태로 나타고, 정보의 "이진 단위"를 나타내게 됩니다. 주로 컴퓨터와 통신 분야에서 다룰 때 사용됩니다. 더보기 로그의 밑이 자연 로그 (ln)인 경우: 정보량은 나티(nat) 단위로 표현됩니다. 나티는 자연로그의 밑인 'e'를 사용하는 단위로, 정보량을 자..
MLE / MAP 우도 : 모델 파라미에서 데이터가 발생할 확률 사전확률 : 모델 파라미터에 대한 사전지식, 여기서 모델 파라미터에 대한 확률분포를 그냥 정규분포라고 가정 사후확률 : 우도랑 반대로, 주어진 데이터에 대한 파라미터의 확률분포를 계산 MLE와 MAP는 주어진 데이터에 대한 모델의 파라미터를 추정하는 방법 중 하나입니다. 1. 최대 우도 추정 (MLE): MLE는 주어진 데이터가 가장 가능성이 높은 모델 파라미터를 찾는 것을 목표로 합니다. MLE는 다음과 같은 방법으로 작동합니다. 가정: 데이터는 독립적이며 동일한 확률 분포에서 생성되었다고 가정합니다. 모델은 매개 변수 θ를 사용하여 확률 분포를 정의합니다. MLE의 수식: 주어진 데이터 X에 대해 가능도(likelihood) L(θ|X)는 다음과 같이 정..
likelihood와 머신러닝 베이지안 통계 사전 확률(prior) : 어떤 사건에 대한 확률을 알기 전에 가지고 있는 초기확률 (초기추정) 사후 확률(posterior) : 데이터를 관찰한 후 계산되는 확률 (최종확률) 우리에게 필요한값 Prior, likelihood를 결합하여 어떤 사건이 일어났을 때의 최종 확률 likelihood(가능도, 우도) : 파라미터의 분포 p(θ)가 정해졌을 때 x라는 데이터가 관찰될 확률 (데이터와 모델간의 관계) 주어진 파라미터 분포에 대해서 우리가 갖고 있는 데이터가 얼마나 '그럴듯한지' 계산할수 있고, 이것을 나타내는 값. likelihodd가 높다는 것 ➞ 우리가 지정한 파라미터 조건에서 데이터가 관촬될 확률이 높다는 것, 데이터의 분포를 모델이 잘 표현하는 것 식 : p(X=x∣θ) pos..
scikit-learn을 이용해 분류문제 해결하기 scikit-learn을 활용해보기 붓꽃 데이터를 사용 scikit-learn 머신러닝의 다양한 알고리즘과 편리한 프레임 워크를 제공하기 때문에 많이들 사용함. scikit-learn의 데이터셋 데이터 살펴보기 전체 데이터 150개 각 데이터는 sepal, petal 각각의 길이와 폭의 정보를 담고 있음 scikit-learn의 모듈 함수 모듈 import, 데이터 불러오기 from sklearn.datasets import load_iris iris = load_iris() pritn(iris) # 출력 ['DESCR', 'data', 'data_module', 'feature_names', 'filename', 'frame', ....] 데이터 정보 확인 # iris 데이터셋에 담긴 정보 종류 확인 ..
시계열 데이터 분석, 예측하기 라이브러리 설치하기 pip install pmdarima ➞ R에서 실행되는 auto.arima를 파이썬에서 실행시킬수 있도록 설계된 통계 라이브러리 ➞ 시계열 데이터를 분석할때 좋음 라이브러리 불러오기 import os import requests from io immport BytesIO from itertools import product from datetime import datetime # 데이터 처리 import pandas as pd import numpy as np # 시각화 import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.ticker as plticker import seaborn as sns # 분석..
데이터 분석 라이브러리 불러오기 import os # 데이터 처리 import pandas as pd import numpy as np # 시각화 import matplotlib.pyplot as plt import matplotlib.ticker as plticker import seaborn as sns # 분석 import statsmodels.api as sm import scipy # 그래프 글꼴 설정 plt.rc('axes', unicode_minus=False) plt.rc('font', family='NanumBarunGothic') 파일 불러오기 file_path_data = os.getenv('주소') data = pd.read_csv(file_path_data) EDA(Exploratory Dat..
머신러닝 모델설계하기 기초 | 내가 받을 팁 예측하기 (2) seaborn 패키지에서 제고하는 데이터를 가지고 내가 받을 수 있는 팁이 얼마인지 간단히 예측하는 모델을 설계해 보도록 하겠습니다. 먼저 데이터를 불러오도록 하겠습니다. import seaborn as sns tips = sns.load_dataset('tips') tips.head() 먼저 string형태의 데이터를 원-핫 인코딩으로 변환하여 실수형 으로 바꿔주겠습니다. 데이터의 형태를 바꿔주는 이유는 수식에 넣어 계산 할것이기 때문입니다. import pandas as pd tips = pd.get_dummies(tips, columns = ['sex', 'smoker', 'day', 'time']) tips.head() # col의 순서 바꾸기 tips = tips[['total_bill', 's..
머신러닝 모델설계하기 기초(1) 더보기 모듈 import from IPython.display import display, Image import pandas as pd import matplotlib.pyplot as plt %matplotlib inline %config InlineBackend.figure_format = 'retina' # 더 높은 해상도로 출력 데이터 - 맥북 데이터 셋 - 맥북을 사용한 사용연수와 중고가격을 나태내는데이터 먼저 데이터를 확인해 보겠습니다. macbook = pd.read_scv('주소') print(macbook.shape) macbook.head() 맥북데이터셋에서는 사용연수를 가지고 중고가격을 측정하였지만 사실 노트북 중고가격을 결정하는 요소들은 CPU, 배터리 수명, 외관 등 다용한 요소..