본문 바로가기

Machine Learning/회귀(Regression)

Regression - FIFA 이적료 예측 : 전처리

반응형

dacon.io/competitions/open/235538/data/

 

[스포츠] 해외 축구 선수 이적료 예측 미션

출처 : DACON - Data Science Competition

dacon.io

 

 

 

각 컬럼의 정보

 

id 선수 고유의 아이디
name 이름
age 나이
continent  선수들의 국적이 포함되어 있는 대륙
contract_until  선수의 계약기간 만료
position  선수가 선호하는 포지션
prefer_foot  선수가 선호하는 발
reputation  선수가 유명한 정도
stat_overall  선수의 현재 능력치
stat_potential  선수가 경험 및 노력을 통해 발전할 수 있는 정도
stat_skill_moves  선수의 개인기 능력치
value  FIFA가 선정한 선수의 이적 시장 가격 (단위 : 유로)



 

 

 

데이터 불러오기

 

 

 

label을 value컬럼으로 미리 정의해두자

 

 

 

 

 

 

data 살펴보기

 

 

자료형은 숫자형과 object 뿐이다.

 

 

 

 

 

X_test 살펴보기

 

 

 

 

 

 

data에서 label 삭제, 불필요 컬럼 삭제

 

 

 

 

 

계약 기간 컬럼

 

 

연도가 아닌 May 31, 2019 와 같은 값이 있다. 추후에 전처리를 해주자

 

 

 

 

 

 

 

숫자형, 카테고리형 컬럼 분리

 

 

 

 

결측치 확인

 

운이 좋게도 결측치는 없다.

 

 

 

 

 

 

data를 train, valid로 분리

 

 

 

추후 있을 원핫인코딩을 위해 인덱스는 리셋해주자

 

 

 

https://steadiness-193.tistory.com/256

 

Machine Learning - train_test_split

https://steadiness-193.tistory.com/253 Machine Learning - 랜덤으로 train과 test로 나누기 데이터 불러오기 seaborn의 iris 데이터셋을 불러온다. 150개의 행 중 100개를 train, 50개를 test로 나눠보자 단,..

steadiness-193.tistory.com

 

 

 

 

스케일링

 

 

 

StandardSclaer를 이용해서 숫자형 컬럼들을 정규분포화 해주자

 

 

 

평균과 표준편차가 각각 0, 1로 얼추 맞춰졌다.

 

 

 

 

 

 

범주형 변수 원핫인코딩

 

 

원핫인코딩 전 사전에 확인했던 계약기간 컬럼을 전처리를 진행한다.

 

이는 숫자형이 아닌 범주형으로 유지한다.

 

 

 

최종적으로 25개의 컬럼으로 구성된 각각의 데이터프레임을 만들어 냈다.

 

 

 

 

 

라벨 변수 log transformation

 

 

기존의 라벨 값인 value의 값이 너무 크기 때문에 왜곡되어졌다. (skewed)

 

이에 자연로그를 씌워 정규분포형처럼 모양을 바꿔주었다.

 

이렇게 하면 예측 성능을 높일 수 있다.

 

 

 

 

전처리에 대한 자세한 내용은

 

https://steadiness-193.tistory.com/257

 

Machine Learning - valid와 test를 train으로 전처리

https://steadiness-193.tistory.com/256 Machine Learning - train_test_split https://steadiness-193.tistory.com/253 Machine Learning - 랜덤으로 train과 test로 나누기 데이터 불러오기 seaborn의 iris 데..

steadiness-193.tistory.com

 

위 포스팅에서 확인할 수 있다.

반응형