본문 바로가기
자격증 공부/빅데이터분석기사

빅데이터분석기사 실기 시험환경 체험하기-작업형 2유형

by 해모해모 2023. 6. 18.
728x90
반응형

문제

코드
import pandas as pd
X_test = pd.read_csv("data/X_test.csv")
X_train = pd.read_csv("data/X_train.csv")
y_train = pd.read_csv("data/y_train.csv")

# 결측치 확인 및 0으로 채우기
#print(X_train.isnull().sum())
X_train['환불금액'] = X_train['환불금액'].fillna(0)
#print(X_train.isnull().sum())
X_test['환불금액'] = X_test['환불금액'].fillna(0)

#print(X_train.info())

# object형 라벨인코딩
cols = ['주구매상품', '주구매지점']
from sklearn.preprocessing import LabelEncoder

for col in cols : 
	le = LabelEncoder()
	X_train[col] = le.fit_transform(X_train[col])
	X_test[col] = le.transform(X_test[col])
    
#print(X_train[cols])
#print(X_train.head())

# 랜덤포레스트 모델 학습하기
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
model.fit(X_train, y_train['gender'])
pred = model.predict_proba(X_test)

#print(pred[:,1]) # 여자는 0, 남자는 1이기 때문에 1일 확률을 찾아야 함

# csv 파일 제출
pd.DataFrame({'cust_id': X_test['cust_id'], 'gender': pred[:,1]}).to_csv('003000000.csv', index=False)

# 제출 잘 됐나 확인
#print(pd.read_csv('003000000.csv'))
728x90
반응형

댓글