[DACON] 심리 성향 예측 AI 경진대회
https://dacon.io/competitions/official/235647/overview/
데이콘에서 종료한 대회의 데이터와 코드를 참고해 알고리즘 제작을 실습해보려 한다. 처음으로 풀 문제는 올해 11월 종료한 심리성향 예측 AI 경진대회
이다.
Overview
테스트 참가자의 국가 선거 투표 여부를 예측한다.
- 사용 가능 언어 : Python, R
- 심사기준 : AUC
- 외부 데이터 사용불가, pre-trained Model 사용불가
데이터 분석
학습해야할 데이터 파일의 구성은 아래와 같다.
- 하나의 행이 한 참가자의 정보를 담고 있다. 최종적으로 예측해야 하는 값은 해당 참가자의
voted : 지난해 국가 선거 투표여부
이다. - a~t 까지의 20개의 질문에 대한 답 QnA와 답변에 걸린 시간 QnE 가 주어진다.
- 답변은
1=Disagree, 2=Slightly disagree, 3=Neutral, 4=Slightly agree, 5=Agree
로 주어진다.
- 답변은
- 스스로의 성격에 대한 평가 질문 7개에 대한 답이 주어진다.
- I see myself as (Extraverted / Critical / Dependable… )
- 실존하는 단어 13개에 대한 정의를 아는지 여부에 대한 답변이
1=Yes, 2=No
로 주어진다 : wr_(01~13) - 허구하는 단어 3개에 대한 정의를 아는지 여부에 대한 답변이
1=Yes, 2=No
로 주어진다 : wt_(01~03) - 기타 해당 참가자에 대한 정보(연령, 교육수준, 모국어, 형제자매 등)가 주어진다.
데이터 전처리
[ 구글 드라이브 마운트해서 파일 받아오기 ]
구글 드라이브에 샘플 csv파일을 올려두고, 데이터 처리를 위해 해당 파일들을 불러온다.
1 | # 구글 드라이브에 올려둔 학습데이터 가져온다 |
- 개인 구글 드라이브 하위에
/DACON/MindType
폴더를 만들어두고 학습 데이터들을 올려두었다. - 드라이브를 마운트하고 파일을 받아온다.
[ csv 파일 읽어와 학습변수로 설정하기 ]
csv 파일 읽어오기
1 | # csv파일 읽어들인다 |
1 | Index(['index', 'QaA', 'QaE', 'QbA', 'QbE', 'QcA', 'QcE', 'QdA', 'QdE', 'QeA', |
- 파이썬의 pandas 라이브러리를 활용해 csv 파일을 불러온다 :
pandas.read_csv()
사용 - csv파일 변수의
.columns
로 추출된 컬럼을 확인할 수 있다.
index column 설정하기
1 | # csv파일 읽어들인다 |
1 | Index(['QaA', 'QaE', 'QbA', 'QbE', 'QcA', 'QcE', 'QdA', 'QdE', 'QeA', 'QeE', |
- 위와 같이 csv파일을 읽어올때
index column을 설정
해주면 전처리할 열에서 제외할 수 있다.
“voted” 열을 train_y의 타겟으로 만들기
1 | train_x = train_raw.drop('voted', axis = 1) |
1 | (45532, 76) # 45532명에 대한 76가지 데이터를 의미한다. |
- 학습 데이터에서
voted
열만 제외한 데이터를 train_x로 저장 - 학습 데이터의
voted
열을 따로 뽑아 train_y로 저장
[ 문자열 변수 변환 ]
값이 문자열로 들어가있는 데이터에 대해 적절한 숫자값으로 변환해주었다.
1 | gender_list = ['Male', 'Female'] |
1 | index |