주제: 싸이킷 런을 활용한 데이터 전처리


1. 오늘 배운 내용 정리

  1. 결측값 처리 (Missing Values Handling)
    • 데이터에 결측값(NaN)이 있을 때 이를 처리하는 방법을 배웠습니다.
    • SimpleImputer를 사용하면, 결측값을 평균값, 중간값 또는 가장 자주 나온 값으로 채울 수 있습니다.
      from sklearn.impute import SimpleImputer
      imputer = SimpleImputer(strategy='mean')  # 'mean'은 평균값으로 채우는 방법
      imputed_data = imputer.fit_transform(data)
      
  2. 스케일링 (Scaling)
    • StandardScaler는 데이터를 평균 0, 표준편차 1로 변환해주는 방법입니다.
      from sklearn.preprocessing import StandardScaler
      scaler = StandardScaler()
      scaled_data = scaler.fit_transform(data)
      
    • 이렇게 스케일링을 하면 데이터가 일정한 범위로 맞춰져, 머신러닝 모델이 더 잘 학습할 수 있습니다.
  3. 범주형 데이터 인코딩 (Categorical Data Encoding)
    • LabelEncoder는 텍스트로 된 카테고리 데이터를 숫자로 변환합니다. 예를 들어, 'red', 'blue', 'green'을 0, 1, 2로 변환할 수 있습니다.
      from sklearn.preprocessing import LabelEncoder
      encoder = LabelEncoder()
      encoded_labels = encoder.fit_transform(labels)
      

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

+ Recent posts