[데이터로 들여다본 HR 15화] 머신러닝 이해하기 2편

지난 달에 이어서 이번 달에도 머신러닝에 대해서 맛보는 시간을 가져보겠습니다. 머신러닝에서 사용할 수 있는 방법은 매우 다양합니다. 그 중 가장 편하게 이해할 수 있는 회귀분석(regression)을 통한 머신러닝 사례를 말씀드려보고자 합니다. 우선 회귀분석이란 표현은 영국의 통계학자 칼튼(Galton)이 수행한 연구에서 유래되었다고 합니다. 칼튼은 아버지와 자식의 키 관련성을 연구하던 중, 아버지의 키가 바로 아래 자식 키와는 관련성이 있지만 대(generation)가 넘어갈수록 다시 평균으로 돌아오려는 경향을 가진다, 즉 평균 키로 회귀하려는 경향이 있다고 하면서 “회귀”란 표현이 쓰이게 되었다고 알려져있습니다. 회귀분석은 여러 개의 독립변수와 한 개의 종속변수의 상관관계를 모델링하는 기법 중 하나입니다. 시간에 따라 변화하는 데이터나 영향, 가설적 실험, 인과 관계 모델링 등의 통계적 예측에서 많이 사용됩니다.

회귀분석의 종류는 독립변수가 하나일때 쓰는 “단순 회귀분석”과 여러개일 때 활용하는 “다중 회귀분석”이 있습니다. 가령, ‘조직내 구성원의 인지능력(cognitive ability)이 높을수록 직무능력도 높을 것이다’라는 가설을 검증하기 위해서는 단순회귀분석이 쓰일 수 있습니다. 반면, ‘신입사원 채용에서 활용한 성격 5요인, 지능 4요인, 인터뷰 점수는 입사 후 3년 후 성과를 예측하는데 효과적일 것이다’라는 물음을 답하기 위해서는 ‘다중 회귀분석’이 활용 가능할 것입니다.

여기서 지칭하는 독립변수는 일반적으로 우리가 하나의 현상을 야기(cause)하는 것들을 의미하는데 People 분야에서는 사람이 갖고 있는 특징(예. 성격, 인지능력, 가치, 동기 등), 조직 특성(예. 조직문화, 풍토 등) 등을 많이 활용합니다. 종속변수는 여러 가지 현상을 야기하는 변인들이 영향을 미치려는 대상을 의미합니다. 가령, 매출, 영업이익, 조직만족도, 조직몰입 등을 종속변수로 People 분야에서 많이 활용합니다. 결국 People Analytic에서는 조직에서 관심을 갖는 대상(종속변수)를 선정하고, 이 대상에 영향을 미치는 요인(독립변수)이 무엇인지 찾고 이를 변화하려는 노력을 하는 활동이라고도 표현할 수 있습니다. 우리는 조직에 속한 사람들이기 때문에 학문적 궁금함을 풀고자 데이터 분석을 하지 않으니깐요.

회귀분석 이야기로 돌아오면, 회귀모델이 얼만큼 “잘 구성되어 있는지?”를 평가하기 위해서는 R^2 결정계수와, MSE(Mean Square Error) 평균제곱오차 두 가지를 많이 활용합니다. 쉽게 설명하면, R^2 결정계수는 회귀모델이 ‘얼마나 데이터를 잘 표현하고 있는지’를 나타내는 통계적 척도이며 0~1까지의 수치를 가지며, 1에 가까울수록 회귀모델이 데이터를 잘 표현하고 있다는 뜻입니다. 다음으로 MSE 평균제곱오차는 아래 그림 I에서 보는 바와 같이 회귀모델이 그린 회귀선(예측값)이 실제값과 얼마나 차이가 나는지를 구한 값입니다. 즉, ‘오차=실제값 – 예측값’이며 음수값이 나오면 전체적인 크기를 알수 없게 되므로 제곱해주는 값을 쓰게 되는 것입니다.

 

[그림 I. 평균제곱오차 설명 그림(출처:https://m.blog.naver.com/jung_hh1034/221528236510)]

그리고 꼭 아셔야 하는 이슈가 바로 다중공선성(multi-collinearity) 문제입니다. 이는 회귀분석에서 다양한 독립변수를 활용할 경우, 독립변수간의 상관관계가 너무 높을때 발생하는 이슈입니다. 가령, 신입사원 채용시 활용한 성격 5요인 중 어떤 성격이 성과를 잘 예측하는가의 문제를 풀기 위해서 독립변수 5개를 독립변수로 넣었는데요, 5개 변수간 상관관계가 너무 높다고 하면, 도대체 어떤 성격 요인이 종속변수를 가장 잘 예측하는지를 알 수 없을 것입니다. 그러므로, 다중회귀분석을 통해서 분석할때는 반드시 다중 공선성 문제에 대해서 인지하고, 상관관계가 높은 변인 중 중요한 것만 남기거나 규제하는 방식 등을 취하거나 통계적인 방법으로 보정하는 방식 등이 있습니다. 이 밖에도 회귀분석 실행 시에는 기본적인 전제(assumption)을 확인해야 하는데요. 이 역시 분량이 방대하므로 향후 별도로 다루도록 하겠습니다.

그럼 회귀분석을 활용해서 성과를 예측한 머신러닝 사례를 한번 보도록 하죠. 가령, 신입사원 채용시 진단한 성격 5요인, 지능 4요인, 인터뷰 점수 등이 있고 3년 후 성과 데이터로 S, A, B, C, D가 있다고 해보죠. 우선 제일 중요한 것이 바로 ‘데이터 준비’겠죠. 우선 100명의 직원 데이터를 활용하고, 위 10가지 요인(성격 5요인, 지능 4요인, 인터뷰 점수)를 활용한다고 하면, 독립변수(예측변인)이 10개가 있다고 할 수 있습니다. 여기서 중요한 것이 데이터의 성질을 살펴보는 것입니다. 즉, 성격 5요인, 지능 4요인, 인터뷰 점수는 100점으로 환산되서 관리되는 연속형 변수(continuous variable; 숫자간의 특정 규칙이 없이 표현되는)이며, 성과는 S, A, B, C, D로 순서가 있는 명목형 변수(nominal variable; 순서가 크기에 관련없이 구분해놓은)입니다. 다만 우리 People 업무를 하는 사람들은 S-D가 순서가 있는 변인 것을 해석할 수 있으므로, 여기서는 S=5, A=4, B=3, C=2, D=1로 변환하여 연속형 변수처럼 활용할 수 있습니다.

다음으로 데이터가 어떤 특징을 가졌는지 기술적 통계(descriptive statistics)나 탐색적 분석(exploratory data analysis)를 해볼 수 있습니다. Python에서는 주로 ‘데이터.info()’ 함수를 통해서 데이터 타입과 결측치(Null)을 확인하고 ‘데이터.describe()’를 활용해 평균치, 편차 등을 볼 수 있습니다. 탐색적 분석에서는 주로 변인간 관계를 살펴볼 수 있는 plot을 그려보는데요. 다중회귀분석에서는 subplots을 활용해서 변인간 관련성을 한눈에 보고자 합니다. 조금 더 깊이있게 데이터에 대해서 알아보고자 한다면, 독립변수와 종속변수의 상관관계를 ‘데이터.corr’로 볼 수 있고 이를 heatmap을 통해서 그려볼 수도 있습니다.

데이터의 기본적 특징과 주요한 변인간 관계를 알았으면 독립변수와 종속변수를 머신러닝을 위해서 구분해줍니다. 그리고 Python에서는 sklearn을 활용해서 train data와 test data로 구분해줍니다. 전달에 말씀드린대로 8:2나 7:3을 주로 활용하기도 합니다. 그리고는 LinearRegression을 sklearn에서 불러오고요(import), fit()함수를 써서 모델을 학습시키고, predict()함수로 학습시킨 모델로 예측을 해봅니다. 그리고는 R^2결정계수와 MSE평균제곱오차를 활용해서 회귀모델을 평가합니다. 다음으로 어떤 독립변수가 가장 종속변수, 즉 성격 5요인, 지능 4요인 및 인터뷰점수 중 어떤 요인이 성과를 가장 잘 예측하는지 알기 위해서 각 요인마다의 회귀계수를 확인합니다. 회귀계수는 독립변수가 1 증가할때마다 증가량을 뜻합니다.

지금까지 비지도 머신러닝에서 많이 활용되는 방법 중 하나인 회귀분석을 사례를 통해 알아봤습니다. 처음에는 통계적 용어가 어려울 수 있어도 하나의 사례를 잡고 구현해보신다면 기계가 학습한다는 머신러닝 원리를 이해하시는데 큰 도움이 될 것입니다. 이 밖에도 정말로 무궁무진한 방법이 있지만 회귀분석으로도 상당히 많은 문제를 풀 수 있기에 필자들은 회귀분석을 통한 머신러닝부터 학습하시기를 권해드립니다. 다음 화에서 만나요!

1화 보러가기: https://hr.wanted.co.kr/insights/understanding-machine-learning-part-1/

공유하기

Share on facebook
Share on linkedin
Share on twitter
Share on email
0 개의 댓글
Inline Feedbacks
View all comments

인살롱 인기글

주52시간제 관련 주요 질문

  Q. 주52시간제가 시행 시 1주 총 근로시간이 52시간만 초과하지 않으면 문제가 없나요?​ 지난 기고 ‘주52시간제 개념과 주52시간제 준수의 필요성’에서

스타트업을 기웃거리는 HRer를 위한 조언

스타트업을 기웃거리는 HRer를 위한 조언   바야흐로 드라마 제목이 ‘스타트업’으로 방영되는 시대가 왔다. 드라마로 인해 초중고등학생들의 장래 희망에 스타트업 대표나

error: 컨텐츠 도용 방지를 위해 우클릭이 금지되어 있습니다.

로그인

인살롱 계정이 없으세요? 회원가입

도움이 필요하신가요?

문의사항이 있다면 알려주세요

로그인
벌써 3개의 아티클을 읽어보셨어요!

회원가입 후 더 많은 아티클을 읽어보시고, 인사이트를 얻으세요 =)
인살롱 계정이 없으세요? 회원가입