기본 콘텐츠로 건너뛰기

라벨이 Cross-validation인 게시물 표시

통계관련 함수와 메서드 사전

A B C d E F G H I K L M N O P Q R S T U V W Z A statsmodels.ap.stats.anova_lm(x) statsmodels.formula.api.ols 에 의해 생성되는 모형 즉, 클래스 인스턴스(x)를 인수로 받아 anova를 실행합니다. np.argsort(x, axis=-1, kind=None) 객체 x를 정렬할 경우 각 값에 대응하는 인덱스를 반환합니다. Axis는 기준 축을 지정하기 위한 매개변수로서 정렬의 방향을 조정할 수 있음(-1은 기본값으로 마지막 축) pandas.Series.autocorr(lag=1) lag에 전달한 지연수에 따른 값들 사이의 자기상관을 계산 B scipy.stats.bernoulli(x, p) 베르누이분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 p: 단일 시행에서의 확률 scipy.stats.binom(x, n, p) 이항분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 n: 총 시행횟수 p: 단일 시행에서의 확률 C scipy.stats.chi2.pdf(x, df, loc=0, scale=1) 카이제곱분포의 확률밀도함수를 계산 $$f(x, k) =\frac{1}{2^{\frac{k}{2}−1}Γ(\frac{k}{2})}x^{k−1}\exp\left(−\frac{x^2}{2}\right)$$ x: 확률변수 df: 자유도 pd.concat(objs, axis=0, join=’outer’, …) 두 개이상의 객체를 결합한 새로운 객체를 반환. objs: Series, DataFrame 객체. Axis=0은 행단위 즉, 열 방향으로 결합, Axis=1은 열단위 즉, 행 방향으

이진분류(Binary Classification)

내용 MNIST 자료 호출 이진분류기, SGD classifier 교차검증(Cross-Validation) 혼동행렬 정밀도/재현율 트레이드오프 이진분류(Binary Classification) MNIST 자료 호출 MNIST 데이터셋트에 대해 분류 문제를 적용합니다. import numpy as np import pandas as pd from sklearn.datasets import fetch_openml import matplotlib as mpl import matplotlib.pyplot as plt import pickle, gzip 다음의 mnist 자료는 kaggle 로 부터 다운받은 자료를 pickle.load()함수로 압축을 해제하여 호출한 것입니다. 이 자료는 이미 훈련, 검정, 테스트 셋트로 분리된 상태입니다. 각 그룹에는 특징들과 라벨이 튜플 형식으로 포함되어 있습니다. with gzip.open('mnist.pkl.gz', 'rb')as f: tr, val, te=pickle.load(f, encoding="latin1") tr[0].shape, val[0].shape, te[0].shape ((50000, 784), (10000, 784), (10000, 784)) Xtr, ytr=tr[0], tr[1] Xval, yval=val[0], val[1] Xte, yte=te[0], te[1] plt.imshow(Xtr[0,:].reshape(28, 28)) plt.axis('off') plt.show() ytr[0], ytr.dtype (5, dtype('int64')) 라벨의 자료형은 목록형이므로 숫자형으로 전환 이진분류기, SGD classifier 데이터 mnist에서 숫자 하나를 분류해 봅니다. 예를 들어 숫자 '5'와 나머지를

교차검증(Cross-validation)

내용 k-fold 교차검증(Cross-validation) 계층화 Kfold 훈련, 검증세트 분리에 계층화 적용 교차검증(Cross-validation) k-fold 교차검증(Cross-validation) 데이터 샘플이 제한된 경우 기계학습 모델을 평가하기 위해 사용되는 resampling 기법으로 데이터셋트를 소그룹으로 분류하여 각 그룹을 평가하는 것으로 분류의 그룹 수인 k라는 매개변수(hyperparameter)를 가집니다. 데이터를 무작위로 혼합(shuffle) 데이터를 k 그룹으로 분리 각 그룹에서 훈련(train)과 검정(test) 세트로 분리 훈련 세트에 모델을 맞추고 테스트 세트에서 평가 평가 점수를 유지하고 모델을 폐기 모델 평가 점수 비교 k-겹 교차 검증 실행의 결과는 종종 모델 기술 점수의 평균으로 요약됩니다. 표준 편차 또는 표준 오차와 같은 기술 점수의 분산 측정을 포함하는 것도 좋은 방법입니다. 그 분산이 크다면 모델의 과적합, 대표성의 결핍 등의 문제를 고려할 수 있습니다. k 값을 선택하기 위한 세 가지 일반적인 전술은 다음과 같습니다. represtative: 샘플의 운련/검정 데이터의 크기는 통계적으로 더 큰 데이터 셋트를 대표할 정도로 충분한 크기로 k를 설정합니다. k=10: 이 값은 실험적으로 적당한 분산과 낮은 편향을 가진 모델의 추정치를 갖는 수준으로 알려진 값입니다. n=n: k 값은 n으로 고정됩니다. 여기서 n은 각 테스트 샘플에 홀드아웃 데이터셋에 사용할 기회를 주기 위한 데이터셋의 크기입니다. 이 접근 방식을 Leave-One-Out 교차 검증이라고 합니다. import numpy as np import pandas as pd from sklearn.model_selection import KFold, Str