제2유형 (작업형2)40점2호선 7역 인코딩해서 제출난이도 중

[Lv.3] 제2유형 (40점)헬스장 PT 등록 · 인코딩해서 제출(F1)

제공 데이터
  • data/gym_train.csv
  • data/gym_test.csv

어느 헬스장의 신규 회원 데이터이다. 가입 경로·회원권 종류·한 달 방문 횟수 등으로 그 회원이 PT(개인 레슨)를 등록했는지(pt=1) 아닌지(pt=0)를 예측하는 이진 분류 문제이다. 학습용 데이터 gym_train.csv로 모델을 학습하고, 평가용 데이터 gym_test.csv의 각 회원에 대한 PT 등록 여부를 예측하여 result.csv 파일을 생성하는 코드를 작성하여 제출하시오.

  • 평가지표: F1 Score (PT 등록=1을 양성으로 계산 — 값이 높을수록 좋음, 구간별 5점 단위 배점)
  • 일부 변수가 범주형(문자열)이므로 학습 전 인코딩이 필요하다. 결측치는 없다.

[제출 형식]

  1. CSV 파일명: result.csv (별도 디렉토리 지정 금지)
  2. 예측 결과 컬럼명: pred (예측한 PT 등록 여부 0 또는 1)
  3. 제출 컬럼 개수: pred 1개 (자동 생성되는 index 컬럼 제거)
  4. 평가용 데이터(test) 행 수와 예측 결과 행 수가 일치해야 함

[변수 설명]

컬럼명설명값
channel가입 경로지인추천, SNS, 전단지, 검색
membership회원권 종류1개월, 3개월, 6개월, 12개월
group_class그룹 수업 신청 여부Y, N
age나이정수
visits_month첫 달 방문 횟수정수
avg_minutes1회 평균 운동 시간(분)정수
ptPT 등록 여부 (train에만 존재, 예측 대상)1: 등록, 0: 미등록

💡 이렇게 해 보세요

  • train.info()에서 object(문자)로 나오는 컬럼이 인코딩 대상입니다.
  • pd.concat([train, test])로 합친 뒤 pd.get_dummies() 하고, 앞쪽 len(target)개는 train, 나머지는 test로 다시 나눕니다.
  • F1은 f1_score(실제값, 예측값) 입니다.
  • help(f1_score) 를 실행하면 pos_label(기준 클래스, 기본 1) 설명이 나와요.
CSV 파일 형식 및 확인 방법

■ CSV 파일명: result.csv · 예측 칼럼명: pred (칼럼 1개)

■ 제출 CSV 파일 형식 예시

pred
1
0
1
……

■ CSV 파일 확인 방법: 생성된 파일을 아래처럼 출력해 확인

import pandas as pd
result = pd.read_csv("result.csv")
print(result.head())
result.csv를 생성하는 코드를 작성하고 '제출'을 누르세요.
에디터 로딩 중…

파이썬 실행환경 불러오는 중 · 보통 3초