이번 시리즈에서는 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), 각 항목별로 다양한 선택지가 주어짐.
보충 데이터
라이브러리 불러오기
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) # 차이 계산
노트북에서 다루는 주요 분석 목표
✅ 기업들이 데이터 사이언스 및 머신러닝을 실제 프로덕션 환경에 얼마나 배포하고 있는가?
✅ 기업의 규모나 산업이 AI 도입에 영향을 미치는가?
✅ 대기업이 중소기업보다 AI 도입이 더 활발한가?
✅ 클라우드 네이티브 솔루션이 기업에 필수적인가?
✅ 데이터 스토리지, 데이터 관리, AutoML, BI(비즈니스 인텔리전스)에서 가장 인기 있는 도구는 무엇인가?
✅ 머신러닝 및 데이터 과학에서 가장 많이 사용되는 프레임워크와 라이브러리는 무엇인가?
✅ 전이 학습(Transfer Learning)이 기업 환경에서 실제로 활용될 만큼 성숙했는가?
✅ 기업들이 정말 빅데이터와 딥러닝을 활용하는가? 그렇다면 ML 모델 훈련을 위해 전문적인 하드웨어(GPU, TPUs 등) 가 필요한가?
✅ AI 및 데이터 과학 관련 가장 인기 있는 직업은 무엇인가?
✅ AI 전문가는 실제로 어떤 업무를 수행하는가?
✅ 2022년 기준, AI 관련 직군에서 가장 수요가 높은 기술은 무엇인가?
✅ 데이터 과학자와 AI 전문가의 평균 연봉 수준은 어떠한가?
✅ 경력에 따라 연봉이 어떻게 변화하는가?
분석 방법론
분석을 진행하기 위해 저자는 설문조사 응답자 중에서 실제 AI 및 데이터 사이언스 관련 직업에서 일하고 있는 사람들만을 대상으로 필터링하였다. 즉, 다음 기준을 충족하는 응답자만 분석에 포함된다.
전체 응답자의 약 37.9%가 위 조건을 충족했으며, 이를을 대상으로 분석을 수행했다.
분석 더보기
https://www.kaggle.com/code/yukyoungchoi/copywork-data-science-and-mlops-landscape-in-ind