반응형
반응형

빅분기 후기

빅데이터분석기사 후기(필기, 실기 공부방법, 합격률, 공부기간, 난이도체감 등)(1) :: 공기업 전산직을 위한 도서관

빅분기 실기 1유형 코드정리

빅데이터분석기사 실기 1유형 코드정리 (2) :: 공기업 전산직을 위한 도서관  

빅분기 실기 3유형 코드정리

빅데이터분석기사 실기 3유형 코드정리(4) :: 공기업 전산직을 위한 도서관

 

 

 

우선 2유형에 들어가기전에 알아두면 좋을 것 

 

분류 : 종속(목표변수)  남, 여  / 생존, 사망    - accuracy_score, fi1_socre , roc_auc_score  / RandomForestClassifier

회귀 : 종속(목표변수) : 수치형, 연속형 / 가격, 수치  - RMSE , 결정계수   / RandomForestRegression

 

분류는  0,1,2 처럼 결과가 딱 나눠떨어지는거

회귀는 연속형자료

 

2유형을 공부하면서 유튜브 및 블로그 등을 참고하면서 정리한 코드입니다. 공부하실 때 참고하시고 도움이 되었으면 합니다. 아래 코딩은 실기체험환경 기준으로 작성됐습니다.

 

 

라벨인코딩 

1. 데이터 로드 및 확인

2. 결측값 대체(최빈값), 라벨 인코딩

3. 데이터 분할

4. 모델링(분류)

5. 성능 평가

6. 테스트 데이터 예측

7. 결과 데이터 제출 & 확인

 

 

1. 데이터 로드 및 확인

import pandas as pd
train = pd.read_csv("data/customer_train.csv")
test = pd.read_csv("data/customer_test.csv")

 

2. 결측값 대체(최빈값), 라벨 인코딩

 1) 결측값 대체
train.fillna(train['환불금액'].mode()[0],inplace=True)
test.fillna(test['환불금액'].mode()[0],inplace=True)

# print(train.info())          ....중간확인
# print(test.info())           ....중간확인

 

 2) 라벨 인코딩
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()


le.fit(total['주구매지점'])

total['주구매지점'] = le.transform(total['주구매지점'])

le.fit(total['주구매상품'])

total['주구매상품'] = le.transform(total['주구매상품'])

 

3. 데이터 분할

from sklearn.model_selection import train_test_split
x=train.drop(columns=['성별','회원ID'])
y=train['성별']
x_train, x_test, y_train, y_test = train_test_split(x,y,test_size=0.2,random_state=2024)

 

4. 모델링(분류)

from sklearn.ensemble import RandomForestClassifier #분류
# from sklearn.ensemble import RandomForestRegressor #회귀


rfc=RandomForestClassifier(n_estimators=150, max_depth=20, random_state=2024)
rfc.fit(x_train,y_train)
pred1=rfc.predict(x_test)               #pred 1= train  데이터에 대한 예측 값

 

5. 성능 평가

from sklearn.metrics import roc_auc_score, accuracy_score
roc=roc_auc_score(y_test , pred1)


#acc=accuracy_score(y_test , pred1)
# print('roc:',roc) #0.602354            ....중간확인
# print('acc:',acc) #0.664285            ....중간확인

 

6.테스트 데이터 예측

test_x=test.drop(columns=['회원ID'])
pred2=rfc.predict(test_x)
# print(pred2)            ....중간확인

 

7.결과 데이터 제출 & 확인

pd.DataFrame({'pred':pred2}).to_csv('result.csv',index=False)
#result=pd.read_csv('result.csv')            ....최종확인
#print(result)            ....최종확인

 

 

 

 원핫인코딩 

1. 데이터 로드 및 확인

2. 원핫인코딩_겟더미

3. 데이터 분할

4. 모델링(분류)

5. 성능 평가

6. 테스트 데이터 예측

7. 결과 데이터 제출 & 확인

 

1. 데이터 로드 및 확인

import pandas as pd
train = pd.read_csv
test = pd.read_csv

 

2. 원핫인코딩_겟더미

target = train.pop('성별')
train = pd.get_dummies(train)
test = pd.get_dummies(test)

 

3. 데이터 분할

from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split (train, target, test_size=0.2, random_state=2024)

 

4. 모델링(분류)

from sklearn.ensemble import RandomForestClassifier #분류
# from sklearn.ensemble import RandomForestRegressor #회귀


rfc=RandomForestClassifier(n_estimators=150, max_depth=20, random_state=2024)
rfc.fit(x_train,y_train)
pred1=rfc.predict(x_test)               #pred 1= train  데이터에 대한 예측 값

 

5. 성능 평가

from sklearn.metrics import roc_auc_score, accuracy_score
roc=roc_auc_score(y_test , pred1)


#acc=accuracy_score(y_test , pred1)
# print('roc:',roc) #0.602354            ....중간확인
# print('acc:',acc) #0.664285            ....중간확인

 

6.테스트 데이터 예측

test_x=test.drop(columns=['회원ID'])
pred2=rfc.predict(test_x)
# print(pred2)            ....중간확인

 

7.결과 데이터 제출 & 확인

pd.DataFrame({'pred':pred2}).to_csv('result.csv',index=False)
#result=pd.read_csv('result.csv')            ....최종확인
#print(result)            ....최종확인

 

 

 

 

 

 

사실상 초반부부만 다르게하고 나머지는 같게해도 무방


최소 30점이상을 맞기(0점 안맞기 위해)

 

☆★ 인코딩->분류->모델링->제출 ☆★ 

 

일련의 과정을 꼭 파악하고 푸는것이 큰 도움이 됩니다.

반응형

+ Recent posts

// 기업0 D-Day (표지) // 기업1 D-Day