이번 포스팅에서는 데이터 분석 프로세스의 첫 번째 단계인 데이터분석 을 위한 목표 정의 에 대해서 알아 보겠습니다. 통계학에서 매우 유명한 Iris Flower(붓꽃) 데이터세트를 활용하여 단계별로 접근하겠습니다.
프로젝트 목표 식별
첫 번째 단계에서는 당면한 문제를 이해하고 분석의 전반적인 목적을 정의합니다.
예를 들어:
- 붓꽃의 특징에 따른 분류
- feature를 활용한 주택 가격 예측
- 이메일의 스팸 여부 감지
업무 환경에서는 이해관계자, 동료 또는 상사가 목표를 제공하는 경우가 많습니다. 만약, 프로젝트를 혼자 진행하고 있다면 목표를 직접 설정해야 합니다. 목표는 명확하고 간결하며 모호하지 않아야 합니다.
우리의 예시를 기준으로 한 목표 정의 예시는 아래와 같습니다.
붓꽃의 4가지 특징(sepal width, petal width, sepal length, petal length)을 사용하여 보이지 않는 붓꽃 데이터를 3가지 종(setosa, versicolor, virginica) 중 하나로 분류합니다.
데이터 세트 이해
두 번째 단계에서는 분석하기 위한 데이터 세트를 이해해야 합니다.
업무 환경에 있는 경우 동료와 이해관계자에게 데이터 세트에 대한 정보를 요청할 수 있습니다. 경우에 따라 SME(주제 전문가)에게 문의할 수도 있습니다.
혼자 작업하는 경우 데이터세트를 살펴보면서 데이터세트가 어떻게 구성되어 있는지, 어떤 변수가 있는지 스스로 확인해야 합니다.
데이터에 대해 물어볼 몇 가지 질문 리스트
- 얼마나 많은 데이터가 있나요?
- 데이터가 온라인(새 기록으로 지속적으로 업데이트)입니까, 아니면 배치(단일 정적 데이터 세트)입니까?
- 각 column/feature 무엇을 나타냅니까?
- 데이터가 편집되었나요?
- 다른 열을 결합하여 새로운 열이 생성되었습니까?
- 범주형 변수로 생성된 binary column이 있습니까?
- 결측치가 있나요?
붓꽃 데이터세트는 머신러닝 분야에서 잘 알려진 데이터세트로 아이리스 꽃 3종의 4가지 특징에 대한 측정값으로 구성되어 있습니다.
- Feature : 데이터 세트에는 붓꽃의 다양한 차원을 나타내는 네 가지 기능이 포함되어 있습니다.
- 꽃받침 길이(센티미터) – Sepal Length (in centimeters)
- 꽃받침 너비(센티미터) – Sepal Width (in centimeters)
- 꽃잎 길이(센티미터) – Petal Length (in centimeters)
- 꽃잎 너비(센티미터) – Petal Width (in centimeters)
- Species: 데이터 세트에는 세 가지 종류의 붓꽃이 있습니다.
- 세토사(Setosa)
- 베르시컬러(Versicolor)
- 버지니아(Virginica)
- 관측치: 각 붓꽃 종류에서 50개씩 총 150개의 관측치가 있습니다. 누락된 데이터는 없습니다.
- 데이터 구조: 각 관측치에는 네 가지 변수(feature)에 대한 측정값이 있으며, 해당 종으로 라벨이 지정되어 있습니다.
구체적인 목표 수립
목표를 객관적으로 측정 가능하게 세분화합니다. 목표를 달성하는 데 필요한 작업을 지정합니다.
- 목표 1: 데이터 세트 탐색 및 시각화
- 목표 2: 머신러닝을 위한 데이터 전처리
- 목표 3: 분류 모델 구축
분석을 위한 질문 제기
목표 정의에 맞는 질문을 나열해 봅니다. 이는 분석을 안내하고 의미 있는 통찰력을 얻는 데 많은 도움이 됩니다.
- [목표 1] 데이터 세트의 각 특성(feature)은 어떻게 분포되어 있나요?
- [목표 1] 붓꽃 종류별 특징은 무엇인가요?
- [목표 1] feature들은 서로 어떻게 연관되어 있나요?
- [목표 2] 이상치가 있나요?
- [목표 2] 누락된 값이 있나요?
- [목표 2] feature가 동일한 규모인가요?
- [목표 3] 가장 적합한 분류 알고리즘은 무엇입니까?
- [목표 3] 모델의 정확성을 어떻게 평가할 것인가?
- [목표 3] 우리 모델은 얼마나 정확합니까?
검증 및 개선
목표 및 질문을 다시 읽고 목표를 명확하게 하기 위한 조정 작업이 필요한 경우, 이를 수행합니다.
업무 환경에 있는 경우 동료, 관련 이해관계자 또는 상사와 목표, 목표 및 질문을 공유하고 피드백에 따라 조정합니다. 이는 귀하의 목표와 질문이 전체 프로젝트 목표와 일치하는지 확인하는 것입니다.
모든 사람이 처음부터 목표 정의를 조율하는 것이 중요합니다. 그렇지 않으면 분석이 진행된 이후에 목표를 제대로 이해하지 못했다는 사실을 알게 되어 처음부터 다시 작업해야 하는 끔찍한 일이 벌어질 수 있습니다.
분석 프레임 정의
위에서 수집한 정보를 기반으로 이미 분석 프레임을 잡을 수 있습니다. 분석 프레임은 다음과 같습니다.
- (다중 클래스) 분류 문제
- 분류: 입력 데이터가 주어지면 올바른 붓꽃 종류를 예측합니다.
- 다중 클래스: 우리가 예측하려는 것은 세 가지 가능한 범주 중 하나입니다.
- 지도 학습 작업
- 데이터 세트에는 모델을 훈련하는 데 사용할 수 있는 예측하려는 범주의 예제(붓꽃 ‘종’ 열)가 표시되어 있습니다.
- 다변량 데이터세트
- 종 카테고리를 예측하는 데 사용할 수 있는 몇 가지 feature(sepal_length, Petal_length, sepal_width 등)이 있습니다. 이는 우리가 선택할 수 있는 기계 학습 모델의 종류와 성능을 평가하는 방법을 결정하는 데 도움이 됩니다.
예를 들어 다음이 유용할 수 있습니다.
- [모델] 랜덤 포레스트
- 다양한 분류 작업에 활용도가 높고 효과적입니다.
- [성능 지표] F1 점수
- 분류 문제에서 F1 점수를 성능 지표로 선택할 수 있습니다.
- F1 점수에 추가적인 맥락을 제공하기 위해 정밀도, 재현율, 정확성을 살펴볼 수도 있습니다.
이는 분석을 위한 훌륭한 출발점이 됩니다.
결론
이번 포스팅에서는 성공적인 데이터 분석 프로젝트를 위한 첫 단계 목표 정의에 대해서 알아보았습니다. 다음 포스팅에서는 두번째 단계인 데이터 수집에 대해서 알아보겠습니다.
감사합니다!