주제: 싸이킷 런을 활용한 데이터 전처리
1. 오늘 배운 내용 정리
- 결측값 처리 (Missing Values Handling)
- 데이터에 결측값(NaN)이 있을 때 이를 처리하는 방법을 배웠습니다.
- SimpleImputer를 사용하면, 결측값을 평균값, 중간값 또는 가장 자주 나온 값으로 채울 수 있습니다.
from sklearn.impute import SimpleImputer imputer = SimpleImputer(strategy='mean') # 'mean'은 평균값으로 채우는 방법 imputed_data = imputer.fit_transform(data)
- 스케일링 (Scaling)
- StandardScaler는 데이터를 평균 0, 표준편차 1로 변환해주는 방법입니다.
from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaled_data = scaler.fit_transform(data) - 이렇게 스케일링을 하면 데이터가 일정한 범위로 맞춰져, 머신러닝 모델이 더 잘 학습할 수 있습니다.
- StandardScaler는 데이터를 평균 0, 표준편차 1로 변환해주는 방법입니다.
- 범주형 데이터 인코딩 (Categorical Data Encoding)
- LabelEncoder는 텍스트로 된 카테고리 데이터를 숫자로 변환합니다. 예를 들어, 'red', 'blue', 'green'을 0, 1, 2로 변환할 수 있습니다.
from sklearn.preprocessing import LabelEncoder encoder = LabelEncoder() encoded_labels = encoder.fit_transform(labels)
- LabelEncoder는 텍스트로 된 카테고리 데이터를 숫자로 변환합니다. 예를 들어, 'red', 'blue', 'green'을 0, 1, 2로 변환할 수 있습니다.
2. 배운 내용을 실습하며 느낀 점
- 결측값을 처리할 때 SimpleImputer를 사용하면 매우 간단하게 해결할 수 있어서 유용했습니다. 실제 데이터에서 결측값이 많을 때 이를 처리하지 않으면 모델이 제대로 작동하지 않을 수 있습니다.
- StandardScaler는 데이터를 일정하게 맞춰주어 모델 학습 속도를 높이고, 성능을 개선하는 데 도움을 준다는 점이 인상 깊었습니다.
- LabelEncoder는 간단한 방법으로 텍스트 데이터를 숫자형으로 바꿀 수 있어서 데이터 준비가 훨씬 쉬워졌습니다.
3. 개선 및 적용 방안
- 오늘 배운 내용을 더 많이 적용하여 다양한 데이터셋에서 전처리를 실습해보고, 결측값이나 범주형 데이터가 있는 실제 데이터를 다뤄보려고 합니다.
- 데이터를 전처리할 때, 여러 가지 방법을 시도해 보고 가장 적합한 방법을 찾아보겠습니다.
4. 질문 및 추가 학습 계획
- SimpleImputer의 결측값 처리 방법 외에도 다른 방법(예: 회귀로 예측하는 방법)을 공부해볼 계획입니다.
- 내일은 OneHotEncoder를 이용한 범주형 데이터 처리 방법을 공부할 예정입니다.
5. 코드 스니펫 예제
from sklearn.preprocessing import StandardScaler
from sklearn.impute import SimpleImputer
import pandas as pd
# 예시 데이터
data = pd.DataFrame({
'sepal_length': [5.1, 4.9, None, 4.7, 5.0],
'sepal_width': [3.5, 3.0, 3.2, 3.1, None]
})
# 결측값 처리
imputer = SimpleImputer(strategy='mean') # 평균으로 결측값 채우기
data_imputed = imputer.fit_transform(data)
# 데이터 스케일링
scaler = StandardScaler() # 평균 0, 표준편차 1로 스케일링
data_scaled = scaler.fit_transform(data_imputed)
print("전처리된 데이터:\n", data_scaled)
이렇게 전처리 단계에서 자주 사용하는 방법들을 간단히 배웠습니다.
'내일배움캠프 TIL' 카테고리의 다른 글
| 2024.12.26TIL (2) | 2024.12.26 |
|---|---|
| 2024.12.24 TIL (1) | 2024.12.24 |
| 2022.12.20TIL (1) | 2024.12.20 |
| 2024.12.19 TIL (3) | 2024.12.19 |
| 2024.12.18TIL (1) | 2024.12.18 |