2026 ADP 실기 10 | 작업형2 회귀모형·오차·예측 제출 — 표·코드·풀이
데이터위자드 ·
실기 · 컴퓨터 작업형
고객의 다음 달 금액을 예측합니다. 분류용 정확도 대신 RMSE와 MAE로 오차를 평가하고, 최종 제출에는 실수 예측값을 저장합니다.
수행 방식
컴퓨터에서 코드와 결과 파일을 작성하는 작업형 실습입니다. 표의 데이터와 조건을 사용하세요.
실습 준비
- ZIP을 풀고 데이터 파일과 풀이 코드를 같은 폴더에 둡니다. 원본은 합성된 연습 데이터입니다.
- Python 풀이는 pandas·NumPy와 해당 코드의 scipy 또는 scikit-learn을 사용할 수 있는 환경에서 실행합니다. R 코드가 포함된 경우 base R로 실행할 수 있습니다.
- 먼저 작업 지시만 보고 풀고, 아래 해설에서 결과·분모·자료형을 대조합니다.
- 이 표에서 빈 값은 미입력입니다. 숫자 0이나 문자 NULL로 임의 치환하지 않습니다.
원본 표 — train 앞 12행
| id | region | visits | amount | target |
|---|---|---|---|---|
| 1 | 부산 | 8 | 57 | 222 |
| 2 | 대전 | 15 | 94 | 387 |
| 3 | 서울 | 3 | 131 | 179 |
| 4 | 부산 | 10 | 168 | 344 |
| 5 | 대전 | 17 | 205 | 478 |
| 6 | 서울 | 5 | 242 | 300 |
| 7 | 부산 | 12 | 279 | 465 |
| 8 | 대전 | 19 | 316 | 599 |
| 9 | 서울 | 7 | 353 | 422 |
| 10 | 부산 | 14 | 390 | 556 |
| 11 | 대전 | 2 | 427 | 379 |
| 12 | 서울 | 9 | 464 | 513 |
test 앞 5행 · 정답열 없음
| id | region | visits | amount |
|---|---|---|---|
| 241 | 부산 | 16 | 279 |
| 242 | 대전 | 4 | 316 |
| 243 | 서울 | 11 | 353 |
| 244 | 부산 | 18 | 390 |
| 245 | 대전 | 6 | 427 |
작업 1. 타깃 확인
train의 target을 분리하고 id를 입력에서 제외하세요.
정답·풀이·검산
기대 결과
train240행·test60행
test에는 target이 없습니다. 식별자와 예측변수를 구분합니다.
작업 2. 검증 분리
80:20 분할과 시드 42를 사용하세요.
정답·풀이·검산
기대 결과
학습 192행·검증 48행
검증 자료와 최종 test는 역할이 다릅니다.
작업 3. 기준모형
학습 타깃의 평균을 모든 검증 행에 예측하고 RMSE를 구하세요.
정답·풀이·검산
기대 결과
평균 예측을 기준선으로 비교
복잡한 모형이 기준선을 개선하는지 확인합니다.
작업 4. 모형 평가
전처리와 랜덤포레스트 회귀를 연결해 RMSE·MAE를 비교하세요.
정답·풀이·검산
기대 결과
RMSE=√MSE,MAE=평균 절대오차
설정은 검증으로 고르고 학습 점수만 비교하지 않습니다.
작업 5. 최종 예측
전체 train으로 재적합해 test60행을 예측하세요.
정답·풀이·검산
기대 결과
60개의 유한한 수치
회귀 예측은 0~1 확률이 아닙니다. 임의 정수화하지 않습니다.
작업 6. 저장·검산
id·target 두 열로 저장하고 행 수·키·결측을 검사하세요.
정답·풀이·검산
기대 결과
60행·id 일치·예측 결측 0
index=False로 원하지 않는 추가 열을 막습니다.
전체 풀이 — Python
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import Pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import OneHotEncoder
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error, mean_absolute_error
train=pd.read_csv("train.csv"); test=pd.read_csv("test.csv")
y=train["target"]; X=train.drop(columns=["id","target"]); Xt=test.drop(columns=["id"])
Xa,Xb,ya,yb=train_test_split(X,y,test_size=.2,random_state=42)
pre=ColumnTransformer([("num",SimpleImputer(strategy="median"),["visits","amount"]),("cat",Pipeline([("impute",SimpleImputer(strategy="most_frequent")),("onehot",OneHotEncoder(handle_unknown="ignore"))]),["region"])])
model=Pipeline([("pre",pre),("model",RandomForestRegressor(n_estimators=200,max_depth=5,random_state=42))])
model.fit(Xa,ya)
p=model.predict(Xb)
base=np.repeat(ya.mean(),len(yb))
print("baseline RMSE",np.sqrt(mean_squared_error(yb,base)))
print("RMSE",np.sqrt(mean_squared_error(yb,p)),"MAE",mean_absolute_error(yb,p))
model.fit(X,y)
pred=model.predict(Xt)
out=pd.DataFrame({"id":test.id,"target":pred})
assert len(out)==60 and out.id.is_unique and not out.isna().any().any()
assert np.isfinite(out["target"]).all()
out.to_csv("submission.csv",index=False)
check=pd.read_csv("submission.csv")
assert check.columns.tolist()==["id","target"] and check.id.tolist()==test.id.tolist()
print(check.head())
제출 전 점검
- 요구한 열·행 수·순서·자료형이 맞는지 결과를 다시 읽습니다.
- 평균·분산·검정에서 분모와 보정 옵션을 확인합니다.
- 학습에서 정한 전처리를 검증·시험에 그대로 적용했는지 확인합니다.
- 설명 문장에서는 유의성과 효과 크기, 예측과 인과를 구분합니다.
범위 확인
2026년 학습 범위를 기준으로 구성했습니다. 시험 시행기관의 자격 안내·출제 기준에서 과목과 변경 공지를 확인할 수 있습니다.
ADP 전체 목차
과목별 이론
- 1과목 · 1장 1~3절 · 데이터·정보·데이터베이스의 이해
- 1과목 · 2장 1~5절 · 빅데이터 가치·활용·위험과 통제
- 1과목 · 3장 1~3절 · 데이터 사이언스·전략 인사이트
- 3과목 · 1장 1~4절 · 분석 기획·방법론·과제 발굴
- 3과목 · 2장 1~2절 · 분석 마스터플랜·거버넌스
- 4과목 · 1장 1~2절 · R 기초·자료 구조·데이터마트
- 4과목 · 1장 3절 · 결측값·이상값·스케일링·데이터 누수
- 4과목 · 2장 1절 · 기술통계·척도·분산·상관계수
- 4과목 · 2장 2절 · 확률·조건부확률·분포·표본분포
- 4과목 · 2장 2절 · 추정·신뢰구간·가설검정
- 4과목 · 2장 3절 · 회귀분석·회귀계수·모형 진단
- 4과목 · 2장 3절 · 다변량 분석·PCA·거리·요인분석
- 4과목 · 2장 4절 · 시계열·정상성·ARIMA·시계열 검증
- 4과목 · 3장 1~2절 · 분류분석·로지스틱·나무·앙상블
- 4과목 · 3장 3절 · 군집분석·K-means·계층·DBSCAN
- 4과목 · 3장 4절 · 연관분석·지지도·신뢰도·향상도
- 4과목 · 3장 1~2절 · 모형 평가·혼동행렬·교차검증
- 2과목 · 1장 1~5절 · ETL·CDC·EAI·데이터 통합
- 2과목 · 2장 1~3절 · 분산 저장·분산 컴퓨팅·클라우드
- 4과목 · 3장 2절 · SVM·신경망·고급 앙상블
- 4과목 · 4장 1~2절 · 텍스트 마이닝·TF-IDF·사회연결망
- 5과목 · 1장 1~3절 · 시각화 인사이트·탐색·분석·활용
- 5과목 · 2장 1~4절 · 시각화 디자인·구현·접근성
- 3과목 · 2장 2절 · 모형 해석·배포·모니터링·재학습
단원별 객관식
- 1과목 · 1장 1~3절 · 데이터·정보·데이터베이스의 이해
- 1과목 · 2장 1~5절 · 빅데이터 가치·활용·위험과 통제
- 1과목 · 3장 1~3절 · 데이터 사이언스·전략 인사이트
- 3과목 · 1장 1~4절 · 분석 기획·방법론·과제 발굴
- 3과목 · 2장 1~2절 · 분석 마스터플랜·거버넌스
- 4과목 · 1장 1~2절 · R 기초·자료 구조·데이터마트
- 4과목 · 1장 3절 · 결측값·이상값·스케일링·데이터 누수
- 4과목 · 2장 1절 · 기술통계·척도·분산·상관계수
- 4과목 · 2장 2절 · 확률·조건부확률·분포·표본분포
- 4과목 · 2장 2절 · 추정·신뢰구간·가설검정
- 4과목 · 2장 3절 · 회귀분석·회귀계수·모형 진단
- 4과목 · 2장 3절 · 다변량 분석·PCA·거리·요인분석
- 4과목 · 2장 4절 · 시계열·정상성·ARIMA·시계열 검증
- 4과목 · 3장 1~2절 · 분류분석·로지스틱·나무·앙상블
- 4과목 · 3장 3절 · 군집분석·K-means·계층·DBSCAN
- 4과목 · 3장 4절 · 연관분석·지지도·신뢰도·향상도
- 4과목 · 3장 1~2절 · 모형 평가·혼동행렬·교차검증
- 2과목 · 1장 1~5절 · ETL·CDC·EAI·데이터 통합
- 2과목 · 2장 1~3절 · 분산 저장·분산 컴퓨팅·클라우드
- 4과목 · 3장 2절 · SVM·신경망·고급 앙상블
- 4과목 · 4장 1~2절 · 텍스트 마이닝·TF-IDF·사회연결망
- 5과목 · 1장 1~3절 · 시각화 인사이트·탐색·분석·활용
- 5과목 · 2장 1~4절 · 시각화 디자인·구현·접근성
- 3과목 · 2장 2절 · 모형 해석·배포·모니터링·재학습
실습
- 작업형 실습 1 · 6작업 · 결측값 탐색·학습 기준 대체
- 작업형 실습 2 · 6작업 · IQR 이상값·상한 절단·영향 비교
- 작업형 실습 3 · 6작업 · 그룹 집계·결측 제외·결과 검산
- 작업형 실습 4 · 6작업 · 표준화·min-max·미래 범위
- 작업형 실습 5 · 6작업 · 대표값·분산·상관·단순 회귀 계산
- 작업형 실습 6 · 6작업 · 베이즈 확률·검사 결과 표
- 작업형 실습 7 · 6작업 · 작업형 3 대응표본 t검정·신뢰구간
- 작업형 실습 8 · 6작업 · 작업형 3 카이제곱 독립성·기대도수
- 작업형 실습 9 · 6작업 · 작업형 2 분류모형·전처리·제출파일
- 작업형 실습 10 · 6작업 · 작업형 2 회귀모형·오차·예측 제출
- 작업형 실습 11 · 6작업 · 군집·거리·중심·실루엣 비교
- 작업형 실습 12 · 6작업 · 시계열 차분·나이브·롤링 검증
- 작업형 실습 13 · 6작업 · PCA·표준화·설명분산·새 자료 변환
- 작업형 실습 14 · 6작업 · 장바구니 연관규칙·지지도·향상도
- 작업형 실습 15 · 6작업 · 작업형 3 OLS 회귀·계수 검정·잔차
필기 모의고사
서술형
실기 모의고사
예상 모의문제입니다.