BEST
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
비전공자, 입문자가 빅데이터 분석기사 실기를 빠르게 취득할 수 있도록 안내해드려요! 이론은 가볍게, 실전은 확실하게 복잡한 배경지식 없이도, 기출문제를 중심으로 시험에 꼭 나오는 포인트만 집중 학습합니다.
(4.9) 수강평 871개
수강생 5,671명
난이도 입문
수강기한 12개월


작업형2 코드 정리 (전체 학습, 파라미터는 기본값 추천)
이번 데이터에 주의 깊게 보셔야할 부분은
전체 데이터(주석 5번) 학습입니다. 비교 후 전체 학습 코드를 넣어놨습니다. 결과를 비교해 보시죠!
파라미터(class_weight, 하이퍼파라미터 등)는 무조건 추가/변경한다고 좋아지지 않는다. 검증셋으로 직접
비교해서 채택 여부를 정해야 합니다.
시험 상황에서 파라미터 판단하기 애매하면 기본값 (설정하지 않은 상태)로 가시죠. 안정적인게 중요할 것 같습니다!
무조건 전체 데이터 학습도 좋습니다!
코딩팡(https://code.sideonai.com/)에 작업형 2 문제 업데이트 했습니다.
빅이시 강의 부분에 모든 코드에 lightgbm 추가했습니다. (

코딩팡 장업형2 베이스 라인 안내드려요. EDA부분은 제외했습니다.
1번 문제
import pandas as pd
# 1) 데이터 불러오기
train = pd.read_csv('data/car_train.csv')
test = pd.read_csv('data/car_test.csv')
# 2) 범주형 변수 원-핫 인코딩
target = train.pop('target')
print(train.shape, test.shape)
train = pd.get_dummies(train)
test = pd.get_dummies(test)
print(train.shape, test.shape)
# 3) 검증용 분리 (제출 전 성능 비교)
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state=0, stratify=target)
# 4) 세 가지 모델 학습
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier(random_state=0)
rf.fit(X_tr, y_tr)
pred = rf.predict(X_val)
from sklearn.metrics import f1_score
print(f1_score(y_val, pred, average='macro'))
from lightgbm import LGBMClassifier
lgb = LGBMClassifier(random_state=0, verbose=-1)
lgb.fit(X_tr, y_tr)
pred = lgb.predict(X_val)
print(f1_score(y_val, pred, average='macro'))
from xgboost import XGBClassifier
xgb = XGBClassifier(random_state=0, verbosity=0)
xgb.fit(X_tr, y_tr)
pred = xgb.predict(X_val)
print(f1_score(y_val, pred, average='macro'))
# 5) 선택한 모델을 전체 train으로 다시 학습 후 test 예측 (선택)
# lgb.fit(train, target)
# pred = lgb.predict(test)
# 6) 제출 파일 저장 (pred 컬럼 1개만, index 제거)
result = pd.DataFrame({'pred': pred})
result.to_csv('result.csv', index=False)
# 제출파일 확인
print("\n ===== 제출파일 (샘플) =====")
print(pd.read_csv("result.csv").head())
print("\n ===== 제출파일 (크기 확인) =====")
print(pd.read_csv("result.csv").shape)2번 문제
import pandas as pd
# 1) 데이터 불러오기
train = pd.read_csv('data/bike_train.csv')
test = pd.read_csv('data/bike_test.csv')
# 2) 범주형 변수 원-핫 인코딩
target = train.pop('count')
print(train.shape, test.shape)
train = pd.get_dummies(train)
test = pd.get_dummies(test)
print(train.shape, test.shape)
# 3) 검증용 분리 (제출 전 성능 비교)
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state=0)
# 4) 세 가지 모델 학습
from sklearn.ensemble import RandomForestRegressor
rf = RandomForestRegressor(random_state=0)
rf.fit(X_tr, y_tr)
pred = rf.predict(X_val)
from sklearn.metrics import root_mean_squared_error
print(root_mean_squared_error(y_val, pred))
from lightgbm import LGBMRegressor
lgb = LGBMRegressor(random_state=0, verbose=-1)
lgb.fit(X_tr, y_tr)
pred = lgb.predict(X_val)
print(root_mean_squared_error(y_val, pred))
from xgboost import XGBRegressor
xgb = XGBRegressor(random_state=0, verbosity=0)
xgb.fit(X_tr, y_tr)
pred = xgb.predict(X_val)
print(root_mean_squared_error(y_val, pred))
# 5) 선택한 모델을 전체 train으로 다시 학습 후 test 예측 (선택)
# lgb.fit(train, target)
# pred = lgb.predict(test)
# 6) 제출 파일 저장 (pred 컬럼 1개만, index 제거)
result = pd.DataFrame({'pred': pred})
result.to_csv('result.csv', index=False)
# 제출파일 확인
print("\n ===== 제출파일 (샘플) =====")
print(pd.read_csv("result.csv").head())
print("\n ===== 제출파일 (크기 확인) =====")
print(pd.read_csv("result.csv").shape)댓글




