Khả năng dự đoán rằng một khách hàng cụ thể có nguy cơ rời bỏ cao, trong khi vẫn còn thời gian để làm điều gì đó với nó, thể hiện một nguồn doanh thu tiềm năng khổng lồ cho mọi doanh nghiệp trực tuyến. Tùy thuộc vào ngành và mục tiêu kinh doanh, tuyên bố vấn đề có thể có nhiều lớp. Sau đây là một số mục tiêu kinh doanh dựa trên chiến lược này:
Bài đăng này thảo luận về cách bạn có thể sắp xếp mô hình dự đoán rời bỏ từ đầu đến cuối qua từng bước: chuẩn bị dữ liệu, thử nghiệm mô hình cơ sở và tối ưu hóa siêu tham số (HPO), đào tạo và điều chỉnh cũng như đăng ký mô hình tốt nhất. Bạn có thể quản lý của bạn Amazon SageMaker quy trình đào tạo và suy luận bằng cách sử dụng Xưởng sản xuất Amazon SageMaker và SageMaker Python SDK. SageMaker cung cấp tất cả các công cụ bạn cần để tạo ra các giải pháp khoa học dữ liệu chất lượng cao.
SageMaker giúp các nhà khoa học và nhà phát triển dữ liệu chuẩn bị, xây dựng, đào tạo và triển khai các mô hình máy học (ML) chất lượng cao một cách nhanh chóng bằng cách tập hợp một loạt các khả năng được xây dựng có mục đích cho ML.
Studio cung cấp một giao diện trực quan duy nhất dựa trên web, nơi bạn có thể thực hiện tất cả các bước phát triển ML, cải thiện năng suất của nhóm khoa học dữ liệu lên tới 10 lần.
Đường ống Amazon SageMaker là một công cụ để xây dựng các quy trình ML tận dụng tích hợp SageMaker trực tiếp. Với Đường ống, bạn có thể dễ dàng tự động hóa các bước xây dựng mô hình ML, mô hình danh mục trong sổ đăng ký mô hình và sử dụng một trong số các mẫu được cung cấp trong Dự án SageMaker để thiết lập tích hợp liên tục và phân phối liên tục (CI/CD) cho đầu cuối -kết thúc vòng đời ML ở quy mô lớn.
Sau khi mô hình được đào tạo, bạn có thể sử dụng Làm rõ Amazon SageMaker để xác định và hạn chế sự thiên vị và giải thích các dự đoán cho các bên liên quan trong kinh doanh. Bạn có thể chia sẻ các báo cáo tự động này với các nhóm kinh doanh và kỹ thuật cho các chiến dịch mục tiêu tiếp theo hoặc để xác định các tính năng là điểm khác biệt chính cho giá trị lâu dài của khách hàng.
Đến cuối bài đăng này, bạn sẽ có đủ thông tin để sử dụng thành công mẫu đầu cuối này bằng cách sử dụng Đường ống để đào tạo, điều chỉnh và triển khai trường hợp sử dụng phân tích dự đoán của riêng bạn. Các hướng dẫn đầy đủ có sẵn trên Repo GitHub.
Trong giải pháp này, điểm vào của bạn là môi trường phát triển tích hợp Studio (IDE) để thử nghiệm nhanh. Studio cung cấp một môi trường để quản lý trải nghiệm Đường ống từ đầu đến cuối. Với Studio, bạn có thể bỏ qua Bảng điều khiển quản lý AWS để quản lý toàn bộ quy trình làm việc của bạn. Để biết thêm thông tin về cách quản lý Đường ống từ Studio, hãy xem Xem, theo dõi và thực hiện các đường ống dẫn của SageMaker trong SageMaker Studio.
Sơ đồ sau đây minh họa kiến trúc cấp cao của quy trình khoa học dữ liệu.
Sau khi bạn tạo miền Studio, hãy chọn tên người dùng của bạn và chọn Mở Studio. IDE dựa trên web mở ra cho phép bạn lưu trữ và thu thập tất cả những thứ bạn cần—cho dù đó là mã, sổ ghi chép, bộ dữ liệu, cài đặt hay thư mục dự án.
Đường ống được tích hợp trực tiếp với SageMaker, vì vậy bạn không cần phải tương tác với bất kỳ dịch vụ AWS nào khác. Bạn cũng không cần quản lý bất kỳ tài nguyên nào vì Đường ống là dịch vụ được quản lý hoàn toàn, nghĩa là dịch vụ này tạo và quản lý tài nguyên cho bạn. Để biết thêm thông tin về các thành phần SageMaker khác nhau, cả hai đều là API Python độc lập cùng với các thành phần tích hợp của Studio, hãy xem Trang dịch vụ SageMaker.
Đối với trường hợp sử dụng này, bạn sử dụng các thành phần sau cho quy trình phát triển mô hình hoàn toàn tự động:
Quy trình SageMaker là một loạt các bước được kết nối với nhau được xác định theo định nghĩa quy trình JSON. Định nghĩa đường ống này mã hóa một đường ống bằng cách sử dụng đồ thị tuần hoàn có hướng (DAG). DAG này cung cấp thông tin về các yêu cầu và mối quan hệ giữa từng bước trong quy trình của bạn. Cấu trúc của DAG của đường ống được xác định bởi sự phụ thuộc dữ liệu giữa các bước. Các phần phụ thuộc dữ liệu này được tạo khi các thuộc tính của đầu ra của một bước được chuyển làm đầu vào cho một bước khác.
Đối với bài đăng này, trường hợp sử dụng của chúng tôi là một vấn đề ML cổ điển nhằm mục đích hiểu các chiến lược tiếp thị khác nhau dựa trên hành vi của người tiêu dùng mà chúng tôi có thể áp dụng để tăng tỷ lệ giữ chân khách hàng cho một cửa hàng bán lẻ nhất định. Sơ đồ sau đây minh họa quy trình ML hoàn chỉnh cho trường hợp sử dụng dự đoán rời bỏ.
Hãy xem chi tiết quy trình phát triển quy trình làm việc ML được tăng tốc.
Để theo dõi bài đăng này, bạn cần tải xuống và lưu tập dữ liệu mẫu trong mặc định Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) được liên kết với phiên SageMaker của bạn và trong nhóm S3 mà bạn chọn. Để thử nghiệm nhanh hoặc xây dựng mô hình cơ bản, bạn có thể lưu một bản sao của bộ dữ liệu trong thư mục chính của mình ở Hệ thống tệp đàn hồi Amazon (Amazon EFS) và làm theo sổ tay Jupyter Customer_Churn_Modeling.ipynb
.
Ảnh chụp màn hình sau đây hiển thị tập hợp mẫu với biến mục tiêu được giữ lại là 1, nếu khách hàng được coi là đang hoạt động hoặc 0 nếu không.
Chạy mã sau trong sổ ghi chép Studio để xử lý trước tập dữ liệu và tải nó lên bộ chứa S3 của riêng bạn:
import boto3
import pandas as pd
import numpy as np ## Preprocess the dataset
def preprocess_data(file_path): df = pd.read_csv(file_path) ## Convert to datetime columns df["firstorder"]=pd.to_datetime(df["firstorder"],errors='coerce') df["lastorder"] = pd.to_datetime(df["lastorder"],errors='coerce') ## Drop Rows with null values df = df.dropna() ## Create Column which gives the days between the last order and the first order df["first_last_days_diff"] = (df['lastorder']-df['firstorder']).dt.days ## Create Column which gives the days between when the customer record was created and the first order df['created'] = pd.to_datetime(df['created']) df['created_first_days_diff']=(df['created']-df['firstorder']).dt.days ## Drop Columns df.drop(['custid','created','firstorder','lastorder'],axis=1,inplace=True) ## Apply one hot encoding on favday and city columns df = pd.get_dummies(df,prefix=['favday','city'],columns=['favday','city']) return df ## Set the required configurations
model_name = "churn_model"
env = "dev"
## S3 Bucket
default_bucket = "customer-churn-sm-pipeline"
## Preprocess the dataset
storedata = preprocess_data(f"s3://{default_bucket}/data/storedata_total.csv")
Với sổ ghi chép Studio có điện toán linh hoạt, giờ đây bạn có thể dễ dàng chạy nhiều công việc đào tạo và điều chỉnh. Đối với trường hợp sử dụng này, bạn sử dụng thuật toán XGBoost tích hợp SageMaker và SageMaker HPO với hàm mục tiêu là "binary:logistic"
và "eval_metric":"auc"
.
def split_datasets(df): y=df.pop("retained") X_pre = df y_pre = y.to_numpy().reshape(len(y),1) feature_names = list(X_pre.columns) X= np.concatenate((y_pre,X_pre),axis=1) np.random.shuffle(X) train,validation,test=np.split(X,[int(.7*len(X)),int(.85*len(X))]) return feature_names,train,validation,test # Split dataset
feature_names,train,validation,test = split_datasets(storedata) # Save datasets in Amazon S3
pd.DataFrame(train).to_csv(f"s3://{default_bucket}/data/train/train.csv",header=False,index=False)
pd.DataFrame(validation).to_csv(f"s3://{default_bucket}/data/validation/validation.csv",header=False,index=False)
pd.DataFrame(test).to_csv(f"s3://{default_bucket}/data/test/test.csv",header=False,index=False)
Đào tạo, điều chỉnh và tìm mô hình ứng cử viên tốt nhất với đoạn mã sau:
Sau khi bạn thiết lập đường cơ sở, bạn có thể sử dụng Trình gỡ lỗi Amazon SageMaker để phân tích mô hình ngoại tuyến. Trình gỡ lỗi là một khả năng trong SageMaker tự động cung cấp khả năng hiển thị trong quy trình đào tạo mô hình để phân tích ngoại tuyến và thời gian thực. Trình gỡ lỗi lưu trạng thái mô hình bên trong theo các khoảng thời gian định kỳ, mà bạn có thể phân tích theo thời gian thực trong quá trình đào tạo và ngoại tuyến sau khi quá trình đào tạo hoàn tất. Đối với trường hợp sử dụng này, bạn sử dụng công cụ giải thích SHAP (SHapley Additive exPlanation) và tích hợp riêng của SHAP với Trình gỡ lỗi. Tham khảo sau đây máy tính xách tay để phân tích chi tiết.
Biểu đồ tóm tắt sau đây giải thích mối quan hệ tích cực và tiêu cực của các yếu tố dự đoán với biến mục tiêu. Ví dụ, biến top ở đây, esent
, được định nghĩa là số lượng email được gửi. Biểu đồ này được tạo từ tất cả các điểm dữ liệu trong tập huấn luyện. Màu xanh biểu thị việc kéo đầu ra cuối cùng xuống lớp 0 và màu hồng biểu thị lớp 1. Các tính năng ảnh hưởng chính được xếp theo thứ tự giảm dần.
Giờ đây, bạn có thể tiến hành bước triển khai và quản lý của quy trình ML.
Phát triển và tự động hóa quy trình làm việc
Hãy bắt đầu với cấu trúc dự án:
- /khách hàng-churn-mô hình - Tên dự án
- /dữ liệu – Bộ dữ liệu
- / đường ống – Mã cho các thành phần đường ống SageMaker
- SageMaker_Pipelines_project.ipynb – Cho phép bạn tạo và chạy quy trình công việc ML
- Khách hàng_Churn_Modeling.ipynb – Sổ tay phát triển mô hình cơ bản
Theo <project-name>/pipelines/customerchurn
, bạn có thể thấy các tập lệnh Python sau:
- tiền xử lý.py – Tích hợp với Xử lý SageMaker cho kỹ thuật tính năng
- Đánh giá.py – Cho phép tính toán số liệu mô hình, trong trường hợp này là auc_score
- Tạo_config.py – Cho phép cấu hình động cần thiết cho công việc Làm rõ xuôi dòng để có thể giải thích mô hình
- đường ống.py – Mã mẫu cho quy trình làm việc ML của Đường ống
Hãy xem qua từng bước trong DAG và cách chúng hoạt động. Các bước tương tự như khi chúng tôi chuẩn bị dữ liệu lần đầu tiên.
Thực hiện sẵn sàng dữ liệu với đoạn mã sau:
Đào tạo, điều chỉnh và tìm mô hình ứng cử viên tốt nhất:
Bạn có thể thêm một bước điều chỉnh mô hình (TuningStep) trong đường ống, tự động gọi tác vụ điều chỉnh siêu tham số (xem đoạn mã sau). Điều chỉnh siêu tham số tìm phiên bản tốt nhất của một mô hình bằng cách chạy nhiều công việc đào tạo trên tập dữ liệu bằng cách sử dụng thuật toán và phạm vi siêu tham số mà bạn đã chỉ định. Sau đó, bạn có thể đăng ký phiên bản tốt nhất của mô hình vào sổ đăng ký mô hình bằng bước Đăng ký Mô hình.
Sau khi bạn điều chỉnh mô hình, tùy thuộc vào số liệu mục tiêu công việc điều chỉnh, bạn có thể sử dụng logic phân nhánh khi sắp xếp quy trình làm việc. Đối với bài đăng này, bước điều kiện để kiểm tra chất lượng mô hình như sau:
Mô hình ứng cử viên tốt nhất được đăng ký để tính điểm hàng loạt bằng cách sử dụng bước RegisterModel:
Bây giờ, mô hình đã được đào tạo, hãy xem cách Clarify giúp chúng tôi hiểu các tính năng mà mô hình dựa vào để đưa ra dự đoán. Bạn có thể tạo một analysis_config.json
tệp động cho mỗi lần chạy quy trình làm việc bằng cách sử dụng generate_config.py
tính thiết thực. Bạn có thể phiên bản và theo dõi tệp cấu hình trên mỗi đường dẫn runId
và lưu trữ nó trong Amazon S3 để tham khảo thêm. Khởi tạo dataconfig
và modelconfig
tập tin như sau:
Sau khi bạn thêm bước Làm rõ làm công việc hậu xử lý bằng cách sử dụng sagemaker.clarify.SageMakerClarifyProcessor
trong quy trình bán hàng, bạn có thể xem báo cáo phân tích độ lệch và tính năng chi tiết cho mỗi lần chạy quy trình bán hàng.
Là bước cuối cùng của quy trình công việc đường ống, bạn có thể sử dụng TransformStep
bước để tính điểm ngoại tuyến. Vượt qua trong transformer instance
và TransformInput
với batch_data
tham số đường ống được xác định trước đó:
Cuối cùng, bạn có thể kích hoạt một quy trình mới chạy bằng cách chọn Bắt đầu thực hiện trên giao diện Studio IDE.
Bạn cũng có thể mô tả quá trình chạy đường ống hoặc bắt đầu đường ống bằng cách sử dụng thông tin sau máy tính xách tay. Ảnh chụp màn hình sau đây cho thấy đầu ra của chúng tôi.
Bạn có thể lên lịch chạy quy trình xây dựng mô hình SageMaker của mình bằng cách sử dụng Sự kiện Amazon. Đường ống xây dựng mô hình SageMaker được hỗ trợ làm mục tiêu trong Amazon EventBridge. Điều này cho phép bạn kích hoạt đường ống của mình để chạy dựa trên bất kỳ sự kiện nào trong xe buýt sự kiện của bạn. EventBridge cho phép bạn tự động hóa quá trình chạy quy trình và tự động phản hồi các sự kiện như công việc đào tạo hoặc thay đổi trạng thái điểm cuối. Các sự kiện bao gồm một tệp mới được tải lên bộ chứa S3 của bạn, thay đổi trạng thái của điểm cuối SageMaker do trôi dạt và Dịch vụ thông báo đơn giản của Amazon (Amazon SNS) chủ đề.
Kết luận
Bài đăng này giải thích cách sử dụng Đường ống SageMaker với các tính năng SageMaker tích hợp khác và thuật toán XGBoost để phát triển, lặp lại và triển khai mô hình ứng cử viên tốt nhất cho dự đoán rời bỏ. Để biết hướng dẫn về cách triển khai giải pháp này, hãy xem phần Repo GitHub. Bạn cũng có thể sao chép và mở rộng giải pháp này với các nguồn dữ liệu bổ sung để đào tạo lại mô hình. Chúng tôi khuyến khích bạn liên hệ và thảo luận về các trường hợp sử dụng ML với người quản lý tài khoản AWS của bạn.
Tài liệu tham khảo bổ sung
Để biết thêm thông tin, hãy xem các tài nguyên sau:
Về các tác giả
Gayatri Ghanakota là Kỹ sư máy học với AWS Professional Services. Cô ấy đam mê phát triển, triển khai và giải thích các giải pháp AI/ML trên nhiều lĩnh vực khác nhau. Trước khi đảm nhận vai trò này, cô đã lãnh đạo nhiều sáng kiến với tư cách là nhà khoa học dữ liệu và kỹ sư ML với các công ty hàng đầu toàn cầu trong lĩnh vực tài chính và bán lẻ. Cô có bằng thạc sĩ Khoa học Máy tính chuyên ngành Khoa học Dữ liệu của Đại học Colorado, Boulder.
Sarita Joshi là Nhà khoa học dữ liệu cấp cao của Dịch vụ chuyên nghiệp AWS, tập trung vào việc hỗ trợ khách hàng trong các ngành bao gồm bán lẻ, bảo hiểm, sản xuất, du lịch, khoa học đời sống, truyền thông và giải trí cũng như dịch vụ tài chính. Cô có nhiều năm kinh nghiệm với tư cách là nhà tư vấn tư vấn cho khách hàng trong nhiều ngành và lĩnh vực kỹ thuật, bao gồm AI, ML, phân tích và SAP. Hiện nay, cô ấy đang say mê làm việc với khách hàng để phát triển và triển khai các giải pháp trí tuệ nhân tạo và máy học trên quy mô lớn.
- "
- 100
- 107
- 39
- Tài khoản
- hoạt động
- thêm vào
- Lợi thế
- AI
- thuật toán
- Tất cả
- Alpha
- đàn bà gan dạ
- Amazon SageMaker
- phân tích
- phân tích
- API
- kiến trúc
- Tự động
- AWS
- Baseline
- BEST
- xây dựng
- Xây dựng
- xe buýt
- kinh doanh
- Chiến dịch
- trường hợp
- thay đổi
- City
- khách hàng
- mã
- Colorado
- Cột
- Tính
- Khoa học Máy tính
- chuyên gia tư vấn
- người tiêu dùng
- hành vi tiêu dùng
- Container
- Duy trì khách hàng
- khách hàng
- DAG
- dữ liệu
- khoa học dữ liệu
- nhà khoa học dữ liệu
- giao hàng
- chi tiết
- Dev
- phát triển
- phát triển
- Phát triển
- lĩnh vực
- Rơi
- Điểm cuối
- ky sư
- Kỹ Sư
- Giải trí
- Môi trường
- Sự kiện
- sự kiện
- thực hiện
- kinh nghiệm
- Giải thích
- Đặc tính
- Tính năng
- tài chính
- dịch vụ tài chính
- tìm thấy
- Tên
- theo
- Full
- chức năng
- Toàn cầu
- tại đây
- Cao
- Trang Chủ
- Độ đáng tin của
- Hướng dẫn
- HTTPS
- lớn
- xác định
- Bao gồm
- Tăng lên
- các ngành công nghiệp
- ngành công nghiệp
- thông tin
- bảo hiểm
- hội nhập
- IT
- Việc làm
- việc làm
- Máy tính xách tay Jupyter
- Key
- lớn
- học tập
- Led
- Khoa học đời sống
- học máy
- quản lý
- sản xuất
- Marketing
- Phương tiện truyền thông
- trung bình
- Metrics
- ML
- kiểu mẫu
- máy tính xách tay
- thông báo
- Cung cấp
- Trực tuyến
- Kinh doanh trực tuyến
- mở ra
- gọi món
- Nền tảng khác
- dự đoán
- Dự đoán
- Đoán trước Analytics
- năng suất
- dự án
- dự án
- Python
- chất lượng
- Sẵn sàng
- thời gian thực
- Mối quan hệ
- báo cáo
- Báo cáo
- Yêu cầu
- Thông tin
- Kết quả
- bán lẻ
- đào tạo lại
- doanh thu
- Nguy cơ
- chạy
- chạy
- nhà làm hiền triết
- sap
- Quy mô
- Khoa học
- KHOA HỌC
- các nhà khoa học
- sdk
- Loạt Sách
- DỊCH VỤ
- định
- Chia sẻ
- Đơn giản
- So
- Giải pháp
- Không gian
- chia
- Bắt đầu
- Tiểu bang
- Tuyên bố
- Trạng thái
- là gắn
- hàng
- Chiến lược
- Hỗ trợ
- Mục tiêu
- Kỹ thuật
- thử nghiệm
- thời gian
- hàng đầu
- Chủ đề
- theo dõi
- Hội thảo
- Chuyển đổi
- đi du lịch
- trường đại học
- us
- tiện ích
- giá trị
- khả năng hiển thị
- ở trong
- quy trình làm việc
- X
- năm