장래 프로그래머의 블로그
2024.10.16 TIL 본문
바닥부터 시작하는 머신러닝 강의 2회독 완료
오늘은 머신러닝 2주차 문제은행 풀기로 정리한다.
1. PurchaseAmount
, CustomerAge
, CustomerGender
, ReviewScore
열의 결측값을 적절히 처리하세요.
# PurchaseAmount 열의 np.nan 값을 평균값으로 대체
df['PurchaseAmount'] = df['PurchaseAmount'].mean())
# CustomerAge 열의 np.nan 값을 평균값으로 대체
df['CustomerAge'] = df['CustomerAge'].fillna(df['CustomerAge'].mean())
# CustomerGender 열의 np.nan 값을 최빈값으로 대체
df['CustomerGender'] = df['CustomerGender'].fillna(df['CustomerGender'].mode()[0])
# ReviewScore 열의 np.nan 값을 평균값으로 대체
df['ReviewScore'] = df['ReviewScore'].fillna(df['ReviewScore'].mean())
2. PurchaseAmount
열에서 비정상적으로 큰 값과 음수 값을 처리하세요.
# PurchaseAmount 열의 음수 값 제거
df = df[df['PurchaseAmount']>=0]
# PurchaseAmount 열의 너무 큰 값 제거 (예: 10,000 이상)
df = df[df['PurchaseAmount']<10000]
3. 중복된 TransactionID
가 있는 경우 제거하세요.
# 중복된 행 제거
df = df.drop_duplicates(subset='TransactionID')
4. PurchaseDate
열의 데이터 타입을 날짜 형식으로 변환하세요.
# 문자열에서 datetime 자료형으로 변환
df['PurchaseDate'] = pd.to_datetime(df['PurchaseDate'])
5. PurchaseAmount
열을 정규화하세요.
# 스케일을 조정하는 정규화 함수 MinMaxScaler
scaler = MinMaxScaler()
# 정규화 대상 PurchaseAmount 열 입력
df['PurchaseAmount'] = scaler.fit_transform(df[['PurchaseAmount']])
6. ProductCategory
와 CustomerGender
열을 인코딩하세요.
# 카테고리형 데이터를 수치형으로 변환
encoder = LabelEncoder()
df['ProductCategory'] = encoder.fit_transform(df['ProductCategory'])
df['CustomerGender'] = encoder.fit_transform(df['CustomerGender'])
7. 데이터를 무작위로 샘플링하세요.
# DateFrame에서 무작위 표본 추출
sampled_df = df.sample(n=5, random_state=42)
'Today I Learned' 카테고리의 다른 글
2024.10.15 TIL (0) | 2024.10.15 |
---|---|
2024.10.14 TIL (0) | 2024.10.14 |
2024.10.13 TIL (0) | 2024.10.13 |
2024.10.12 TIL (0) | 2024.10.12 |
2024.10.11 TIL (0) | 2024.10.11 |