Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- join
- SimpleImputer
- DataFrame
- value_counts
- stopwords
- 불용어
- 보간법
- Boxplot
- 데이터프레임
- BDA
- subplots
- interpolate
- IterativeImputer
- koNLPy
- 파이썬
- 결측치대체
- 대치법
- KoNLP
- Python
- sklearn
- 결측치
- countplot
- 이상치
- matplotlib
- 전처리
- Outlier
- MSE
- Seaborn
- 누락값
- 선형보간
Archives
- Today
- Total
ACAIT
[BDA 데분기] 5주차 필수 과제 - 이상치 관련 분석 본문
0. 예시 데이터로 이상치 확인














1. 이상치 관련 작업
1-1. 베이스라인 모델 회귀분석


# train_test_split(arrays, test_size, train_size, random_state, shuffle, stratify)
- arrays: 분할시킬 데이터 입력
- test_size: 테스트 데이터셋의 비율, 갯수(default = 0.25)
- train_size: 학습 데이터셋의 비율, 갯수(default = test_size의 나머지)
- random_state: 데이터 분할 시 셔플을 위한 시드값(int나 RandomState로 입력)
- shuffle: 셔플 여부(default = True)
- stratify: 지정한 Data 비율 유지.
- ex) Label Set인 Y가 25%의 0과 75%의 1인 Binary Set일 때,
stratify = Y > 나누어진 데이터셋들도 0, 1을 25%, 75%로 유지하면서 분할.
- ex) Label Set인 Y가 25%의 0과 75%의 1인 Binary Set일 때,
- X_train, X_test, Y_train, Y_test : arrays에 데이터와 레이블을 둘 다 넣었을 경우의 반환이며,
데이터와 레이블의 순서쌍은 유지된다. - X_train, X_test : arrays에 레이블 없이 데이터만 넣었을 경우의 반환




- 베이스라인 모델로 회귀분석 진행 시 mse = 0.637
1-2. 이상치 제거 - 열 AveBedrms 기준
- IQR 제거 진행.
- IQR이란, Interquartile range의 약자로써 Q3 - Q1를 의미.
- "어디까지가 이상치 데이터다" 라고 판단하는 기준 중 하나.
- Q3 - Q1: 사분위수의 상위 75% 지점의 값과 하위 25% 지점의 값 차이.







- 이상치 제거 시 mse = 0.601
1-3. 이상치 살리는 분석 방법
- 이상치의 가중치를 둔다고 하면 1, 아니면 0.
- 혹은 반대로 가중치 둘 수도 있다.
- 지금은 이상치에 가중치를 둬서 어떻게 진행되는지 확인. (IQR 범위 벗어나면 1)







- 이상치에 가중치 부여 시 mse = 0.64
2. 결론
- 제거하지 않고 가중치를 해도 rmse가 떨어질 수 있다.
- 현재 작성된 코드로는 가중치 부여 시 mse가 가장 크게 나왔다.
- 베이스 라인과 이상치 제거보다 눈에 띄게 높은 값이 나온 것이 아니라 유사한 수치가 나온 것으로 보아,
이상치를 보존하고 회귀분석을 하는 방법도 분석에 도움이 될 것이라고 추측한다.
1. 기존 base: 0.6377518466952142
2. outlier replace(제거): 0.601210788228135
3. outlier saving(가중치): 0.640519486034635
'학회 활동 > BDA 7기(데이터 분석 기초반)' 카테고리의 다른 글
| [BDA 데분기] 6주차 필수 과제 2 - 데이터 재구조화 (0) | 2024.01.31 |
|---|---|
| [BDA 데분기] 6주차 - Series, DataFrame 관련 함수 (0) | 2024.01.31 |
| [BDA 데분기] 5주차 - 이상치, Outlier (0) | 2024.01.31 |
| [BDA 데분기] 4주차 필수 과제 정리 - SimpleImputer, 시계열 데이터 (0) | 2024.01.31 |
| [BDA 데분기] 4주차 필수 과제 2 - 시계열 데이터 결측치 대체, 시각화 (0) | 2024.01.31 |