Máy học dịch chuyển đỏ của Amazon đơn giản hóa việc sử dụng máy học (ML) bằng cách sử dụng các câu lệnh SQL đơn giản để tạo và huấn luyện các mô hình ML từ dữ liệu trong Amazon RedShift. Bạn có thể sử dụng Amazon Redshift ML để giải quyết các vấn đề về phân loại nhị phân, phân loại đa lớp và hồi quy, đồng thời có thể sử dụng trực tiếp AutoML hoặc XGBoost.
Bài đăng này là một phần của loạt bài mô tả việc sử dụng Amazon Redshift ML. Để biết thêm thông tin về xây dựng hồi quy bằng Amazon Redshift ML, hãy xem Xây dựng mô hình hồi quy với Amazon Redshift ML.
Bạn có thể sử dụng Amazon Redshift ML để tự động hóa việc chuẩn bị dữ liệu, xử lý trước và lựa chọn loại sự cố như được mô tả trong bài viết trên blog này. Chúng tôi cho rằng bạn hiểu rõ về dữ liệu của mình và loại sự cố nào phù hợp nhất với trường hợp sử dụng của bạn. Bài đăng này đặc biệt tập trung vào việc tạo mô hình trong Amazon Redshift bằng cách sử dụng loại vấn đề phân loại nhiều lớp, bao gồm việc phân loại các thể hiện thành một trong ba hoặc nhiều lớp. Ví dụ: bạn có thể dự đoán liệu một giao dịch là gian lận, thất bại hay thành công, liệu khách hàng có duy trì hoạt động trong 3 tháng, 12 tháng, XNUMX tháng, XNUMX tháng hay liệu một tin tức có được gắn thẻ là thể thao, tin tức thế giới, kinh doanh hay không.
Điều kiện tiên quyết
Là điều kiện tiên quyết để triển khai giải pháp này, bạn cần thiết lập một cụm Amazon Redshift có bật ML trên đó. Để biết các bước sơ bộ để bắt đầu, hãy xem Tạo, đào tạo và triển khai các mô hình học máy trong Amazon Redshift bằng cách sử dụng SQL với Amazon Redshift ML.
Trường hợp sử dụng
Đối với trường hợp sử dụng của chúng tôi, chúng tôi muốn nhắm mục tiêu những khách hàng tích cực nhất của mình cho một chương trình khách hàng thân thiết đặc biệt. Chúng tôi sử dụng Amazon Redshift ML và phân loại nhiều lớp để dự đoán số tháng khách hàng sẽ hoạt động trong khoảng thời gian 13 tháng. Điều này chuyển thành tối đa 13 lớp có thể, điều này làm cho điều này phù hợp hơn với phân loại nhiều lớp. Khách hàng có hoạt động dự đoán từ 7 tháng trở lên được nhắm mục tiêu cho chương trình khách hàng thân thiết đặc biệt.
Nhập dữ liệu thô
Để chuẩn bị dữ liệu thô cho mô hình này, chúng tôi đã điền vào bảng ecommerce_sales trong Amazon Redshift bằng tập dữ liệu công khai Dự báo doanh số thương mại điện tử, bao gồm dữ liệu bán hàng của một nhà bán lẻ trực tuyến ở Vương quốc Anh.
Nhập các câu lệnh sau để tải dữ liệu lên Amazon Redshift:
Để tạo lại tập lệnh này trong môi trường của bạn, hãy thay thế < > với Quản lý truy cập và nhận dạng AWS (IAM) ARN cho cụm Amazon Redshift của bạn.
Chuẩn bị dữ liệu cho mô hình ML
Giờ đây, tập dữ liệu của chúng ta đã được tải, chúng ta có thể tùy chọn chia dữ liệu thành ba tập hợp để đào tạo (80%), xác thực (10%) và dự đoán (10%). Lưu ý rằng Amazon Redshift ML Autopilot sẽ tự động phân tách dữ liệu thành quá trình đào tạo và xác thực, nhưng bằng cách phân tách dữ liệu tại đây, bạn sẽ có thể xác minh tính chính xác của mô hình của mình. Ngoài ra, chúng tôi tính toán số tháng mà một khách hàng đã hoạt động, vì đó sẽ là giá trị mà chúng tôi muốn mô hình của mình dự đoán trên dữ liệu mới. Chúng tôi sử dụng hàm ngẫu nhiên trong các câu lệnh SQL của mình để phân chia dữ liệu. Xem đoạn mã sau:
Tập huấn luyện
Bộ xác thực
Bộ dự đoán
Tạo mô hình trong Amazon Redshift
Bây giờ chúng tôi đã tạo tập dữ liệu xác thực và đào tạo của mình, chúng tôi có thể sử dụng tạo mô hình trong Amazon Redshift để tạo mô hình ML của chúng tôi bằng cách sử dụng Multiclass_Classification
. Chúng tôi chỉ định loại sự cố nhưng chúng tôi để AutoML lo mọi thứ khác. Trong mô hình này, mục tiêu chúng tôi muốn dự đoán là nbr_months_active
. Amazon SageMaker tạo chức năng predict_customer_activity
, mà chúng tôi sử dụng để suy luận trong Amazon Redshift. Xem đoạn mã sau:
Để tạo lại tập lệnh này trong môi trường của bạn, hãy thay thế < > với ARN vai trò IAM của cụm của bạn.
Xác thực dự đoán
Trong bước này, chúng tôi đánh giá độ chính xác của mô hình ML dựa trên dữ liệu xác thực của chúng tôi.
Trong khi tạo mô hình, Amazon SageMaker Tự động lái tự động phân tách dữ liệu đầu vào thành các bộ đào tạo và xác thực, đồng thời chọn mô hình có chỉ số khách quan tốt nhất, được triển khai trong cụm Amazon Redshift. Bạn có thể sử dụng câu lệnh mô hình hiển thị trong cụm của mình để xem các chỉ số khác nhau, bao gồm cả điểm chính xác. Nếu bạn không chỉ định rõ ràng, SageMaker sẽ tự động sử dụng độ chính xác cho loại mục tiêu. Xem đoạn mã sau:
Như được hiển thị trong đầu ra sau, mô hình của chúng tôi có điểm chính xác là 0.996580.
Key | Giá trị |
Tên Model | thương mại điện tử_customer_activity |
Tên giản đồ | Công khai |
Chủ nhân | Demo |
Thời gian sáng tạo | Thứ Hai, 22.03.2021 19:48:30 |
Trạng thái mô hình | SẲN SÀNG |
Tình trạng công việc đào tạo | Đã đạt MaxAutoMLJobRuntime |
xác nhận: độ chính xác | 0.996580 |
Chi phí ước tính | 4.260437 |
DỮ LIỆU ĐÀO TẠO: | |
Query | CHỌN ID KHÁCH HÀNG, QUỐC GIA, MÃ KHO, MÔ TẢ, NGÀY HÓA ĐƠN, SALES_AMT, NBR_MONTHS_ACTIVE |
TỪ ECOMMERCE_SALES_CLN_TRAINING | |
Cột mục tiêu | NBR_MONTHS_ACTIVE |
THÔNG SỐ: | |
Loại mô hình | Tự động |
Loại vấn đề | Đa lớpPhân loại |
Loại vấn đề | tính chính xác |
Tên công việc AutoML | 2021-03-07-19-48-30-960148-auto |
Tên chức năng | dự đoán_khách hàng_hoạt động |
Các tham số chức năng | customerid quốc gia mã chứng khoán mô tả hóa đơn ngày sales_amt |
Các loại tham số chức năng | int8 varchar varchar varchar varchar float8 |
Hãy chạy các truy vấn suy luận đối với dữ liệu xác thực của chúng ta bằng cách sử dụng mã SQL sau đối với dữ liệu xác thực:
Chúng tôi có thể thấy rằng chúng tôi đã dự đoán đúng 99.74% trên tập dữ liệu của mình, phù hợp với điểm số chính xác của chúng tôi từ mô hình hiển thị.
dự đoán_matches | dự đoán_non_matches | tổng_dự đoán | pct_độ chính xác |
43489.00 | 132.00 | 43621.00 | 0.99697393 |
Bây giờ, hãy chạy một truy vấn để xem khách hàng nào đủ điều kiện tham gia chương trình khách hàng thân thiết của chúng tôi bằng cách hoạt động trong ít nhất 7 tháng:
Bảng sau đây cho thấy kết quả đầu ra của chúng tôi.
ID khách hàng | dự đoán_tháng_hoạt động |
16895 | 8 |
18283 | 10 |
15044 | 11 |
16746 | 11 |
14702 | 11 |
16607 | 10 |
12901 | 10 |
15078 | 13 |
16393 | 10 |
15005 | 12 |
Xử lý sự cố
Mặc dù các Create Model
trong Amazon Redshift tự động đảm nhận việc bắt đầu quy trình SageMaker Autopilot để xây dựng, đào tạo và điều chỉnh mô hình ML tốt nhất cũng như triển khai mô hình đó trong Amazon Redshift, bạn có thể xem các bước trung gian được thực hiện trong quy trình này, điều này cũng có thể giúp bạn khắc phục sự cố Nếu có điều gì sai. Bạn cũng có thể truy xuất Tên công việc AutoML từ đầu ra của lệnh show model.
Trong khi tạo mô hình, bạn cần đề cập đến một Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) tên bộ chứa làm giá trị cho tham số, s3_bucket
. Bạn sử dụng bộ chứa này để chia sẻ dữ liệu đào tạo và thành phần lạ giữa Amazon Redshift và SageMaker. Amazon Redshift tạo một thư mục con trong nhóm này trước khi hủy tải dữ liệu đào tạo. Khi đào tạo hoàn tất, nó sẽ xóa thư mục con và nội dung của nó trừ khi bạn đặt tham số s3_garbage_collect
đến off
, mà bạn có thể sử dụng cho mục đích khắc phục sự cố. Để biết thêm thông tin, xem TẠO MÔ HÌNH.
Để biết thông tin về cách sử dụng bảng điều khiển SageMaker và Xưởng sản xuất Amazon SageMaker, Xem Xây dựng mô hình hồi quy với Amazon Redshift ML.
Kết luận
Amazon Redshift ML cung cấp nền tảng phù hợp để người dùng cơ sở dữ liệu tạo, đào tạo và điều chỉnh các mô hình bằng giao diện SQL. Trong bài đăng này, chúng tôi đã hướng dẫn bạn cách tạo mô hình phân loại nhiều lớp. Chúng tôi hy vọng bạn có thể tận dụng Amazon Redshift ML để giúp thu được những thông tin chi tiết có giá trị.
Để biết thêm thông tin về cách xây dựng các mô hình khác nhau với Amazon Redshift ML, hãy xem Xây dựng mô hình hồi quy với Amazon Redshift ML và đọc Amazon RedShift tài liệu ML.
Lời cảm ơn
Theo Kho lưu trữ máy học của UCI, dữ liệu này được cung cấp bởi Tiến sĩ Daqing Chen, Giám đốc: Nhóm phân tích công khai. chend '@' lsbu.ac.uk, Trường Kỹ thuật, Đại học London South Bank, London SE1 0AA, Vương quốc Anh.
Dua, D. và Graff, C. (2019). Kho lưu trữ học máy của UCI [http://archive.ics.uci.edu/ml]. Irvine, CA: Đại học California, Trường Thông tin và Khoa học Máy tính.
Về các tác giả
Phil Bates là Kiến trúc sư giải pháp chuyên gia phân tích cao cấp tại AWS với hơn 25 năm kinh nghiệm về kho dữ liệu.
gấu trúc ra mắt, giám đốc sản phẩm chính tại AWS, là công ty hàng đầu trong ngành về phân tích, nền tảng ứng dụng và công nghệ cơ sở dữ liệu và có hơn 25 năm kinh nghiệm trong thế giới CNTT.
Nikos Koulouris là Kỹ sư phát triển phần mềm tại AWS. Anh ấy đã nhận bằng Tiến sĩ tại Đại học California, San Diego và anh ấy đã làm việc trong lĩnh vực cơ sở dữ liệu và phân tích.
Enrico Sartorello là Kỹ sư phát triển phần mềm của Sr. tại Amazon Web Services. Anh ấy giúp khách hàng áp dụng các giải pháp máy học phù hợp với nhu cầu của họ bằng cách phát triển các chức năng mới cho Amazon SageMaker. Những lúc rảnh rỗi, anh say mê theo dõi đội bóng của mình và thích trau dồi kỹ năng nấu nướng.
Coinsmart. Đặt cạnh Bitcoin-Börse ở Europa
Nguồn: https://aws.amazon.com/blogs/machine-learning/build-multi-class-classification-models-with-amazon-redshift-ml/