[TIL]데이터 분석 부트캠프(4기) 31일차
0. 들어가며
- 들어야하는 강의가 너무 많다!!!!
- 그래도 다 들어야한다..!!
- 내용이 반복되는 것들이 많아서 어떻게 정리해야하는지 다시 고민해보자!
- 개념에 대해서는 꼭 숙지하는 방향으로!!
1. 오전 일과
1-1 코드카타 및 내용 정리
내용 정리 링크
1. https://velog.io/@dav74/%EC%BD%94%EB%93%9C%EC%B9%B4%ED%83%80-SQL-38-Number-of-Unique-Subjects-Taught-by-Each-Teacher
2. https://velog.io/@dav74/%EC%BD%94%EB%93%9C%EC%B9%B4%ED%83%80-SQL-39-User-Activity-for-the-Past-30-Days-I
3. https://velog.io/@dav74/%EC%BD%94%EB%93%9C%EC%B9%B4%ED%83%80-SQL-40-Product-Sales-Analysis-III
4. https://velog.io/@dav74/%EC%BD%94%EB%93%9C%EC%B9%B4%ED%83%80-SQL-41-Classes-More-Than-5-Students
5. https://velog.io/@dav74/%EC%BD%94%EB%93%9C%EC%B9%B4%ED%83%80-SQL-42-Find-Followers-Count
- 코드카타 5문제 풀이 완료
- 중복값 제거하고 count 하기! → distinct 활용 여부
- date_sub(기준날짜, interval 기준) 활용 - 날짜 빼기
- 주어진 테이블 모두를 사용할 필요가 없음. 필요한 부분만 활용하여 문제 해결하기!
- group by 후 having절을 활용한 조건 추가
- order by를 통한 정렬
1-2 통계학 기초 5회차 라이브 세션
- 4회차 세션 실습
- 선형회귀 - LinearRegression()
- 기울기와 Y절편 - coef, intercept
- fit을 통한 모델 학습
- predict를 통한 예측
- summary()를 통한 한번에 요약 가능
- R제곱 - 회귀분석 모델의 설명력 판단
- Prob(F-statistic) - 회귀식이 회귀분석 모델에 대한 통계적 유의미 확인
- P>|t| - 각 변수가 종속변수에 미치는 영향이 유의한지 파악
2. 오후 일과
2-1 머신러닝의 이해와 라이브러리 활용 심화
-
데이터 수집
-
탐색적 데이터 분석(EDA)
- 데이터의 시각화, 기술통계 등의 방법을 통해 데이터를 이해하고 탐구하는 과정
- 기술 통계를 통한 EDA 예시
- describe(), info() 함수 등을 사용하여 확인
- countplot, barplot, boxplot, histogram 등을 활용한 시각화
-
데이터 전처리
- 이상치(Outlier) : 보통 관측된 데이터 범위를 많이 벗어난 아주 작은 값 혹은 큰 값
- ESD(Extreme Studentized Devation)
- 데이터가 정규분포를 따른다고 가정, 평균에서 표준편차의 3배 이상 떨어진 값
- 데이터가 크게 비대칭일 경우, 샘플 크기가 작을 경우 제한
- IQR(Inter Quantile Range)
- Boxplot을 통해 데이터의 사분위수를 포함하여 시각화 가능
- 데이터를 min, Q1, Q2, Q3, max로 나누어서 구분
- 결측치(Missing Value) : 존재하지 않는 데이터 (NaN, Null 등)
- 수치형 데이터
- 평균 값 대치 : 이상치에 취약
- 중간값 대치 : 이상치가 많아 평균 값이 대표성이 없을 때 이용
- 범주형 데이터
- 사용 함수
- 간단한 삭제 & 대치
- df.dropna(axis = 0) : 행 삭제
- df.dropna(axis = 1) : 열 삭제
- Boolean Indexing
- df.fillna(value) : 특정 값으로 대치(평균, 중앙값, 최빈값)
- 알고리즘을 이용
- sklearn.impute.SimpleImputer : 평균, 중앙, 최빈값으로 대치
- sklearn.impute.statistics : 대치한 값 확인 가능
- sklearn.impute.IterativeImpiter : 다변량대치(회귀 대치)
- sklearn.impute.KNNImputer : KNN 알고리즘을 이용한 대치
- 범주형 데이터 전처리 - 인코딩(Encoding) ( 함수 및 사용방법은 다시 확인 )
- 레이블 인코딩(Label Encoding) : 문자열 범주형 값을 고유한 숫자로 할당
- 원-핫 인코딩(One-Hot Encoding) : 각 범주를 이진 형식으로 변환하는 기법
- 수치형 데이터 전처리 - 스케일링(Scaling) ( 함수 및 사용방법은 다시 확인 )
- 표준화(Standardization)
- 정규화(Normalization)
- 로버스트 스케일링(Robust Scaling)
2-2 Python Basic 라이브 세션
- 빅데이터 분석기사 실기 문제 풀이 ( 2문제 )
- 기초 통계 분석
- describe() 사용 ( include = 'all' ) 을 통해 수치형과 범주형 한번에 확인 가능
- info() 사용
- 통계 지표 별도 계산
- count(), mean(), median(), sum(), cumsum() 등
- 상관관계 분석
- Pearson 상관관계 : 정규분포 + 선형 관계를 갖는 경우
- Kendall의 상관관계 : 데이터가 순서형 or 비선형적인 순위 관계
- Spearman의 순위 상관관계 : 데이터가 비정규 분포 or 비선형적인 순위 관계
3. 마치며
- 오늘 오전에는 상태가 좋았는데, 오후에 시간이 지나면서 급격히 상태가 나빠짐..
- 상태가 안 좋다는건 집중력 저하와 피곤함이 몰려옴..
- 숙면을 잘 취하지 못했기 때문인지, 허리가 아파서 그런지 모르겠지만
컨디션 조절 잘하자!!
- 이 캠프는 단거리 달리기가 아니라 장거리 달리기이면서 앞으로 나아가기 위한 발판이기 때문이다!
- 벌써 1달이 보름이 넘게 하고 있는데 되돌아보니 막상 무엇을 했는지 명확하게 떠오른게 없다는게 개인적으로 아쉬웠다. 그러니 하루하루 충실히 하기위해 힘쓰자!