[TIL] 2024-09-22 (통계/DA)TIL (2024)/2024.092024. 9. 23. 00:18
Table of Contents
728x90
Today I Learned (2024-09-22)
목차
- Today I Learned (2024-09-22)
- 오늘 공부한 내용
- 어려웠던 내용
- 궁금한 내용과 부족한 내용
- 느낀 점
오늘 공부한 내용
1. pandas 데이터 전치리 및 시각화
Concat
- 두 데이터프레임을 위/아래 또는 왼쪽/오른쪽으로 연결하기만 함
- pd.concat([데이터프레임1, 데이터프레임2])
- axis: 0이면 위에서 아래로 합치고, 1 이면 왼쪽과 오른쪽으로 합침
Merge
- merge(데이터프레임1, 데이터프레임2) : 두 데이터프레임에 동일한 이름을 가진 컬럼을 기준으로 두 데이터프레임을 합침
- merge(데이터프레임1, 데이터프레임2, on=기준컬럼명) : 기준 컬럼을 명시할 수도 있음
- merge(데이터프레임1, 데이터프레임2, how=결합방법)
- 결합방법
- inner : 내부 조인 - SQL의 INNER JOIN 과 동일
- outer : 완전 외부 조인 - SQL의 OUTER JOIN 과 동일
- left : 왼쪽 우선 외부 조인 - SQL의 LEFT OUTER JOIN 과 동일
- right : 오른쪽 우선 외부 조인 - SQL의 RIGHT OUTER JOIN 과 동일
inner : 내부 조인- SQL 의 INNER JOIN 과 동일(default)
- 동작 방식
- on의 컬럼값이 두 데이터프레임에서 동일한 행 찾기
- 각 동일한 행의 컬럼/컬럼값만 가져오기
outer : 완전 외부 조인 - SQL의 OUTER JOIN 과 동일
- 동작 방식
- on의 컬럼값이 두 데이터프레임에서 동일한 행 찾기
- 각 동일한 행의 컬럼/컬럼값 가져와 붙이기
- 각 데이터프레임에서 on의 컬럼값이 다른 나머지 행을 찾기
- 각 나머지 행의 컬럼/컬럼값을 가져와 별도 행으로 붙이기
- 두 데이터프레임 각각에만 있는 컬럼이어서, 컬럼값이 없을 경우 데이터 없음(NaN)으로 표기하기
left : 왼쪽 우선 외부 조인 - SQL의 LEFT OUTER JOIN 과 동일
- 동작 방식
- 왼쪽 데이터프레임의 행을 모두 가져오기
- 왼쪽 데이터프레임의 행에 있는 on의 컬럼값이 동일한 오른쪽 데이터프레임의 행만 컬럼과 함께 가져와 붙이기
- 오른쪽 데이터프레임에 없는 on의 컬럼값을 가진 왼쪽 데이터프레임의 오른쪽 데이터프레임 컬럼들에는 데이터 없음(NaN)으로 표기하기
right : 오른쪽 우선 외부 조인 - SQL의 RIGHT OUTER JOIN 과 동일
- 동작 방식
- 오른쪽 데이터프레임의 행을 모두 가져오기
- 오른쪽 데이터프레임의 행에 있는 on의 컬럼값이 동일한 왼쪽 데이터프레임의 행만 컬럼과 함께 가져와 붙이기
- 왼쪽 데이터프레임에 없는 on의 컬럼값을 가진 오른쪽 데이터프레임의 왼쪽 데이터프레임 컬럼들에는 데이터 없음(NaN)으로 표기하기
2. 데이터과학을 위한 통계
부트스트랩(bootstrap)
파이썬 패키지에서 부트스트랩 방식의 구현을 제공하지 않는다.
scikit-learn의 resample 메서드를 이용해서 구현한다.
loans_income = pd.read_csv('../제공자료/data/loans_income.csv').squeeze('columns') results = [] for nrepeat in range(1000): sample = resample(loans_income) results.append(sample.median()) results = pd.Series(results) print('Bootstrap Statistics:') print(f'original: {loans_income.median()}') print(f'bias: {results.mean() - loans_income.median()}') print(f'std. error: {results.std()}')
부트스트랩은 표본크기가 작은 것을 보완하기 위한 것이 아니다.
새 데이터를 만드는 것도 아니며 기존 데이터 집합의 빈 곳을 채우는 것도 아니다.
모집단에서 추가적으로 표본을 뽑는다고 할 때, 그 표본이 얼마나 원래 표본과 비슷할지를 알려줄 뿐이다.
재표본추출 대 부트스트래핑
- 부트스트랩(데이터로부터 복원추출)은 표본통계량의 변동성을 평가하는 강력한 도구이다.
- 부트스트랩은 표본분포의 수학적 근사치에 대한 엄청난 연구 없이도 다양한 환경에서 유사한 방식으로 적용될 수 있다.
- 또한 수학적 근사가 어려운 통계량에 대해서도 샘플링 분포를 추정할 수 있다.
- 예측 모델을 적용할 때 여러 부트스트랩 표본들로부터 얻은 예측값을 모아서 결론을 만드는 것(배깅)이 단일 모델을 사용하는 것보다 좋다.
신뢰구간
- 신뢰수준(confidence level) : 같은 모집단ㅇ으로부터 같은 방식으로 얻은, 관심 통계량을 포함할 것으로 예상되는 것, 신뢰구간의 백분율
- 구간끝점(interval endpoint) : 신뢰구간의 최상위, 최하위 끝점
- 신뢰구간은 구간 범위로 추정값을 표시하는 일반적인 방법이다.
- 더 많은 데이터를 보유할수록 표본추정치의 변이가 줄어든다.
- 허용할 수 있는 신뢰수준이 낮을수록 신뢰구간은 좁아진다.
정규분포
- 오차(error) : 데이터 포인트와 예측값 혹은 평균 사이의 차이
- 표준화(정규화)하다(standardize) : 평균을 뺴고 표준편차로 나눈다.
- z 점수(z-score) : 개별 데이터 포인트를 정규화한 결과
- 표준정규분포(standard normal distribution) : 평균=0, 표준편차=1 인 정규분포
- QQ-그림(QQ-plot) : 표본분포가 특정 분포(예 : 정규분포)에 얼마나 가까운지를 보여주는 그림
긴 꼬리 분포
- 꼬리(tail) : 적은 수의 근닥밧이 주로 존재하는, 도수분포의 길고 좁은 부분
- 왜도(skewness) : 분포의 한쪽 꼬리가 반대쪽 다른 꼬리보다 긴 정도
- 대부분의 데이터는 정규분포를 따르지 않는다.
- 정규분포를 따를 것이라는 가정은, 자주 일어나지 않는 예외 경우에 관한 과소평가를 가져올 수 있다.
t-분포
- t 분포(t-distribution)는 정규분포와 생김새가 비슷하지만, 꼬리 부분이 약간 더 두껍고 길다.
- n : 표본크기
- 자유도(degrees of freedom) : 다른 표본크기, 통계량, 그룹의 수에 따라 t 분포를 조절하는 변수
이항분포(Binomial Distribution)
- 시행(trial) : 독립된 결과를 가져오는 하나의 사건(예: 동전 던지기)
- 성공(success) : 시행에 대한 관심의 결과(유의어: 1, 즉 0에 대한 반대)
- 이항식(binomial) : 두 가지 결과를 갖는다.(유의어: 예/아니요, 0/1, 이진)
- 이항시행(binomial trial) : 두 가지 결과를 가져오는 시행(유의어: 베르누이 시행)
- 이항분포(binomial distribution) : n번 시행에서 성공한 횟수에 대한 분포(유의어: 베르누이 분포)
- 이항분포란, 각 시행마다 그 성공 확률(p)이 정해져 있을 때, 주어진 시행 횟수(n) 중에서 성공한 횟수(x)의 도수분포를 의미한다.
어려웠던 내용
- 다양한 분포들... 아직은 익숙하지 않다.
궁금한 내용과 부족한 내용
- 다양한 분포
느낀 점
- 통계 쉽지 않다...
'TIL (2024) > 2024.09' 카테고리의 다른 글
[TIL] 2024-09-24 (NLP/DA) (2) | 2024.09.25 |
---|---|
[TIL] 2024-09-23 (DA) (0) | 2024.09.24 |
[TIL] 2024-09-21 (ML/DA/NLP) (1) | 2024.09.22 |
[TIL] 2024-09-20 (ML/DL) (0) | 2024.09.21 |
[TIL] 2024-09-19 (DL) (0) | 2024.09.21 |
@mane Lab :: 마네의 연구소
배움에 즐거움을 느끼는 마네의 연구소입니다. 이미지 출처 : https://www.instagram.com/hoseobiiiiiii._.0410/
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!