Logo Zephyrnet

Sử dụng thuật toán người học tuyến tính trong Amazon Redshift ML để giải quyết các vấn đề hồi quy và phân loại

Ngày:

Amazon RedShift là kho dữ liệu đám mây quy mô petabyte, được quản lý đầy đủ và nhanh nhất, được sử dụng rộng rãi nhất. Hàng chục nghìn khách hàng sử dụng Amazon Redshift để xử lý exabyte dữ liệu mỗi ngày để cung cấp năng lượng cho khối lượng công việc phân tích của họ. Máy học dịch chuyển đỏ của Amazon, Được cung cấp bởi Amazon SageMaker, giúp người dùng SQL như nhà phân tích dữ liệu, nhà khoa học dữ liệu và nhà phát triển cơ sở dữ liệu dễ dàng tạo, đào tạo và triển khai các mô hình học máy (ML) bằng cách sử dụng các lệnh SQL quen thuộc và sau đó sử dụng các mô hình này để đưa ra dự đoán về dữ liệu mới cho các trường hợp sử dụng như như dự đoán churn, dự đoán giá trị lâu dài của khách hàng và đề xuất sản phẩm. Redshift ML cung cấp mô hình dưới dạng một hàm SQL trong kho dữ liệu Amazon Redshift để bạn có thể dễ dàng sử dụng nó trong các truy vấn và báo cáo. Khách hàng trên tất cả các ngành dọc đang sử dụng Redshift ML để có được thông tin chi tiết tốt hơn từ dữ liệu của họ. Ví dụ: Jobcase sử dụng Redshift ML để đề xuất tìm kiếm việc làm trên quy mô lớn. Magellan RX Management sử dụng Redshift ML để dự đoán điều kiện sử dụng thuốc điều trị.

Amazon Redshift hỗ trợ học có giám sát, bao gồm hồi quy, phân loại nhị phân, phân loại nhiều lớpvà học tập không giám sát bằng cách sử dụng K-nghĩa. Bạn có thể tùy chọn chỉ định các loại mô hình người học tuyến tính XGBoost, MLP và bây giờ là các thuật toán học tập có giám sát được sử dụng để giải các bài toán phân loại hoặc hồi quy và cung cấp tốc độ tăng đáng kể so với các kỹ thuật tối ưu hóa siêu tham số truyền thống. Amazon Redshift cũng hỗ trợ mang-mô hình của riêng bạn để gọi các điểm cuối SageMaker từ xa.

Trong bài đăng này, chúng tôi hướng dẫn bạn cách sử dụng Redshift ML để giải quyết các vấn đề hồi quy và phân loại bằng cách sử dụng Thuật toán người học tuyến tính SageMaker, khám phá các mục tiêu đào tạo khác nhau và chọn giải pháp tốt nhất từ ​​bộ xác thực.

Tổng quan về giải pháp

Đầu tiên chúng ta giải một bài toán hồi quy tuyến tính, sau đó là bài toán phân loại nhiều lớp.

Bảng sau đây cho thấy một số trường hợp sử dụng phổ biến và các thuật toán được sử dụng.

Trường hợp sử dụng Thuật toán / Loại vấn đề
Dự đoán churn của khách hàng phân loại
Dự đoán xem khách hàng tiềm năng có kết thúc hay không phân loại
Phát hiện gian lận phân loại
Dự đoán về giá và doanh thu Hồi quy tuyến tính
Dự đoán giá trị lâu dài của khách hàng Hồi quy tuyến tính

Để sử dụng thuật toán người học tuyến tính, bạn cần cung cấp đầu vào hoặc cột đại diện cho các giá trị thứ nguyên và cả nhãn hoặc mục tiêu, là giá trị bạn đang cố gắng dự đoán. Thuật toán người học tuyến tính đào tạo song song nhiều mô hình và tự động xác định mô hình tối ưu nhất.

Điều kiện tiên quyết

Để bắt đầu, chúng tôi cần một cụm Amazon Redshift hoặc một Amazon Redshift không có máy chủ điểm cuối và một Quản lý truy cập và nhận dạng AWS (IAM) vai trò được đính kèm cung cấp quyền truy cập vào SageMaker và quyền đối với Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) xô.

Để biết phần giới thiệu về Redshift ML và hướng dẫn cách thiết lập nó, 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.

Để tạo một cụm đơn giản với vai trò IAM mặc định, hãy xem Sử dụng vai trò IAM mặc định trong Amazon Redshift để đơn giản hóa việc truy cập các dịch vụ AWS khác.

Trường hợp sử dụng 1: Hồi quy tuyến tính

Trong trường hợp sử dụng này, chúng tôi phân tích Bộ dữ liệu bào ngư và xác định mối quan hệ giữa các phép đo vật lý và sử dụng để xác định tuổi của bào ngư. Tuổi của bào ngư được xác định bằng cách cắt vỏ qua hình nón, nhuộm màu và đếm số lượng vòng qua kính hiển vi, đây là một công việc tốn nhiều thời gian. Chúng tôi muốn dự đoán tuổi bằng các phép đo vật lý khác nhau, dễ đo hơn. Tuổi của bào ngư là (số vòng + 1.5) năm.

Chuẩn bị dữ liệu

Tải tập dữ liệu Abalone vào Amazon Redshift bằng cách sử dụng SQL sau. Bạn có thể dùng Trình chỉnh sửa truy vấn Amazon Redshift v2 hoặc công cụ SQL ưa thích của bạn để chạy các lệnh này.

Để tạo bảng, hãy sử dụng các lệnh sau:

create table abalone_dataset
(
id INT IDENTITY(1,1),
Sex     CHAR(1),
Length float,
Diameter float,
Height float,
Whole  float,
Shucked  float,
Viscera  float,
Shell float,
Rings  integer
); 

Để tải dữ liệu vào Amazon Redshift, hãy sử dụng lệnh COPY sau:

COPY abalone_dataset
from 's3://redshift-ml-multiclass/abalone.csv'
REGION 'us-east-1'
IAM_ROLE default
CSV IGNOREHEADER 1
NULL AS 'NULL'; 

Để đào tạo mô hình, chúng tôi sử dụng abalone bảng và 80% dữ liệu để đào tạo mô hình, sau đó kiểm tra độ chính xác của mô hình đó bằng cách xem liệu nó có dự đoán chính xác thuộc tính nhãn vòng tuổi trên 20% dữ liệu còn lại hay không. Chạy lệnh sau để tạo bảng đào tạo và xác nhận:

create table abalone_training as
  select * from abalone_dataset where mod(id,10) < 8 ;

create table abalone_validation as
  select * from abalone_dataset where mod(id,10) >= 8; 

Tạo mô hình trong Redshift ML

Để tạo một mô hình trong Amazon Redshift, hãy sử dụng lệnh sau:

CREATE MODEL model_abalone_ring_prediction
FROM (
 SELECT   Sex ,
Length ,
Diameter ,
Height ,
Whole  ,
Shucked  ,
Viscera  ,
Shell,
Rings  as target_label
FROM abalone_training
) TARGET target_label
FUNCTION f_abalone_ring_prediction
IAM_ROLE default
MODEL_TYPE LINEAR_LEARNER
PROBLEM_TYPE REGRESSION
OBJECTIVE 'MSE'
SETTINGS (
  S3_BUCKET '<your-s3-bucket>',
  MAX_RUNTIME 15000
  ); 

Chúng tôi xác định các tham số sau trong câu lệnh CREATE MODEL:

  • Loại vấn đề - Chúng tôi sử dụng loại bài toán người học tuyến tính, mới được thêm vào để mở rộng các mô hình tuyến tính điển hình bằng cách đào tạo nhiều mô hình song song, theo cách tính toán hiệu quả.
  • Mục tiêu - Chúng tôi đã chỉ định MSE (sai số bình phương trung bình) làm mục tiêu của chúng tôi, là số liệu phổ biến để đánh giá các vấn đề hồi quy.
  • Thời gian chạy tối đa –Tham số này biểu thị thời gian đào tạo mô hình có thể chạy. Chỉ định một giá trị lớn hơn có thể giúp tạo ra một mô hình được điều chỉnh tốt hơn. Giá trị mặc định cho tham số này là 5400 (90 phút). Đối với ví dụ này, chúng tôi đặt nó thành 15000.

Câu lệnh trước mất vài giây để hoàn thành. Nó bắt đầu một Amazon SageMaker Tự động lái xử lý trong nền để tự động xây dựng, đào tạo và điều chỉnh mô hình ML tốt nhất cho dữ liệu đầu vào. Sau đó nó sử dụng Amazon SageMaker Neo để triển khai cục bộ mô hình đó trong cụm Amazon Redshift hoặc Amazon Redshift Serverless dưới dạng một chức năng do người dùng xác định (UDF). Bạn có thể dùng HIỂN THỊ MÔ HÌNH lệnh trong Amazon Redshift để theo dõi tiến trình tạo mô hình của bạn, mô hình này phải ở trạng thái SN SÀNG trong max_runtime tham số bạn đã xác định trong khi tạo mô hình.

Để kiểm tra trạng thái của mô hình, hãy sử dụng lệnh sau:

show model model_abalone_ring_prediction;

Sau đây là kết quả dạng bảng cho lệnh trước sau khi huấn luyện mô hình được thực hiện. Mất khoảng 120 phút để đào tạo mô hình.

Key Giá trị
Tên Model model_abalone_ring_prediction
Tên giản đồ công khai
Chủ nhân người sử dụng
Thời gian sáng tạo Thứ Ba, 10.05.2022 19:42:33
Trạng thái mô hình SẲN SÀNG
xác nhận: mse 4.082088
Chi phí ước tính 5.423719
. .
DỮ LIỆU ĐÀO TẠO: .
Query CHỌN GIỚI TÍNH, CHIỀU DÀI, ĐƯỜNG KÍNH, CHIỀU CAO, TOÀN BỘ, VỎ, VỎ, VỎ, NHẪN NHƯ TARGET_LABEL
. TỪ ABALONE_TRAINING
Cột mục tiêu TARGET_LABEL
. .
THÔNG SỐ: .
Loại mô hình linear_learning
Loại vấn đề Hồi quy
Mục tiêu MSE
Tên công việc AutoML redshiftml-20220510194233380173
Tên chức năng f_abalone_ring_prediction
Các tham số chức năng giới tính chiều dài đường kính chiều cao toàn bộ vỏ nội tạng shucked
Các loại tham số chức năng bpchar float8 float8 float8 float8 float8 float8 float8
Vai trò IAM mặc định-aws-iam-vai trò
Nhóm S3 poc-chung-bkt
Thời gian chạy tối đa 15000

mẫu chính thức

Chúng tôi nhận thấy từ bảng trước rằng MSE cho dữ liệu đào tạo là 4.08. Bây giờ, hãy chạy truy vấn dự đoán và xác thực độ chính xác của mô hình trên tập dữ liệu thử nghiệm và xác thực:

select
ROUND(AVG(POWER(( tgt_label - predicted ),2)),2) mse
, ROUND(SQRT(AVG(POWER(( tgt_label - predicted ),2))),2) rmse
from
(
SELECT   Sex ,
Length ,
Diameter ,
Height ,
Whole  ,
Shucked  ,
Viscera  ,
Shell,
Rings as tgt_label,
f_abalone_ring_prediction(Sex ,Length ,Diameter ,Height ,Whole  ,Shucked  ,Viscera  ,Shell) as predicted,
case when tgt_label = predicted then 1
      else 0 end as match,
  case when tgt_label  <> predicted then 1
    else 0 end as nonmatch
FROM abalone_validation
)t1 

Sau đây là kết quả từ truy vấn:

MSE rmse
5.08 2.25

Giá trị MSE từ kết quả truy vấn trước đó chỉ ra rằng mô hình của chúng tôi đủ chính xác với các giá trị thực tế từ tập dữ liệu xác thực của chúng tôi.

Chúng ta cũng có thể nhận thấy rằng Redshift ML có thể xác định sự kết hợp phù hợp của các tính năng để đưa ra mô hình dự đoán có thể sử dụng được. Chúng ta có thể kiểm tra thêm tác động của từng thuộc tính cũng như đóng góp và trọng số của nó trong việc lựa chọn mô hình bằng cách sử dụng lệnh sau:

select explain_model ('model_abalone_ring_prediction')

Sau đây là kết quả, trong đó mỗi trọng số thuộc tính thể hiện vai trò của nó trong việc ra quyết định theo mô hình:

{"explanations":
    {"kernel_shap":
      {"label0":
        {"expected_value":10.06938362121582,
          "global_shap_values":
          {
            "diameter":0.6897614190439705,
            "height":0.38391156156643987,
            "length":0.29646334630067408,
            "sex":0.5516722137411109,
            "shell":1.5679368167990147,
            "shucked":2.222549468867254,
            "viscera":0.2879883139361144,
            "whole":0.8085603201751219
            }
        }
       }
      }
      ,"version":"1.0"
    }

Trường hợp sử dụng 2: Phân loại nhiều lớp

Đối với trường hợp sử dụng này, chúng tôi sử dụng Bộ dữ liệu Co Poorpe (bản quyền của Jock A. Blackard và Đại học Bang Colorado), chứa thông tin do Cơ quan Khảo sát Địa chất Hoa Kỳ và Sở Lâm nghiệp Hoa Kỳ thu thập về các khu vực hoang dã ở phía bắc Colorado. Điều này đã được tải xuống một thùng S3 để giúp việc tạo mô hình trở nên đơn giản. Bạn có thể muốn tải xuống mô tả tập dữ liệu. Bộ dữ liệu này chứa nhiều phép đo khác nhau như độ cao, khoảng cách đến vùng nước và đường xá, cũng như ký hiệu khu vực hoang dã và loại đất. Nhiệm vụ ML của chúng tôi là tạo ra một mô hình để dự đoán loại bìa cho một khu vực nhất định.

Chuẩn bị dữ liệu

Để chuẩn bị dữ liệu cho mô hình này, bạn cần tạo và điền vào bảng public.covertype_data trong Amazon Redshift bằng cách sử dụng tập dữ liệu Co Poorpe. Bạn có thể sử dụng SQL sau trong Trình chỉnh sửa truy vấn Amazon Redshift v2 hoặc công cụ SQL ưa thích của bạn:

CREATE TABLE public.covertype_data (
    elevation bigint ENCODE az64,
    aspect bigint ENCODE az64,
    slope bigint ENCODE az64,
    horizontal_distance_to_hydrology bigint ENCODE az64,
    vertical_distance_to_hydrology bigint ENCODE az64,
    horizontal_distance_to_roadways bigint ENCODE az64,
    hillshade_9am bigint ENCODE az64,
    hillshade_noon bigint ENCODE az64,
    hillshade_3pm bigint ENCODE az64,
    horizontal_distance_to_fire_points bigint ENCODE az64,
    wilderness_area1 bigint ENCODE az64,
    wilderness_area2 bigint ENCODE az64,
    wilderness_area3 bigint ENCODE az64,
    wilderness_area4 bigint ENCODE az64,
    soil_type1 bigint ENCODE az64,
    soil_type2 bigint ENCODE az64,
    soil_type3 bigint ENCODE az64,
    soil_type4 bigint ENCODE az64,
    soil_type5 bigint ENCODE az64,
    soil_type6 bigint ENCODE az64,
    soil_type7 bigint ENCODE az64,
    soil_type8 bigint ENCODE az64,
    soil_type9 bigint ENCODE az64,
    soil_type10 bigint ENCODE az64,
    soil_type11 bigint ENCODE az64,
    soil_type12 bigint ENCODE az64,
    soil_type13 bigint ENCODE az64,
    soil_type14 bigint ENCODE az64,
    soil_type15 bigint ENCODE az64,
    soil_type16 bigint ENCODE az64,
    soil_type17 bigint ENCODE az64,
    soil_type18 bigint ENCODE az64,
    soil_type19 bigint ENCODE az64,
    soil_type20 bigint ENCODE az64,
    soil_type21 bigint ENCODE az64,
    soil_type22 bigint ENCODE az64,
    soil_type23 bigint ENCODE az64,
    soil_type24 bigint ENCODE az64,
    soil_type25 bigint ENCODE az64,
    soil_type26 bigint ENCODE az64,
    soil_type27 bigint ENCODE az64,
    soil_type28 bigint ENCODE az64,
    soil_type29 bigint ENCODE az64,
    soil_type30 bigint ENCODE az64,
    soil_type31 bigint ENCODE az64,
    soil_type32 bigint ENCODE az64,
    soil_type33 bigint ENCODE az64,
    soil_type34 bigint ENCODE az64,
    soil_type35 bigint ENCODE az64,
    soil_type36 bigint ENCODE az64,
    soil_type37 bigint ENCODE az64,
    soil_type38 bigint ENCODE az64,
    soil_type39 bigint ENCODE az64,
    soil_type40 bigint ENCODE az64,
    cover_type bigint ENCODE az64
)
DISTSTYLE AUTO;


Copy public.covertype_data
From 's3://redshift-ml-multiclass/covtype.data.gz'
iam_role default
gzip
delimiter ','
region 'us-east-1';

Bây giờ tập dữ liệu của chúng tôi đã được tải, chúng tôi chạy các câu lệnh SQL sau để chia dữ liệu thành ba bộ để đào tạo (80%), xác thực (10%) và dự đoán (10%). Lưu ý rằng Redshift ML Autopilot tự động chia dữ liệu thành đào tạo và xác thực, nhưng bằng cách chia nhỏ nó ở đây, bạn có thể xác minh tính chính xác của mô hình của mình.

Để chuẩn bị tập dữ liệu, hãy chỉ định các giá trị ngẫu nhiên để tách dữ liệu:

create table  public.covertype_data_prep  as
select a.*,
cast (random() * 80 as int) as data_group_id
from public.covertype_data a;

Sử dụng mã sau cho tập huấn luyện:

Create table public.covertype_training as
Select * from public.covertype_data_prep
Where data_group_id < 80;

Sử dụng mã sau cho bộ xác thực:

Create table public.covertype_validation as
Select * from public.covertype_data_prep
Where data_group_id between 80 and 89;

Sử dụng mã sau cho bộ thử nghiệm:

Create table public.covertype_test as
Select * from public.covertype_data_prep
Where data_group_id > 89; 

Bây giờ chúng ta đã có bộ dữ liệu của mình, đã đến lúc tạo mô hình.

Tạo mô hình trong Redshift ML bằng cách sử dụng trình học tuyến tính

Chạy lệnh SQL sau để tạo mô hình của bạn — lưu ý rằng mục tiêu của chúng tôi là cover_type và chúng tôi sử dụng tất cả các đầu vào từ bộ đào tạo của chúng tôi:

CREATE  MODEL forest_cover_type_model
FROM (select Elevation,
   Aspect,
   Slope,
   Horizontal_distance_to_hydrology,
   Vertical_distance_to_hydrology,
   Horizontal_distance_to_roadways,
   HIllshade_9am,
   Hillshade_noon,
   Hillshade_3pm ,
   Horizontal_Distance_To_Fire_Points,
   Wilderness_Area1,
   Wilderness_Area2,
   Wilderness_Area3,
   Wilderness_Area4,
   soil_type1,
   Soil_Type2,
   Soil_Type3,
   Soil_Type4,
   Soil_Type5,
   Soil_Type6,
   Soil_Type7,
   Soil_Type8,
   Soil_Type9,
   Soil_Type10 ,
   Soil_Type11,
   Soil_Type12 ,
   Soil_Type13 ,
   Soil_Type14,
   Soil_Type15,
   Soil_Type16,
   Soil_Type17,
   Soil_Type18,
   Soil_Type19,
   Soil_Type20,
   Soil_Type21,
   Soil_Type22,
   Soil_Type23,
   Soil_Type24,
   Soil_Type25,
   Soil_Type26,
   Soil_Type27,
   Soil_Type28,
   Soil_Type29,
   Soil_Type30,
   Soil_Type31,
   Soil_Type32,
   Soil_Type33,
   Soil_Type34,
   Soil_Type36,
   Soil_Type37,
   Soil_Type38,
   Soil_Type39,
   Soil_Type40,
  Cover_type from public.covertype_training)
TARGET cover_type
FUNCTION predict_cover_type
IAM_ROLE default
MODEL_TYPE LINEAR_LEARNER
PROBLEM_TYPE MULTICLASS_CLASSIFICATION
 OBJECTIVE 'Accuracy'
SETTINGS (
  S3_BUCKET '<<your-amazon-s3-bucket-name>>’
,
  S3_GARBAGE_COLLECT OFF,
  MAX_RUNTIME 9600
) ;

Bạn có thể sử dụng lệnh SHOW MODEL để xem trạng thái của mô hình.

Bạn có thể thấy rằng mô hình có điểm chính xác là 730279 và ở trạng thái SN SÀNG. Bây giờ chúng ta hãy chạy một truy vấn để thực hiện một số xác thực của riêng chúng ta.

mẫu chính thức

Chạy truy vấn SQL sau đối với bảng xác thực, sử dụng hàm được tạo bởi mô hình của chúng tôi:

select
 cast(sum(t1.match)as decimal(7,2)) as predicted_matches
,cast(sum(t1.nonmatch) as decimal(7,2)) as predicted_non_matches
,cast(sum(t1.match + t1.nonmatch) as decimal(7,2))  as total_predictions
,predicted_matches / total_predictions as pct_accuracy
from
(select
Elevation,
   Aspect,
   Slope,
   Horizontal_distance_to_hydrology,
   Vertical_distance_to_hydrology,
   Horizontal_distance_to_roadways,
   HIllshade_9am,
   Hillshade_noon,
   Hillshade_3pm ,
   Horizontal_Distance_To_Fire_Points,
   Wilderness_Area1,
   Wilderness_Area2,
   Wilderness_Area3,
   Wilderness_Area4,
   soil_type1,
   Soil_Type2,
   Soil_Type3,
   Soil_Type4,
   Soil_Type5,
   Soil_Type6,
   Soil_Type7,
   Soil_Type8,
   Soil_Type9,
   Soil_Type10 ,
   Soil_Type11,
   Soil_Type12 ,
   Soil_Type13 ,
   Soil_Type14,
   Soil_Type15,
   Soil_Type16,
   Soil_Type17,
   Soil_Type18,
   Soil_Type19,
   Soil_Type20,
   Soil_Type21,
   Soil_Type22,
   Soil_Type23,
   Soil_Type24,
   Soil_Type25,
   Soil_Type26,
   Soil_Type27,
   Soil_Type28,
   Soil_Type29,
   Soil_Type30,
   Soil_Type31,
   Soil_Type32,
   Soil_Type33,
   Soil_Type34,
   Soil_Type36,
   Soil_Type37,
   Soil_Type38,
   Soil_Type39,
   Soil_Type40,
   Cover_type as actual_cover_type,
   predict_cover_type( Elevation,
   Aspect,
   Slope,
   Horizontal_distance_to_hydrology,
   Vertical_distance_to_hydrology,
   Horizontal_distance_to_roadways,
   HIllshade_9am,
   Hillshade_noon,
   Hillshade_3pm ,
   Horizontal_Distance_To_Fire_Points,
   Wilderness_Area1,
   Wilderness_Area2,
   Wilderness_Area3,
   Wilderness_Area4,
   soil_type1,
   Soil_Type2,
   Soil_Type3,
   Soil_Type4,
   Soil_Type5,
   Soil_Type6,
   Soil_Type7,
   Soil_Type8,
   Soil_Type9,
   Soil_Type10 ,
   Soil_Type11,
   Soil_Type12 ,
   Soil_Type13 ,
   Soil_Type14,
   Soil_Type15,
   Soil_Type16,
   Soil_Type17,
   Soil_Type18,
   Soil_Type19,
   Soil_Type20,
   Soil_Type21,
   Soil_Type22,
   Soil_Type23,
   Soil_Type24,
   Soil_Type25,
   Soil_Type26,
   Soil_Type27,
   Soil_Type28,
   Soil_Type29,
   Soil_Type30,
   Soil_Type31,
   Soil_Type32,
   Soil_Type33,
   Soil_Type34,
   Soil_Type36,
   Soil_Type37,
   Soil_Type38,
   Soil_Type39,
   Soil_Type40) as predicted_cover_type,
case when actual_cover_type = predicted_cover_type then 1
      else 0 end as match,
  case when actual_cover_type <>  predicted_cover_type then 1
    else 0 end as nonmatch

from public.covertype_validation
) t1;

Bạn có thể thấy rằng độ chính xác của chúng tôi rất gần với điểm của chúng tôi từ đầu ra SHOW MODEL.

Chạy truy vấn dự đoán

Hãy chạy truy vấn dự đoán trong Amazon Redshift ML bằng cách sử dụng chức năng của chúng tôi dựa trên tập dữ liệu thử nghiệm của chúng tôi để xem loại bìa phổ biến nhất cho Khu vực hoang dã Neota. Chúng ta có thể biểu thị điều này bằng cách kiểm tra wildnerness_area2 cho giá trị 1.

Bộ dữ liệu bao gồm các khu vực hoang dã sau:

  1. Khu vực hoang dã Rawah
  2. Khu hoang dã Neota
  3. Khu hoang dã đỉnh Comanche
  4. Khu vực hoang dã Cache la Poudre

Các loại bìa có bảy lớp khác nhau:

  1. Spruce / Fir
  2. Lodgepole Pine
  3. Ponderosa Pine
  4. Cottonwood / Willow
  5. Cây hoàn diệp liểu
  6. Douglas Fir
  7. Krummholz

Ngoài ra còn có 40 định nghĩa loại đất khác nhau, bạn có thể thấy trong phần mô tả tập dữ liệu, với giá trị 0 hoặc 1 cần lưu ý nếu nó áp dụng cho một hàng cụ thể. Sau đây là một số loại đất ví dụ:

  1. Nhà thờ họ - Các mỏm đá phức tạp, cực kỳ nhiều đá
  2. Họ Vanet-Ratake –Rocky outcrop phức tạp, rất cứng
  3. Họ Haploborolis - Khu phức hợp mỏm đá, đá dăm
  4. Gia đình Ratake - Khu phức hợp mỏm đá, đá dăm
  5. Gia đình Vanet - Khu phức hợp mỏm đá, đá dăm
  6. Gia đình Vanet-Wetmore - Khu phức hợp mỏm đá, đá
select t1. predicted_cover_type, count(*)
from
(
select
   Elevation,
   Aspect,
   Slope,
   Horizontal_distance_to_hydrology,
   Vertical_distance_to_hydrology,
   Horizontal_distance_to_roadways,
   HIllshade_9am,
   Hillshade_noon,
   Hillshade_3pm ,
   Horizontal_Distance_To_Fire_Points,
   Wilderness_Area1,
   Wilderness_Area2,
   Wilderness_Area3,
   Wilderness_Area4,
   soil_type1,
   Soil_Type2,
   Soil_Type3,
   Soil_Type4,
   Soil_Type5,
   Soil_Type6,
   Soil_Type7,
   Soil_Type8,
   Soil_Type9,
   Soil_Type10 ,
   Soil_Type11,
   Soil_Type12 ,
   Soil_Type13 ,
   Soil_Type14,
   Soil_Type15,
   Soil_Type16,
   Soil_Type17,
   Soil_Type18,
   Soil_Type19,
   Soil_Type20,
   Soil_Type21,
   Soil_Type22,
   Soil_Type23,
   Soil_Type24,
   Soil_Type25,
   Soil_Type26,
   Soil_Type27,
   Soil_Type28,
   Soil_Type29,
   Soil_Type30,
   Soil_Type31,
   Soil_Type32,
   Soil_Type33,
   Soil_Type34,
   Soil_Type36,
   Soil_Type37,
   Soil_Type38,
   Soil_Type39,
   Soil_Type40,
   predict_cover_type( Elevation,
   Aspect,
   Slope,
   Horizontal_distance_to_hydrology,
   Vertical_distance_to_hydrology,
   Horizontal_distance_to_roadways,
   HIllshade_9am,
   Hillshade_noon,
   Hillshade_3pm ,
   Horizontal_Distance_To_Fire_Points,
   Wilderness_Area1,
   Wilderness_Area2,
   Wilderness_Area3,
   Wilderness_Area4,
   soil_type1,
   Soil_Type2,
   Soil_Type3,
   Soil_Type4,
   Soil_Type5,
   Soil_Type6,
   Soil_Type7,
   Soil_Type8,
   Soil_Type9,
   Soil_Type10,
   Soil_Type11,
   Soil_Type12,
   Soil_Type13,
   Soil_Type14,
   Soil_Type15,
   Soil_Type16,
   Soil_Type17,
   Soil_Type18,
   Soil_Type19,
   Soil_Type20,
   Soil_Type21,
   Soil_Type22,
   Soil_Type23,
   Soil_Type24,
   Soil_Type25,
   Soil_Type26,
   Soil_Type27,
   Soil_Type28,
   Soil_Type29,
   Soil_Type30,
   Soil_Type31,
   Soil_Type32,
   Soil_Type33,
   Soil_Type34,
   Soil_Type36,
   Soil_Type37,
   Soil_Type38,
   Soil_Type39,
   Soil_Type40) as predicted_cover_type

from public.covertype_test
where wilderness_area2 = 1)
t1
group by 1;

Mô hình của chúng tôi đã dự đoán rằng phần lớn bìa là Spruce and Fir.

Bạn có thể thử nghiệm với nhiều cách kết hợp khác nhau, chẳng hạn như xác định loại đất nào có nhiều khả năng xuất hiện nhất trong kiểu che phủ dự đoán.

Kết luận

Redshift ML giúp người dùng ở mọi cấp dễ dàng 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 sử dụng thuật toán người học tuyến tính để tạo mô hình hồi quy và phân loại nhiều lớp. Sau đó, bạn có thể sử dụng các mô hình đó để đưa ra dự đoán bằng các lệnh SQL đơn giản và có được những hiểu biết sâu sắc có giá trị.

Để tìm hiểu thêm về RedShift ML, hãy truy cập Máy học dịch chuyển đỏ của Amazon.


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.

Sohaib Katariwala là Kiến trúc sư Giải pháp Chuyên gia Phân tích tại AWS. Anh ấy có hơn 12 năm kinh nghiệm giúp các tổ chức thu được thông tin chi tiết từ dữ liệu của họ.

Tahir Aziz là Kiến trúc sư giải pháp phân tích tại AWS. Ông đã làm việc với việc xây dựng kho dữ liệu và các giải pháp dữ liệu lớn trong hơn 13 năm. Anh ấy thích giúp khách hàng thiết kế các giải pháp phân tích end-to-end trên AWS. Ngoài công việc, anh ấy thích đi du lịch và nấu ăn.

Gia Viễn Trần là Kỹ sư phát triển phần mềm cao cấp tại AWS. Anh ấy đam mê thiết kế và xây dựng các ứng dụng sử dụng nhiều dữ liệu và đã làm việc trong các lĩnh vực hồ dữ liệu, công cụ truy vấn, nhập và phân tích. Anh ấy luôn cập nhật những công nghệ mới nhất và đổi mới những thứ khơi dậy niềm vui.

gấu trúc ra mắt là Quản lý cấp cao, Quản lý sản phẩm 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, đồng thời có hơn 25 năm kinh nghiệm trong thế giới CNTT. Debu đã xuất bản nhiều bài báo về phân tích, Java doanh nghiệp và cơ sở dữ liệu và đã trình bày tại nhiều hội nghị như re: Invent, Oracle Open World và Java One. Ông là tác giả chính của EJB 3 in Action (Manning Publications 2007, 2014) và Middleware Management (Packt).

tại chỗ_img

Tin tức mới nhất

tại chỗ_img