카우치베이스가 데이터 과학을 간소화하는 방법(2부)

이 블로그는 고등학생 인턴인 Karen Yuan이 공동 작성했습니다.

우리의 이전 글 Couchbase 쿼리 서비스를 사용하여 탐색적 데이터 분석을 수행하는 방법을 배웠습니다. 또한 Couchbase Python SDK의 쿼리 API를 사용하여 학습 데이터를 효율적으로 읽고 머신 러닝(ML)에 적합한 판다스 데이터 프레임에 원활하게 저장하는 방법도 배웠습니다. 그리고 마지막으로 ML 모델과 해당 메타데이터를 Couchbase에 저장했습니다. 이 글에서는 예측을 생성하고, 이를 Couchbase에 저장하고, 쿼리 차트를 사용하여 분석하는 방법에 대해 알아보겠습니다.

실시간 예측

데이터 과학자는 학습된 모델을 사용하여 예측을 생성합니다.

그림 1의 예측 흐름을 사용하여 실시간으로 이탈 점수를 예측하고 예측 결과를 Couchbase에 저장하겠습니다. 이전 글에서 학습한 이탈 예측 모델을 사용하겠습니다.

Real Time Prediction Flow

카우치베이스에 저장된 모델과 해당 메타데이터를 읽는 함수입니다:

카우치베이스에 저장된 고객 데이터를 읽는 기능입니다:

다음 사항 예측 함수는 위의 함수를 사용하여 모델, 메타데이터 및 고객 레코드를 읽습니다. 학습 중에 사용된 것과 동일한 프로세스(즉, 원핫 인코딩)를 사용하여 고객 데이터를 피처로 변환합니다. 그런 다음 이 특징에 대해 모델을 실행하여 이탈 점수를 예측합니다.

다음 대상에 대한 이탈 예측 customerID 100002 이 1이면 스트리밍 서비스를 떠날 가능성이 높다는 뜻입니다.

churn prediction

예측은 아래 표시된 코드를 사용하여 예측이라는 Couchbase 버킷에 저장됩니다. 계속 진행하기 전에 Couchbase 클러스터에 예측 버킷을 만드세요.

예측이 Couchbase에 성공적으로 저장되었는지 확인합니다.

Python UDF 기능(현재 개발자 프리뷰 버전)을 사용하여 학습된 모델을 실행하고 Couchbase Analytics에서 예측을 생성할 수도 있습니다. 다음 문서를 참조하세요. 카우치베이스 애널리틱스 파이썬 UDF를 사용하여 ML 모델 실행하기 에서 자세한 내용을 확인하세요.

가정 분석

데이터 과학자는 예측을 분석하여 의사 결정에 도움이 되는 질문에 답합니다.

이전 글에서 정의한 문제는 온라인 스트리밍 서비스 회사의 영업팀이 월별 비용을 늘리면 고객 이탈을 억제하면서 수익을 극대화할 수 있는지 알고 싶어하는 것이었습니다.

이에 대한 답을 구하기 위해 아래 코드를 사용하여 월별 비용이 $1, $2 등으로 증가했을 때의 이탈 점수를 예측합니다. 이 분석 결과는 예측 버킷에 저장됩니다.
Couchbase 클러스터 UI를 사용하여 다음과 같은 범위를 만듭니다. what_if_analysis 라는 컬렉션과 증가_월별_비용 을 예측 버킷에 추가합니다. (범위 및 컬렉션은 Couchbase Server 7.0 이상에서 사용할 수 있습니다.)

카우치베이스 쿼리를 사용하여 예측 결과를 분석하려면 다음과 같이 기본 인덱스를 만듭니다. what_if_analysis 범위를 설정합니다. 쿼리 컨텍스트는 그림과 같이 설정해야 합니다.

query editor
쿼리 차트를 사용하여 예측 결과를 분석할 수 있습니다. 아래 차트에서는 월 비용이 $1 증가할 경우 기존 고객 중 약 7%가 이탈할 것으로 예측되고, 월 비용이 $2 증가할 경우 약 10%가 이탈할 것으로 예측되는 등 기존 고객의 이탈 가능성이 높은 것으로 나타났습니다.

query chart

아래 차트는 현재 월 매출이 $315만임을 보여줍니다. 이 수익은 기존 고객의 월 구독 비용이 $1만큼 증가하면 약 $5만 원, 월 비용이 $2만큼 증가하면 약 $23만 원이 증가할 것으로 예측됩니다. 그러나 월 비용이 $3 이상 증가하면 예상 이탈률이 높아져 수익이 감소할 것으로 예측됩니다.

querychart2
이 분석을 통해 온라인 스트리밍 서비스 회사의 영업팀은 이탈률을 억제하면서 수익을 극대화하기 위해 월 구독료를 $2로 인상할 수 있다는 결론을 내릴 수 있습니다.

쿼리 UI의 '차트 다운로드' 옵션을 사용하여 차트를 저장할 수 있습니다.

카우치베이스 애널리틱스 서비스

파이썬 SDK의 Couchbase 쿼리 API를 사용하여 Couchbase에서 데이터를 읽었습니다. 대신 Couchbase Analytics API를 사용하려는 경우 다음은 Couchbase에서 데이터를 읽고 판다스 데이터 프레임에 저장하는 예제입니다.

카우치베이스 애널리틱스 서비스는 EDA, 데이터 시각화 및 학습된 ML 모델(개발자 미리 보기)을 실행하는 데에도 사용할 수 있습니다. 자세한 내용은 애널리틱스용 N1QL 언어 참조 에 대한 기사 카우치베이스 애널리틱스 파이썬 UDF를 사용하여 ML 모델 실행하기 에서 자세한 내용을 확인하세요.

결론

이번 글과 이전 글에서 Couchbase가 데이터 과학을 쉽게 만드는 방법에 대해 알아보았습니다. 고객 이탈 예측을 예로 들어, 쿼리 서비스를 사용하여 탐색적 분석을 수행하는 방법과 Python SDK를 사용하여 대규모 학습 데이터 세트를 효율적으로 읽고 ML에 적합한 데이터 구조로 쉽게 저장하는 방법을 살펴보았습니다.

또한 ML 모델, 메타데이터 및 예측을 Couchbase에 저장하는 방법과 예측을 분석하기 위해 쿼리 차트를 사용하는 방법도 살펴봤습니다.

카우치베이스 데이터 플랫폼은 쿼리 및 분석 서비스를 실행하는 클러스터와 동일한 클러스터에 원시 데이터, 기능, ML 모델, 해당 메타데이터 및 예측을 저장하는 데 사용할 수 있습니다. 이렇게 하면 데이터 과학에 필요한 도구의 수를 줄여 프로세스를 빠르고 쉽게 진행할 수 있습니다.

다음 단계

머신 러닝과 Couchbase에 대해 자세히 알아보고 싶다면 다음 단계와 리소스를 통해 시작하세요:

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 푸남 다베일, 수석 소프트웨어 엔지니어

푸남 다베일은 카우치베이스의 수석 소프트웨어 엔지니어입니다. 그녀는 분산 시스템, NoSQL, 고가용성, 스토리지 기술 설계 및 개발 분야에서 20년 이상의 경력을 쌓았습니다. 그녀는 분산 스토리지 시스템 관련 특허를 다수 보유하고 있으며 머신 러닝 및 데이터 과학 관련 자격증을 보유하고 있습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.