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

빅데이터분석기사 응시환경 체험

by _><- 2022. 6. 25.
반응형

https://dataq.goorm.io/exam/116674/%EC%B2%B4%ED%97%98%ED%95%98%EA%B8%B0/quiz/1

 

구름EDU - 모두를 위한 맞춤형 IT교육

구름EDU는 모두를 위한 맞춤형 IT교육 플랫폼입니다. 개인/학교/기업 및 기관 별 최적화된 IT교육 솔루션을 경험해보세요. 기초부터 실무 프로그래밍 교육, 전국 초중고/대학교 온라인 강의, 기업/

edu.goorm.io

 

# print문으로 데이터나 함수값이 ... 으로 생략되어 보일 경우 옵션설정

pd.options.display.max_columns = None

# 분석한 데이터 중간에 백업

x_train_backup = x_train.copy()

# 시험환경 유형2 작성샘플 코드

# 출력을 원하실 경우 print() 함수 활용
# 예시) print(df.head())

# getcwd(), chdir() 등 작업 폴더 설정 불필요
# 파일 경로 상 내부 드라이브 경로(C: 등) 접근 불가

# 데이터 파일 읽기 예제
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")

# 사용자 코딩
#print(X_train.info())
pd.options.display.max_columns = None
#print(X_train.describe().T)
x_test_cust_id = x_test['cust_id']
x_train = x_train.drop(columns = ['cust_id'])
y_train = y_train.drop(columns = ['cust_id'])
x_test = x_test.drop(columns = ['cust_id'])

#print(x_train.head())

x_train['환불금액'] = x_train['환불금액'].fillna(0)
x_test['환불금액'] = x_test['환불금액'].fillna(0)
#print(x_train.isnull().sum())
#print(x_test.isnull().sum())

from sklearn.preprocessing import LabelEncoder
encoder = LabelEncoder()
x_train['주구매상품'] = encoder.fit_transform(x_train['주구매상품'])
x_train['주구매지점'] = encoder.fit_transform(x_train['주구매지점'])
x_test['주구매상품'] = encoder.fit_transform(x_test['주구매상품'])
x_test['주구매지점'] = encoder.fit_transform(x_test['주구매지점'])

condition = x_train['환불금액'] > 0
x_train.loc[condition, '환불금액_new'] = 1
x_train.loc[~condition, '환불금액_new'] = 0
x_test.loc[condition, '환불금액_new'] = 1
x_test.loc[~condition, '환불금액_new'] = 0

from sklearn.preprocessing import StandardScaler 
scaler = StandardScaler()
x_train = pd.DataFrame(scaler.fit_transform(x_train), columns = x_train.columns)
x_test = pd.DataFrame(scaler.transform(x_test), columns = x_test.columns)

x_train = x_train.drop(columns = ['최대구매액'])
x_test = x_test.drop(columns = ['최대구매액'])


from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier(max_depth=10, criterion='entropy', random_state=10)
model.fit(x_train, y_train)
y_train_predicted = model.predict(x_train)

from sklearn.metrics import roc_auc_score
#print(roc_auc_score(y_train, y_train_predicted))

y_test_predict = model.predict(x_test)
y_test_predict = pd.DataFrame(y_test_predict)
result = pd.concat([x_test_cust_id, y_test_predict], axis = 1).rename(columns = {0:'gender'})


# 답안 제출 참고
# 아래 코드 예측변수와 수험번호를 개인별로 변경하여 활용
result.to_csv('test.csv', index=False)
# pd.DataFrame({'cust_id': X_test.cust_id, 'gender': pred}).to_csv('003000000.csv', index=False)
반응형

'IT 자격증 > 빅데이터분석기사' 카테고리의 다른 글

빅분기 용어정리 (ADP)  (0) 2022.06.19
빅분기 용어정리 (ADSP)  (0) 2022.06.18
데이터 읽어오기, 저장하기  (0) 2022.06.02
사분위수 구하기  (0) 2022.05.31
결측치 확인  (0) 2022.05.31