ㄹㄷㄹㄷㄹe
문서 리스트
corpus = [
"나는 오늘 밥을 먹었다",
"밥을 먹고 운동을 했다",
"오늘 운동을 마치고 밥을 먹었다"
]
# TF-IDF 벡터화
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(corpus)
# 코사인 유사도 계산
cosine_sim = cosine_similarity(tfidf_matrix, tfidf_matrix)
# 결과를 데이터프레임으로 보기 좋게 출력
df = pd.DataFrame(cosine_sim, index=["문서1", "문서2", "문서3"], columns=["문서1", "문서2", "문서3"])
print("코사인 유사도 행렬:")
print(df)
출처: https://resultofeffort.tistory.com/147 [resultofeffort:티스토리]
두 가지 의사결정 방식의 이해
우리는 매일 수많은 의사결정을 내립니다.
아침에 무엇을 입을지부터 저녁에는 무엇을 먹을지 말이죠.
이러한 선택을 할 때 우리가 사용하는 방식은 크게 두 가지로 나눌 수 있습니다.
첫 번째는 "직관적 의사결정"입니다.
이는 우리가 가장 많이 사용하는 방식입니다.
예를 들어 제가 티셔츠를 판매하는 판매자라고 해볼게요.
판매하고자 하는 티셔츠의 색상을 선택해야 합니다.
저는 이 티셔츠를 최대한 많이 팔아야 하는 판매자이기 때문에 사람들이 가장 많이 구매할 것 같은 색상을 고를 것입니다.
검정색이 가장 많이 판매가 될 것 같으니 100개를 발주하고 핑크색은 팔리지 않을 것 같아서 발주를 넣지 않을 겁니다.
이러한 결정이 바로 본인이 지금까지 쌓아온 경험과 직감으로 의사결정을 하는 방식입니다.
직관적 의사결정의 장점은 "속도"입니다. 데이터 수집이나 복잡한 분석 과정 없이도 빠르게 결정을 내릴 수 있기 때문입니다.
이러한 과정에서 데이터로 설명할 수 없는 아이디어나 접근 방법을 떠올리기도 합니다.
하지만 이러한 방법에는 단점이 있습니다. 의사결정자의 개인적인 편견이나 감정이 개입되기 때문에 같은 상황이라도 사람에 따라, 같은 사람이라도 기분에 따라 다른 결정을 내릴 수 있습니다.
두 번째는 "데이터 기반 의사결정"입니다.
이는 객관적인 수치와 분석 결과를 바탕으로 하는 결정을 내리는 방식입니다.
예를 들어 넷플릭스에서 새로운 컨텐츠를 제작하려면 과거의 사람들이 가장 많이 소비한 컨텐츠의 종류와 분야, 시청자의 나이, 한달에 소비하는 시간을 고려해서 새로운 컨텐츠를 기획하고 생산하는 방식입니다.
데이터 기반의 의사결정의 장점은 객관성과 재현성입니다. 동일한 데이터로 동일한 분석을 한다면 누가 분석하든 비슷한 결론에 도달할 수 있습니다. 또한 결정의 근거를 명확히 제시할 수 있어서 다른 사람들을 설득하기도 쉽습니다. 하지만 이 방식도 단점이 존재합니다. 데이터를 분석하는데 수많은 리소스가 소요되고, 무엇보다 과거의 데이터를 기반으로 미래를 예측하는 것이기 때문에 전혀 새로운 상황에서는 한계가 있을 수 있습니다.
## 👨💼 데이터 사이언티스트가 갖춰야 할 역량
그렇다면 데이터 기반 의사결정을 주도하는 데이터 사이언티스트는 어떤 능력을 갖춰야 할까요? 많은 사람들이 프로그래밍이나 통계학만 잘하면 된다고 생각하지만, 실제로는 훨씬 다양한 역량이 필요합니다.
가장 기본이 되는 것은 당연히 기술적 역량입니다. 통계학의 기초 개념들을 이해하고, Python이나 R 같은 프로그래밍 언어를 다룰 수 있어야 하죠. SQL로 데이터베이스에서 필요한 데이터를 추출할 수 있어야 하고, 머신러닝 알고리즘들을 상황에 맞게 적용할 수 있어야 합니다. 하지만 이것만으로는 충분하지 않습니다.
더 중요한 것은 분석적 사고력입니다. 복잡한 비즈니스 문제를 보았을 때 이것을 어떻게 데이터로 분석할 수 있는 형태로 바꿀 수 있는지 생각할 수 있어야 해요. 예를 들어 "고객 만족도를 높이고 싶다"는 막연한 요청을 받았을 때, 이를 "고객 서비스 응답 시간과 만족도 점수 간의 관계 분석" 같은 구체적인 분석 문제로 변환할 수 있어야 합니다.
또한 비즈니스에 대한 이해도 필수입니다. 아무리 정교한 분석을 했더라도 그것이 실제 비즈니스에 어떤 의미가 있는지, 어떤 가치를 창출할 수 있는지 알지 못한다면 의미가 없거든요. 예를 들어 전자상거래 회사에서 일한다면 고객 획득 비용, 생애 가치, 전환율 같은 핵심 지표들을 이해하고 있어야 합니다.
마지막으로, 많은 사람들이 간과하는 것이 커뮤니케이션 능력입니다. 데이터 분석 결과를 기술적 배경이 없는 경영진이나 동료들에게 이해하기 쉽게 설명할 수 있어야 해요. 복잡한 통계 분석 결과를 직관적인 시각화로 표현하고, 그것이 비즈니스에 미치는 영향을 스토리텔링으로 전달할 수 있어야 합니다.
## 🎯 통계적 의사결정 모형의 이해
데이터 기반 의사결정을 체계적으로 수행하기 위해서는 일정한 프레임워크가 필요합니다. 가장 널리 사용되는 것 중 하나가 CRISP-DM 모형입니다. 이는 비즈니스 이해에서 시작해서 데이터 이해, 데이터 준비, 모델링, 평가, 배포까지의 순환적 과정을 제시합니다.
예를 들어 온라인 쇼핑몰에서 고객 이탈을 예측하고 싶다고 해봅시다. 먼저 비즈니스 이해 단계에서는 왜 고객 이탈 예측이 중요한지, 어떤 비즈니스 가치를 창출할 수 있는지 명확히 해야 합니다. 데이터 이해 단계에서는 어떤 데이터가 있는지, 데이터의 품질은 어떤지 파악합니다. 데이터 준비 단계에서는 분석에 적합하도록 데이터를 정제하고 변환합니다. 모델링 단계에서는 적절한 머신러닝 알고리즘을 선택하고 모델을 구축합니다. 평가 단계에서는 모델의 성능을 검증하고, 마지막 배포 단계에서는 실제 업무에 적용합니다.
또 다른 중요한 프레임워크는 통계적 가설검정입니다. 이는 특정 주장이나 가설이 통계적으로 의미가 있는지 객관적으로 판단하는 방법입니다. 예를 들어 새로운 웹사이트 디자인이 기존 디자인보다 전환율을 높인다고 주장할 때, 이를 단순히 "느낌상 좋아 보인다"가 아니라 통계적으로 검증할 수 있어야 합니다.
## 🔄 실무에서의 균형잡힌 접근
하지만 실제 업무에서는 데이터와 직관을 완전히 분리해서 생각할 수 없습니다. 가장 효과적인 의사결정은 두 방식을 적절히 조합할 때 나옵니다. 직관으로 가설을 세우고 데이터로 검증하거나, 데이터 분석 결과를 직관과 경험으로 해석하는 것이죠.
예를 들어, 데이터 분석 결과 특정 고객 그룹의 구매율이 급격히 떨어졌다고 나타났다면, 이것만으로는 원인을 알 수 없습니다. 이때 현장 경험이 풍부한 마케팅 담당자의 직관이 "아, 최근에 경쟁사가 대대적인 할인 이벤트를 했었지"라는 통찰을 제공할 수 있어요. 반대로 "고객들이 모바일 앱을 더 선호할 것 같다"는 직관적 가설을 세웠다면, 이를 A/B 테스트나 사용자 행동 데이터 분석으로 검증할 수 있습니다.
결국 이 섹션에서 가장 중요한 것은 데이터 분석의 가치를 이해하는 것입니다. 데이터 기반 의사결정이 만능은 아니지만, 객관성과 재현성, 그리고 예측 가능성이라는 강력한 장점을 가지고 있다는 점을 알아야 합니다. 동시에 데이터 사이언티스트로서 성공하기 위해서는 기술적 역량뿐만 아니라 비즈니스 이해력과 커뮤니케이션 능력까지 갖춰야 한다는 점도 기억해두세요.