캐글 필사 | 2022 Kaggle Machine Learning & Data Science Survey / 설문조사 데이터 처리 및 시각화 - 다중 옵션을 어떻게 처리하면 좋을까?

최유경·2025년 3월 15일

Kaggle Study

목록 보기
4/8

이번 시리즈에서는 2022 캐글 머신러닝 & 데이터 사이언스 서베이 대회의 데이터 세트를 활용하여 파이썬을 이용한 ML 모델 구축에 대해 공부해 보고자 한다. 필사에 참고한 노트북은 Jenny의 Data Science and MLOps Landscape in Industry이다.

Data Set 설명

사용된 데이터는 Kaggle의 연례 설문조사 결과로, 전 세계의 데이터 과학자, 엔지니어, 연구원 등이 참여하여 데이터 사이언스 및 MLOps 직무 현황, 산업별 활용, 주로 사용되는 프로그래밍 언어 및 도구, 클라우드, 연봉 및 경력, 트렌드 등을 파악할 수 있다.

메인 데이터: kaggle_survey_2022_responses.csv (43 questions and 23,997 responses), 각 항목별로 다양한 선택지가 주어짐.

보충 데이터

  • kaggle_survey_2022_answer_choices.pdf (모든 질문에 대한 답변 데이터이며, 각 항목이 무엇을 의미하는지에 대한 설명을 포함하고 있음)
  • kaggle_survey_2022_methodology.pdf: 서베이가 어떻게 진행되었는지에 대한 설명 (구조화)

라이브러리 불러오기

import pandas as pd
import numpy as np
import json
from collections import Counter

import plotly.graph_objects as go
import plotly.figure_factory as ff
from plotly.subplots import make_subplots
import plotly.express as px
from plotly.offline import init_notebook_mode, iplot
from plotly.colors import n_colors

from IPython.core.display import display, HTML, Javascript 
import IPython.display
from IPython.display import display, clear_output

import ipywidgets as widgets
from ipywidgets import interact, interact_manual

import matplotlib as mpl
import matplotlib.pyplot as plt

import warnings
warnings.filterwarnings('ignore')

collections.Counter는 요소의 개수를 손쉽게 셀 수 있도록 도와주는 함수로, 리스트, 튜플, 문자열 등 반복 가능한(iterable) 객체에서 각 요소의 등장 횟수를 계산하는 데 유용함.

주요 기능

1. 요소 개수 세기: 리스트, 튜플, 문자열 등에서 각 요소의 개수 세기
2. 사전(dict)과 유사한 동작: Counter 객체는 딕셔너리처럼 동작한다. 요소는 '키'이고, 개수는 '값'으로 나타난다.
3. 빈도 기반 연산 지원: 가장 많이 등장하는 요소를 찾거나, 두 개의 Counter 객체를 더하거나 뺄 수 있다.

주요 함수

1. Counter(elements): 반복 가능한 객체를 받아 각 요소의 개수를 계산하는 객체를 생성
2. most_common([n]): 가장 흔하게 등장하는 n개의 요소를 반환함. n을 생략하면 전체 요소를 빈도순으로 정렬 후 반환

from collections import Counter

# 리스트에서 요소 개수 세기
numbers = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
count_numbers = Counter(numbers)
print(count_numbers)  # Output: Counter({4: 4, 3: 3, 2: 2, 1: 1})

# 문자열에서 문자 개수 세기
text = "hello world"
count_text = Counter(text)
print(count_text)  # Output: Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})

# 가장 빈번한 요소 찾기
print(count_numbers.most_common(2))  # Output: [(4, 4), (3, 3)]

# 두 개의 Counter 객체 연산
counter1 = Counter("banana")
counter2 = Counter("apple")
print(counter1 + counter2)  # 두 Counter의 합
print(counter1 - counter2)  # 차이 계산

활용 예시

  • 텍스트 분석에서 단어 또는 문자 빈도 계산
  • 데이터 분석에서 특정 값이 등장하는 횟수 집계
  • 로그 분석에서 특정 이벤트 발생 횟수 파악
  • 게임 개발에서 아이템 획득 빈도 조사

노트북에서 다루는 주요 분석 목표

1. 오늘날 기업에서 머신러닝 도입 현황은 어떠한가?

✅ 기업들이 데이터 사이언스 및 머신러닝을 실제 프로덕션 환경에 얼마나 배포하고 있는가?
✅ 기업의 규모나 산업이 AI 도입에 영향을 미치는가?
✅ 대기업이 중소기업보다 AI 도입이 더 활발한가?

2. 엔터프라이즈 AI 기술 스택 분석

✅ 클라우드 네이티브 솔루션이 기업에 필수적인가?
✅ 데이터 스토리지, 데이터 관리, AutoML, BI(비즈니스 인텔리전스)에서 가장 인기 있는 도구는 무엇인가?
✅ 머신러닝 및 데이터 과학에서 가장 많이 사용되는 프레임워크와 라이브러리는 무엇인가?
✅ 전이 학습(Transfer Learning)이 기업 환경에서 실제로 활용될 만큼 성숙했는가?
✅ 기업들이 정말 빅데이터와 딥러닝을 활용하는가? 그렇다면 ML 모델 훈련을 위해 전문적인 하드웨어(GPU, TPUs 등) 가 필요한가?

3. AI 직업 시장 & 채용 전망 (AI Careers & Job Outlook in 2022)

✅ AI 및 데이터 과학 관련 가장 인기 있는 직업은 무엇인가?
✅ AI 전문가는 실제로 어떤 업무를 수행하는가?
✅ 2022년 기준, AI 관련 직군에서 가장 수요가 높은 기술은 무엇인가?

4. AI 연봉 분석 (AI Salary Overview)

✅ 데이터 과학자와 AI 전문가의 평균 연봉 수준은 어떠한가?
✅ 경력에 따라 연봉이 어떻게 변화하는가?


분석 방법론

분석을 진행하기 위해 저자는 설문조사 응답자 중에서 실제 AI 및 데이터 사이언스 관련 직업에서 일하고 있는 사람들만을 대상으로 필터링하였다. 즉, 다음 기준을 충족하는 응답자만 분석에 포함된다.

  • 현재 학생이 아닌 사람 (설문 Q5에서 “No”라고 응답한 경우)
  • 현재 취업 상태인 사람 (설문 Q23에서 "Currently not employed"를 선택하지 않은 경우)
  • 현재 종사 중인 산업을 응답한 사람 (또는 은퇴한 경우, 마지막으로 일했던 산업을 응답한 경우, Q24에 None이 아닌 값이 있는 경우)

전체 응답자의 약 37.9%가 위 조건을 충족했으며, 이를을 대상으로 분석을 수행했다.

분석 더보기
https://www.kaggle.com/code/yukyoungchoi/copywork-data-science-and-mlops-landscape-in-ind

0개의 댓글