# 코드잇 데이터 사이언스 강의 듣는 중
- data에 따라서 대표치를 어떤 것으로 볼 지가 달라짐.
- outlier가 크면, median은 mean보다 outlier의 영향을 덜 받기 때문에 사용
- but, median은 전체 값의 분포가 달라져도 같을 수 있지만, mean은 값에 영향을 받기 때문에 median이 다 같으면 mean 더 좋은 대표치가 됨.
--> numerical(수치형) data는 mean, median, mode를 구할 수 있음
- but categorical(범주형) data는 mean, median을 구할 수 없기에 mode가 대표치가 됨.
+ 수치형 데이터는 1) 이산형데이터 (값이 정확히 떨어짐; 오늘 마신 아메의 갯수) 와
2) 연속형 데이터 (값이 정확하지 않음; 추정치; 오늘의 키/ 몸무게 등. 자는 164cm래.. 근데.164.3? 164.32?)로 구분
++ 연속형 데이터는 (범위로 묶는) 히스토그램으로 보는 것이 편함
- median은 데이터를 sort한 후에 그 중앙에 있는 값(50%)임!
- 짝수 데이터 수일때는 중앙의 두 값의 합/2, 홀수 있때는 중앙의 값 그 자체임
<Q1(25%)과 Q3(75%)를 구하기>
1) 홀수 데이터는 median 포함시켜서 좌우로 나누어서 중앙 값을 구해주면 됨.
2) 짝수 데이터는 Q1, Q3의 인덱스를 활용함.
- 인덱스 --> 데이터 총 개수 (n-1)에서 0.25 혹은 0.75를 곱해줌.
- 1을 빼주는 이유는 인덱스가 0부터 시작하기 때문.
- 아래의 예) (8-1) * 0.25 = 1.75 --> Q1 인덱스는 1.75
=> 즉, 1과 2사이에 있고 0.75(3/4)만큼 떨어져 있다는 의미임.
- 계산은 조금 복잡하게 하셨는데.. 다른 분이 적어 놓은 것이 더 이해하기 좋아서 나도 그렇게 이해 했음.
- 15 + {(20-15) * 0.75} => 두 값 사이의 거리에서 0.75만큼 떨어져 있다고 이해하는 것이 좋음.
- Q3도 마찬가지임.
- 아래의 예) (8-1) * 0.75 = 5.25 --> Q3 인덱스는 5.25
=> 즉, 5와 6사이에 있고 0.25(1/4)만큼 떨어져 있다는 의미임.
- 57 + {(63-57) * 0.25} => 두 값 사이의 거리에서 0.25만큼 떨어져 있다고 이해하는 것이 좋음.
<이상값 outlier 구하기>
- 구분을 위한 기준이 여러 개 있으나, 대표적으로 Q1과 Q3를 활용함.
- IQR(Interquartile Range) = Q3-Q1 = Q1, Q3의 거리
- outlier = 보통 Q1에서 아래로 1.5IQR 떨어져 있거나, Q3에서 위로 1.5IQR 떨어져 있는 값
- 위의 예시의 경우에 125만 이상치가 됨.
< 기초통계 값 확인>
- .describe()를 쓰면 기초 통계 값을 확인할 수 있음.
- but, 숫자형 데이터 값만 확인이 가능하기 때문에, 만약에 범주형도 포함해서 보고 싶다면
- (include ='all')을 포함시켜 주면 됨.
df.describe(include='all')
--> name 열이 위의 4 로우에 추가되었음.
--> 계산이 필요한 것은 전부 NaN으로 표기됨.
--> 그래도 총 개수(count)와 유니크 갯수(unique), 최빈값(top), 빈도(freq)를 확인할 수 있어서 필요하다면 이렇게 확인해도 좋을 듯
'Statistics' 카테고리의 다른 글
[기초 통계] 모집단과 표본, 기술통계와 추론 통계, 변수 종류, 데이터 분포 모양 (0) | 2024.06.11 |
---|---|
[Statistics] 군집 분석 cluster analysis, sns.clustermap() (2) | 2024.06.05 |
[Statistics] 상관 계수, .corr(), scatterplot(), regplot(), sns.heatmap() (0) | 2024.06.02 |
[Statistics] PDF 확률 밀도 함수, KDE kernel Density Estimation (0) | 2024.06.01 |
[통계와 시각화] 선/막대/원 그래프, 히스토그램, box plot, 산포도 (0) | 2024.06.01 |