brunch

You can make anything
by writing

C.S.Lewis

by HRKIM Dec 10. 2023

GPT와 Python을 활용한 HR 대시보드 만들기

IBM HR Data, 공직생활실태조사 Data를 활용하여

들어가며


 현대 기술의 발전, 특히 생성형 인공지능은 일상과 업무방식에 혁신적 변화를 가져오고 있습니다. 이러한 변화는 HR Analytics 분야에서도 명확하게 나타나고 있는데, 과거에 높은 진입장벽으로 인해 접근하기 어려웠던 여러 부분들이 이제는 접근이 용이해지면서 새로운 기회를 창출하고 있습니다. 'HR Analytics 끄적끄적' 매거진의 이번 글에서는 Chat GPT와 Python을 활용하여 HR 대시보드를 구축하는 과정이 얼마나 간소화되고 접근성이 향상되었는지 살펴보려고 합니다. 또한, 현대 기술이 HR 분야의 전통적인 관리 방식을 어떻게 혁신적으로 변모시키고 있으며, 이러한 변화가 조직에 미치는 긍정적인 영향에 대해서도 살펴보고자 합니다.


 1. 파이썬 설치 및 활용하기


 이번 'HR Anlytics 끄적끄적' 매거진 글은 Chat GPT와 Python을 활용하여 수행하였습니다. Python은 사용 범위가 광범위하기 때문에, 이 글에서 Python 사용법을 상세히 다루기는 어렵습니다. 하지만, 관심 있는 분들은 YouTube에서 '파이썬 무료 강의'를 검색해 보시면 다양한 무료 강의를 찾을 수 있습니다. 그중에서도 특히 '스타트코딩' 채널의 영상을 추천합니다. 이 영상은 Python의 활용법을 쉽게 설명하여, Python 프로그래밍에 아직 익숙하지 않은 분들이 가장 처음 시작할 때 보기 좋습니다. 영상의 길이도 길지 않아 크게 부담 없이 볼 수 있습니다.


https://www.youtube.com/watch?v=PlMpk-If9jA&list=PLNO7MWpu0eeVfqT9ehXWf9CdRALusjUsU



 2. HR 대시보드 만들기


  2. 1. HR 기초통계 시각화


  <IBM HR Analytics Employee Attrition & Performance Data>


 IBM HR Analytics Employee Attrition & Performance Data는 IBM의 HR부서에서 직원의 이직률 및 성과를 분석하기 위해 자주 사용되며 'HR Analytics 끄적끄적' R과 Chat GPT를 활용한 직원 퇴직 요인 분석하기, R과 Chat GPT를 활용한 HR Data 시각화, R과 Chat GPT를 활용한 퇴사자 예측하기, Chat GPT를 활용한 온보딩/오프보딩 실시하기 편에서도 활용한 한 적이 있는 데이터 셋입니다. 이 데이터셋은 직원의 개인정보(나이, 성별, 교육 수준 등), 직장 내 경험(직무 만족도, 월급, 초과근무 여부 등), 그리고 이직 여부 등의 정보를 포함하고 있습니다. 이런 정보들은 인사관리와 관련된 다양한 분석과 연구에 주로 활용됩니다. 이번 글에서는 HR 대시보드를 만들기 위한 Raw Data로 활용하고자 합니다.


https://www.kaggle.com/datasets/pavansubhasht/ibm-hr-analytics-attrition-dataset


  먼저 위 IBM HR Data를 ChatGPT에 탑재한 뒤, Plotly Dash 라이브러리를 사용하여 해당 데이터를 시각화하는 Python 코드를 요청하였습니다. 특히, 일부 데이터는 사용자가 드롭다운 메뉴를 통해 선택할 수 있도록 설정하고, 그 외 데이터는 선택한 범주 내에서 통계적 내용을 시각화할 수 있도록 요청하였습니다.


Python 명령어
라이브러리 설치: pip install library-name
라이브러리 실행: import (라이브러리 이름) as (라이브러리 별칭)



 Python 코드 중 일부는 위 화면에서 확인할 수 있는 바와 같이 Chat GPT와 추가 대화를 주고받으며 수정 보완하였습니다. Chat GPT가 최종적으로 제공한 코드를 Visual Studio Code에 입력하여 실행한 결과는 아래 화면과 같습니다. 화면 상단에 있는 '변수' 메뉴를 클릭하면, 선택된 변수에 관한 통계가 시각화되어 사용자에게 표시됩니다.


Python 코드: 파이선 파일실행 방법
명령 프롬프트, 터미널에서 해당 파일이 위치한 디렉터리로 이동한 다음 아래 명령어를 입력
python 파일명.py



 이와 같은 HR 대시보드 시각화 자료는 인사 관리 업무를 수행할 때 직관적으로 파악하기 어려운 통계적 정보를 인사담당자와 관리자가 쉽게 인지할 수 있도록 도와줍니다.



  2. 2. 조직구성원 퇴직 예측 대시보드 만들기


 <IBM HR Analytics Employee Attrition & Performance Data>


 조직구성원 퇴직 예측 대시보드 만들기에서도 IBM HR Analytics Employee Attrition & Performance Data 데이터를 활용합니다. IBM HR Data를 활용하여 조직구성원 퇴직을 예측을 수행하는 구체적은 방법은 이미 R과 Chat GPT를 활용한 직원 퇴직 요인 분석하기, R과 Chat GPT를 활용한 퇴사자 예측하기를 통해 소개드리적 있습니다. 퇴직 예측 분석의 구체적인 방법론에 대해 더 알고 싶으신 분들은 위 2개의 글을 함께 참고해 주시기 바랍니다.


 이번 글의 초점은 퇴직 예측 분석을 활용해 대시보드를 만드는 과정에 맞춰져 있습니다. 우선, IBM HR Data를 Chat GPT에 탑재한 후, 이를 기반으로 다양한 요건들을 설정했습니다. 설정된 요건에 따라, Chat GPT는 Python 코드를 작성하는 데 도움을 주었습니다. 처음에, ROC 커브 상 중간 선이 보이지 않아 중간선을 추가해 달라고 요청하여 그래프 부분의 코드를 일부 수정하였습니다.



Python 코드: 파이선 파일(streamlit) 실행
명령 프롬프트, 터미널에서 아래와 같은 명령어를 입력
streamlit run app.py


 Visual Studio Code를 사용하여 ChatGPT으로부터 받은 Python 코드를 실행했습니다. 이 웹 애플리케이션은 Streamlit 라이브러리를 기반으로 구축되었으며, 추가적으로 pandas, scikit-learn, matplotlib, seaborn과 같은 라이브러리들도 활용되었습니다. 각 라이브러리의 구체적인 사용 목적과 실행 방법에 대한 자세한 정보는 ChatGPT에게 다시 질문하면 추가로 GPT가 잘 설명해 줍니다.



 위에서 확인할 수 있는 바와 같이, 기존에 Visual Studio Code를 사용하여 코딩으로 진행하던 로지스틱 회귀분석을 웹 환경으로 옮겨 구현했습니다. 이를 통해 Python 코드에 익숙하지 않은 사용자들도 간단한 클릭 몇 번만으로 조직 구성원의 퇴직 예측 분석을 수행할 수 있게 만들 수 있습니다.



  2. 3. 조직구성원 몰입 현황 대시보드 만들기


 저는 올해 10월 30일 '제1회 피플 애널리틱스 컨퍼런스'를 참여하였습니다. 해당 컨퍼런스에서 다양한 발표가 있었고 정말 다양한 발표 내용은 모든 내용이 흥미로웠습니다.


https://www.youtube.com/watch?v=0uFxsy2pXcM


 그중에서도 특히 KIA 팀의 발표가 인상적이었습니다. KIA에서는 '조용한 사직'을 막기 위한 직무만족과 조직몰입 현황 분석, 그리고 이를 바탕으로 한 조용한 사직 예방 전략에 대해 발표했습니다. 발표에서는 조직몰입도와 직무만족도를 기준으로 4분면(이중몰입, 조직편중, 저몰입, 직무편중)으로 구분하고, 이를 통해 개선 방향을 도출하였는데요. 이와 같은 방식은 매우 흥미로웠습니다.



 이러한 컨셉을 공공 부문에도 적용할 수 있을 것으로 생각하며, 한국행정연구원이 매년 실시하는 '공직생활 실태조사' 데이터(2018년부터 2021년까지의 데이터)를 활용해 동일한 분류 모델을 적용한 인사정책 방향 제시 대시보드를 개발해 보았습니다. 해당 대시보드에 활용된 '공직생활 실태조사'의 개요는 아래와 같습니다.


[공직생활 실태조사]

조사주관기관: 한국행정연구원
조사주기: 매년 1회 실시
조사목적: 공무원 인적자원관리에 대한 주요 현황 및 공무원의 다양한 차원에 대한 인식을 조사하여 공무원이 공직을 수행하면서 경험하고 느끼게 되는 인식변화를 체계적으로 파악
표본추출: 층화표본추출
조사방법: E-mail 웹 조사

2018년 데이터:
공무원 4,000명(중앙행정기관 소속 공무원 1,263명, 광역자치단체 소속 공무원 2,737명)
2019년 데이터:
공무원 4,111명(중앙행정기관 소속 공무원 1,270명, 광역자치단체 소속 공무원 2,841명)
2020년 데이터:
공무원 4,339명(중앙행정기관 소속 공무원 1,983명, 광역자치단체 소속 공무원 2,356명)
2021년 데이터:
공무원 4,000명(중앙행정기관 소속 공무원 2,000명, 광역자치단체 소속 공무원 2,000명)


 2018년부터 2021년까지의 '공직생활 실태조사' Data에서 다음과 같은 문항을 활용하였습니다. 34번(조직몰입) 3개 설문문항, 35번(직무만족) 3개 문항을 각각 활용하였는데, 각 문항은 산술평균을 통해 조직몰입과 직무만족의 최종 점수를 산출하였습니다.


공직생활 실태조사 34번 문항(5점 Likert 척도)
1) 나는 이 조직에 남기 위하여 어떤 직무라도 수행할 용의가 있다.
3) 나는 우리 조직에 대해 소속감을 강하게 느낀다.
4) 우리 조직이 추구하는 가치는 나의 가치와 일치한다.

공직생활 실태조사 35번 문항(5점 Likert 척도)
1) 나는 담당업무에 흥미가 있다.
2) 나는 열정적으로 업무를 수행한다.
3) 나는 업무를 수행하면서 성취감(보람)을 느낀다.


 데이터 정제 후에는 Streamlit과 Chat GPT API를 사용하여 조직 구성원의 몰입 현황을 나타내는 표를 생성하고, 인사 정책 방향에 관해 GPT와 대화할 수 있는 인터페이스를 제작해 달라고 요청했습니다.



 사실 해당 작업에서 처음 ChatGPT가 제공한 코드는 완벽하지 않았고, 몇 가지 오류가 있었습니다. 이에 따라 저는 Python 코드를 여러 번 실행하며 그래프와 메뉴바의 크기 조정 방법 등을 직접 수정하고 보완했습니다. 이러한 코드 수정 과정에서 ChatGPT에게 현재 상황에 대한 정보를 제공하면 ChatGPT는 코드를 효과적으로 수정하고 개선하는 데 도움을 줄 수도 있습니다. 에러 메시지나 결과물의 스크린샷, 혹은 Visual Studio Code에서의 코드 작성 과정을 캡처하여 ChatGPT에게 전달하면 보다 구체적인 피드백을 받을 수 있습니다.



 마지막으로, 수정된 코드를 Visual Studio Code에 입력하여 실행하였으며, 코드 실행 결과 구현된 대시보드는 아래 화면과 같습니다. 아래 화면에서 확인할 수 있는 바와 같이, 왼쪽 다양한 변수를 클릭하여 특정 조건 조직구성원의 몰입 상태를 쉽게 파악할 수 있습니다. 또한 GPT API와 연결된 채팅창을 통해 GPT와 인사정책 방향에 대화도 수행할 수 있습니다.



 생성형 AI 기술의 진보는 전문가만이 다룰 수 있었던 대시보드 구축을 일반인에게도 접근 가능하게 만들었습니다. 이와 같은 대시보드를 구축하면 인사담당자와 관리자는 몇 번의 클릭만으로 조직 구성원의 몰입 상태와 같은 중요한 정보를 손쉽게 파악할 수 있습니다. 이를 통해 데이터 기반의 인사관리를 효율적으로 수행할 수 있는 기반을 마련할 수 있습니다.


나가며


 이번 'HR Analytics 끄적끄적' 매거진에서는 Chat GPT의 활용을 통해 HR 대시보드 구축의 진입 장벽이 얼마나 낮아졌는지 몇 가지 사례를 통해 살펴봤습니다. 데이터 기반 HR 대시보드는 HR 담당자에게 객관적이고 심층적인 정보를 제공합니다. 이 정보를 활용하면 복잡한 통계 지식이 없어도 필요한 분석을 쉽게 수행할 수 있습니다. 더욱이 생성형 AI 기술을 통합함으로써, 분석 과정을 더욱 효율적이고 체계적으로 만들 수 있으며, HR 담당자는 전략적 업무에 더욱 집중할 수 있습니다. 생성형 AI가 HR 부서를 넘어 조직 내 전사적으로 도입될 경우, 단순히 조직 내 업무방식의 혁신을 넘어 조직문화의 변화까지 이끌어낼 잠재력이 있습니다. 앞으로도 지속적으로 이루어질 생성형 AI 기술의 발전은 조직 내에서 지속적인 혁신을 가능하게 할 것입니다.




본 글의 대문 이미지는 Stable Diffusion Online으로 제작하였습니다.




Reference

한국행정연구원. 2022. 2021년 공직생활실태조사보고서.

한국행정연구원. 2021. 2020년 공직생활실태조사보고서.

한국행정연구원. 2020. 2019년 공직생활실태조사보고서.

한국행정연구원. 2019. 2018년 공직생활실태조사보고서.

Kaggle 사이트. https://www.kaggle.com/

kaggle IBM HR Analytics Employee Attrition & Performance Data 사이트

https://www.kaggle.com/datasets/pavansubhasht/ibm-hr-analytics-attrition-dataset

HRKIM. 2023. R과 Chat GPT를 활용한 퇴사자 예측하기: 두번째 이야기: 모델 성능 향상 및 목적에 맞는 분석모델 찾기. 2023년 7월 2일 작성. 2023년 12월 10일 접속. https://brunch.co.kr/@publichr/56

HRKIM. 2023. R과 Chat GPT를 활용한 직원 퇴직 요인 분석하기: Kaggle IBM HR Data를 활용하여. 2023년 5월 5일 작성. 2023년 12월 10일 접속. https://brunch.co.kr/@publichr/37

HRKIM. 2023. R과 Chat GPT를 활용한 HR Data 시각화: Kaggle IBM HR Data를 활용하여. 2023년 6월 4일 작성. 2023년 12월 10일 접속. https://brunch.co.kr/@publichr/48

HRKIM. 2023. Chat GPT를 활용한 온보딩/오프보딩 실시하기: IBM HR Data를 활용하여. 2023년 11월 4일 작성. 2023년 12월 10일 접속. https://brunch.co.kr/@publichr/83

스타트코딩. 2021. 최신 파이썬 무료 강의. https://www.youtube.com/watch?v=PlMpk-If9jA&list=PLNO7MWpu0eeVfqT9ehXWf9CdRALusjUsU&index=1.

PARI. 2023. 제1회 피플 애널리틱스 컨퍼런스 with PARI & HR Tech Korea. https://www.youtube.com/watch?v=0uFxsy2pXcM



매거진의 이전글 Chat GPT로 전략적 인적자원관리 실시하기

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari