Tự động hóa mô hình phân loại xe đạp và xe tay ga dùng chung với Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Tự động hóa mô hình phân loại xe đạp và xe tay ga dùng chung với Amazon SageMaker Autopilot

Amazon SageMaker Tự động lái giúp các tổ chức có thể nhanh chóng xây dựng và triển khai mô hình học máy (ML) end-to-end và đường ống suy luận chỉ với một vài dòng mã hoặc thậm chí không có bất kỳ mã nào ở tất cả với Xưởng sản xuất Amazon SageMaker. Autopilot giúp giảm bớt gánh nặng của việc định cấu hình cơ sở hạ tầng và thời gian cần thiết để xây dựng toàn bộ đường ống, bao gồm kỹ thuật tính năng, lựa chọn mô hình và điều chỉnh siêu tham số.

Trong bài đăng này, chúng tôi hướng dẫn cách đi từ dữ liệu thô đến một đường dẫn suy luận mạnh mẽ và được triển khai đầy đủ với Autopilot.

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

Chúng tôi sử dụng Tập dữ liệu công khai của Lyft về chia sẻ xe đạp để mô phỏng này dự đoán liệu người dùng có tham gia vào Chương trình Bike Share for All. Đây là một bài toán phân loại nhị phân đơn giản.

Chúng tôi muốn giới thiệu việc xây dựng một hệ thống suy luận tự động và thời gian thực dễ dàng như thế nào để phân loại người dùng dựa trên sự tham gia của họ vào chương trình Bike Share for All. Để đạt được mục tiêu này, chúng tôi mô phỏng một đường dẫn nhập và suy luận dữ liệu đầu cuối cho một công ty chia sẻ xe đạp tưởng tượng hoạt động ở Khu vực Vịnh San Francisco.

Kiến trúc được chia thành hai phần: đường ống dẫn nhập và đường ống suy luận.
Tự động hóa mô hình phân loại xe đạp và xe tay ga dùng chung với Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Chúng tôi chủ yếu tập trung vào đường dẫn ML trong phần đầu tiên của bài đăng này và xem xét đường dẫn nhập dữ liệu trong phần thứ hai.

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

Để làm theo ví dụ này, hãy hoàn thành các điều kiện tiên quyết sau:

  1. Tạo một phiên bản sổ ghi chép SageMaker mới.
  2. tạo một Amazon Kinesis Dữ liệu Firehose luồng phân phối với một AWS Lambda biến đổi hàm. Để được hướng dẫn, hãy xem Chuyển đổi dữ liệu Amazon Kinesis Firehose với AWS Lambda. Bước này là tùy chọn và chỉ cần thiết để mô phỏng luồng dữ liệu.

Khám phá dữ liệu

Hãy tải xuống và trực quan hóa tập dữ liệu, được đặt ở nơi công cộng Dịch vụ lưu trữ đơn giản của Amazon Nhóm (Amazon S3) và trang web tĩnh:

# The dataset is located in a public bucket and static s3 website.
# https://www.lyft.com/bikes/bay-wheels/system-data import pandas as pd
import numpy as np
import os
from time import sleep !wget -q -O '201907-baywheels-tripdata.zip' https://s3.amazonaws.com/baywheels-data/201907-baywheels-tripdata.csv.zip
!unzip -q -o 201907-baywheels-tripdata.zip
csv_file = os.listdir('.')
data = pd.read_csv('201907-baywheels-tripdata.csv', low_memory=False)
data.head()

Ảnh chụp màn hình sau đây cho thấy một tập hợp con của dữ liệu trước khi chuyển đổi.
Tự động hóa mô hình phân loại xe đạp và xe tay ga dùng chung với Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Cột cuối cùng của dữ liệu chứa mục tiêu mà chúng tôi muốn dự đoán, là một biến nhị phân nhận giá trị Có hoặc Không, cho biết liệu người dùng có tham gia vào chương trình Bike Share for All hay không.

Hãy xem xét sự phân phối của biến mục tiêu của chúng tôi để biết bất kỳ sự mất cân bằng dữ liệu nào.

# For plotting
%matplotlib inline
import matplotlib.pyplot as plt
#!pip install seaborn # If you need this library
import seaborn as sns
display(sns.countplot(x='bike_share_for_all_trip', data=data))

Tự động hóa mô hình phân loại xe đạp và xe tay ga dùng chung với Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Như trong biểu đồ trên, dữ liệu không cân đối, với số lượng người tham gia chương trình ít hơn.

Chúng tôi cần cân bằng dữ liệu để ngăn chặn sự sai lệch đại diện quá mức. Bước này là tùy chọn vì Autopilot cũng cung cấp một phương pháp tiếp cận nội bộ để tự động xử lý sự mất cân bằng lớp học, mặc định là chỉ số xác thực điểm F1. Ngoài ra, nếu bạn chọn tự cân bằng dữ liệu, bạn có thể sử dụng các kỹ thuật nâng cao hơn để xử lý mất cân bằng lớp, chẳng hạn như NHỎ or Gan.

Đối với bài đăng này, chúng tôi lấy mẫu xuống lớp đa số (Không) như một kỹ thuật cân bằng dữ liệu:

Đoạn mã sau làm phong phú thêm dữ liệu và lấy mẫu dưới lớp được trình bày quá mức:

df = data.copy()
df.drop(columns=['rental_access_method'], inplace=True) df['start_time'] = pd.to_datetime(df['start_time'])
df['start_time'] = pd.to_datetime(df['end_time']) # Adding some day breakdown
df = df.assign(day_of_week=df.start_time.dt.dayofweek, hour_of_day=df.start_time.dt.hour, trip_month=df.start_time.dt.month)
# Breaking the day in 4 parts: ['morning', 'afternoon', 'evening']
conditions = [ (df['hour_of_day'] >= 5) & (df['hour_of_day'] < 12), (df['hour_of_day'] >= 12) & (df['hour_of_day'] < 18), (df['hour_of_day'] >= 18) & (df['hour_of_day'] < 21),
]
choices = ['morning', 'afternoon', 'evening']
df['part_of_day'] = np.select(conditions, choices, default='night')
df.dropna(inplace=True) # Downsampling the majority to rebalance the data
# We are getting about an even distribution
df.sort_values(by='bike_share_for_all_trip', inplace=True)
slice_pointe = int(df['bike_share_for_all_trip'].value_counts()['Yes'] * 2.1)
df = df[-slice_pointe:]
# The data is balanced now. Let's reshuffle the data
df = df.sample(frac=1).reset_index(drop=True)

Chúng tôi cố tình để các tính năng phân loại của chúng tôi không được mã hóa, bao gồm cả giá trị mục tiêu nhị phân của chúng tôi. Điều này là do Autopilot đảm nhận việc mã hóa và giải mã dữ liệu cho chúng tôi như một phần của quá trình triển khai đường ống và kỹ thuật tính năng tự động, như chúng ta thấy trong phần tiếp theo.

Ảnh chụp màn hình sau đây cho thấy một mẫu dữ liệu của chúng tôi.
Tự động hóa mô hình phân loại xe đạp và xe tay ga dùng chung với Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Dữ liệu trong các biểu đồ sau có vẻ bình thường khác, với phân phối hai phương thức đại diện cho hai đỉnh cho giờ sáng và giờ cao điểm buổi chiều, như bạn mong đợi. Chúng tôi cũng quan sát thấy các hoạt động thấp vào cuối tuần và vào ban đêm.
Tự động hóa mô hình phân loại xe đạp và xe tay ga dùng chung với Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Trong phần tiếp theo, chúng tôi cung cấp dữ liệu vào Autopilot để nó có thể chạy thử nghiệm cho chúng tôi.

Xây dựng mô hình phân loại nhị phân

Autopilot yêu cầu chúng tôi chỉ định nhóm đích đầu vào và đầu ra. Nó sử dụng nhóm đầu vào để tải dữ liệu và nhóm đầu ra để lưu các hiện vật, chẳng hạn như kỹ thuật tính năng và sổ ghi chép Jupyter được tạo. Chúng tôi giữ lại 5% tập dữ liệu để đánh giá và xác thực hiệu suất của mô hình sau khi quá trình đào tạo hoàn tất và tải 95% tập dữ liệu lên nhóm đầu vào S3. Xem đoạn mã sau:

import sagemaker
import boto3 # Let's define our storage.
# We will use the default sagemaker bucket and will enforce encryption bucket = sagemaker.Session().default_bucket() # SageMaker default bucket. #Encrypting the bucket
s3 = boto3.client('s3')
SSEConfig={ 'Rules': [ { 'ApplyServerSideEncryptionByDefault': { 'SSEAlgorithm': 'AES256', } }, ] }
s3.put_bucket_encryption(Bucket=bucket, ServerSideEncryptionConfiguration=SSEConfig) prefix = 'sagemaker-automl01' # prefix for ther bucket
role = sagemaker.get_execution_role() # IAM role object to use by SageMaker
sagemaker_session = sagemaker.Session() # Sagemaker API
region = sagemaker_session.boto_region_name # AWS Region # Where we will load our data input_path = "s3://{}/{}/automl_bike_train_share-1".format(bucket, prefix) output_path = "s3://{}/{}/automl_bike_output_share-1".format(bucket, prefix) # Spliting data in train/test set.
# We will use 95% of the data for training and the remainder for testing.
slice_point = int(df.shape[0] * 0.95) training_set = df[:slice_point] # 95%
testing_set = df[slice_point:] # 5% # Just making sure we have split it correctly
assert training_set.shape[0] + testing_set.shape[0] == df.shape[0] # Let's save the data locally and upload it to our s3 data location
training_set.to_csv('bike_train.csv')
testing_set.to_csv('bike_test.csv', header=False) # Uploading file the trasining set to the input bucket
sagemaker.s3.S3Uploader.upload(local_path='bike_train.csv', desired_s3_uri=input_path)

Sau khi chúng tôi tải dữ liệu lên đích đầu vào, đã đến lúc bắt đầu Autopilot:

from sagemaker.automl.automl import AutoML
# You give your job a name and provide the s3 path where you uploaded the data
bike_automl_binary = AutoML(role=role, target_attribute_name='bike_share_for_all_trip', output_path=output_path, max_candidates=30)
# Starting the training bike_automl_binary.fit(inputs=input_path, wait=False, logs=False)

Tất cả những gì chúng ta cần để bắt đầu thử nghiệm là gọi phương thức fit (). Autopilot cần vị trí S3 đầu vào và đầu ra và cột thuộc tính mục tiêu là các tham số bắt buộc. Sau khi xử lý tính năng, các cuộc gọi Autopilot SageMaker điều chỉnh mô hình tự động để 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 của bạn. Chúng tôi đã thêm tham số max_candidates tùy chọn để giới hạn số lượng ứng viên là 30, là số lượng công việc đào tạo mà Autopilot khởi chạy với các kết hợp thuật toán và siêu tham số khác nhau để tìm ra mô hình tốt nhất. Nếu bạn không chỉ định tham số này, nó sẽ mặc định là 250.

Chúng ta có thể quan sát tiến trình của Autopilot bằng đoạn mã sau:

# Let's monitor the progress this will take a while. Go grup some coffe.
from time import sleep def check_job_status(): return bike_automl_binary.describe_auto_ml_job()['AutoMLJobStatus'] def discribe(): return bike_automl_binary.describe_auto_ml_job() while True: print (check_job_status(), discribe()['AutoMLJobSecondaryStatus'], end='** ') if check_job_status() in ["Completed", "Failed"]: if "Failed" in check_job_status(): print(discribe()['FailureReason']) break sleep(20)

Quá trình đào tạo cần một thời gian để hoàn thành. Trong khi nó đang chạy, hãy xem quy trình làm việc Autopilot.
Tự động hóa mô hình phân loại xe đạp và xe tay ga dùng chung với Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Để tìm ứng cử viên tốt nhất, hãy sử dụng mã sau:

# Let's take a look at the best candidate selected by AutoPilot
from IPython.display import JSON
def jsonView(obj, rootName=None): return JSON(obj, root=rootName, expanded=True) bestCandidate = bike_automl_binary.describe_auto_ml_job()['BestCandidate']
display(jsonView(bestCandidate['FinalAutoMLJobObjectiveMetric'], 'FinalAutoMLJobObjectiveMetric'))

Ảnh chụp màn hình sau đây cho thấy đầu ra của chúng tôi.
Tự động hóa mô hình phân loại xe đạp và xe tay ga dùng chung với Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Mô hình của chúng tôi đạt được độ chính xác xác thực là 96%, vì vậy chúng tôi sẽ triển khai nó. Chúng tôi có thể thêm một điều kiện để chúng tôi chỉ sử dụng mô hình nếu độ chính xác trên một mức nhất định.

Đường dẫn suy luận

Trước khi chúng tôi triển khai mô hình của mình, hãy kiểm tra ứng cử viên tốt nhất của chúng tôi và những gì đang xảy ra trong quy trình của chúng tôi. Xem đoạn mã sau:

display(jsonView(bestCandidate['InferenceContainers'], 'InferenceContainers'))

Biểu đồ sau đây cho thấy kết quả đầu ra của chúng tôi.
Tự động hóa mô hình phân loại xe đạp và xe tay ga dùng chung với Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Autopilot đã xây dựng mô hình và đóng gói nó trong ba thùng chứa khác nhau, mỗi thùng chứa tuần tự chạy một nhiệm vụ cụ thể: biến đổi, dự đoán và chuyển đổi ngược lại. Suy luận nhiều bước này có thể thực hiện được với Đường dẫn suy luận SageMaker.

Một suy luận nhiều bước cũng có thể xâu chuỗi nhiều mô hình suy luận. Ví dụ: một vùng chứa có thể thực hiện phân tích thành phần chính trước khi chuyển dữ liệu đến vùng chứa XGBoost.

Triển khai đường dẫn suy luận đến một điểm cuối

Quá trình triển khai chỉ bao gồm một vài dòng mã:

# We chose to difine an endpoint name.
from datetime import datetime as dt
today = str(dt.today())[:10]
endpoint_name='binary-bike-share-' + today
endpoint = bike_automl_binary.deploy(initial_instance_count=1, instance_type='ml.m5.xlarge', endpoint_name=endpoint_name, candidate=bestCandidate, wait=True)

Hãy định cấu hình điểm cuối của chúng tôi để dự đoán với một công cụ dự đoán:

from sagemaker.serializers import CSVSerializer
from sagemaker.deserializers import CSVDeserializer
csv_serializer = CSVSerializer()
csv_deserializer = CSVDeserializer()
# Initialize the predictor
predictor = sagemaker.predictor.Predictor(endpoint_name=endpoint_name, sagemaker_session=sagemaker.Session(), serializer=csv_serializer, deserializer=csv_deserializer )

Bây giờ chúng tôi đã sẵn sàng điểm cuối và công cụ dự đoán, đã đến lúc sử dụng dữ liệu thử nghiệm mà chúng tôi đã đặt sang một bên và kiểm tra độ chính xác của mô hình của chúng tôi. Chúng tôi bắt đầu bằng cách xác định một hàm tiện ích gửi dữ liệu từng dòng một đến điểm cuối suy luận của chúng tôi và nhận lại một dự đoán. Bởi vì chúng tôi có một XGBoost mô hình, chúng tôi thả biến mục tiêu trước khi gửi dòng CSV đến điểm cuối. Ngoài ra, chúng tôi đã xóa tiêu đề khỏi CSV thử nghiệm trước khi lặp qua tệp, đây cũng là một yêu cầu khác đối với XGBoost trên SageMaker. Xem đoạn mã sau:

# The fuction takes 3 arguments: the file containing the test set,
# The predictor and finaly the number of lines to send for prediction.
# The function returns two Series: inferred and Actual.
def get_inference(file, predictor, n=1): infered = [] actual = [] with open(file, 'r') as csv: for i in range(n): line = csv.readline().split(',') #print(line) try: # Here we remove the target variable from the csv line before predicting observed = line.pop(14).strip('n') actual.append(observed) except: pass obj = ','.join(line) predicted = predictor.predict(obj)[0][0] infered.append(predicted) pd.Series(infered) data = {'Infered': pd.Series(infered), 'Observed': pd.Series(actual)} return pd.DataFrame(data=data) n = testing_set.shape[0] # The size of the testing data
inference_df = get_inference('bike_test.csv', predictor, n) inference_df['Binary_Result'] = (inference_df['Observed'] == inference_df['Infered'])
display(inference_df.head())

Ảnh chụp màn hình sau đây cho thấy đầu ra của chúng tôi.
Tự động hóa mô hình phân loại xe đạp và xe tay ga dùng chung với Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Bây giờ chúng ta hãy tính toán độ chính xác của mô hình của chúng tôi.
Tự động hóa mô hình phân loại xe đạp và xe tay ga dùng chung với Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Xem mã sau đây:

count_binary = inference_df['Binary_Result'].value_counts()
accuracy = count_binary[True]/n
print('Accuracy:', accuracy)

Chúng tôi nhận được độ chính xác là 92%. Con số này thấp hơn một chút so với 96% thu được trong bước xác thực, nhưng nó vẫn đủ cao. Chúng tôi không mong đợi độ chính xác hoàn toàn giống nhau vì thử nghiệm được thực hiện với một tập dữ liệu mới.

Nhập dữ liệu

Chúng tôi đã tải xuống dữ liệu trực tiếp và định cấu hình nó để đào tạo. Trong cuộc sống thực, bạn có thể phải gửi dữ liệu trực tiếp từ thiết bị biên vào hồ dữ liệu và nhờ SageMaker tải trực tiếp từ hồ dữ liệu vào sổ ghi chép.

Kinesis Data Firehose là một lựa chọn tốt và là cách đơn giản nhất để tải dữ liệu truyền trực tuyến một cách đáng tin cậy vào các hồ dữ liệu, kho dữ liệu và các công cụ phân tích. Nó có thể thu thập, chuyển đổi và tải dữ liệu phát trực tuyến vào Amazon S3 và các kho dữ liệu AWS khác.

Đối với trường hợp sử dụng của chúng tôi, chúng tôi tạo luồng phân phối Kinesis Data Firehose với chức năng chuyển đổi Lambda để thực hiện một số thao tác dọn dẹp dữ liệu nhẹ khi nó truyền qua luồng. Xem đoạn mã sau:

# Data processing libraries
import pandas as pd # Data processing
import numpy as np
import base64
from io import StringIO def lambda_handler(event, context): output = [] print('Received', len(event['records']), 'Records') for record in event['records']: payload = base64.b64decode(record['data']).decode('utf-8') df = pd.read_csv(StringIO(payload), index_col=0) df.drop(columns=['rental_access_method'], inplace=True) df['start_time'] = pd.to_datetime(df['start_time']) df['start_time'] = pd.to_datetime(df['end_time']) # Adding some day breakdown df = df.assign(day_of_week=df.start_time.dt.dayofweek, hour_of_day=df.start_time.dt.hour, trip_month=df.start_time.dt.month) # Breaking the day in 4 parts: ['morning', 'afternoon', 'evening'] conditions = [ (df['hour_of_day'] >= 5) & (df['hour_of_day'] < 12), (df['hour_of_day'] >= 12) & (df['hour_of_day'] < 18), (df['hour_of_day'] >= 18) & (df['hour_of_day'] < 21), ] choices = ['morning', 'afternoon', 'evening'] df['part_of_day'] = np.select(conditions, choices, default='night') df.dropna(inplace=True) # Downsampling the majority to rebalance the data # We are getting about an even distribution df.sort_values(by='bike_share_for_all_trip', inplace=True) slice_pointe = int(df['bike_share_for_all_trip'].value_counts()['Yes'] * 2.1) df = df[-slice_pointe:] # The data is balanced now. Let's reshuffle the data df = df.sample(frac=1).reset_index(drop=True) data = base64.b64encode(bytes(df.to_csv(), 'utf-8')).decode("utf-8") output_record = { 'recordId': record['recordId'], 'result': 'Ok', 'data': data } output.append(output_record) print('Returned', len(output), 'Records') print('Event', event) return {'records': output}

Hàm Lambda này thực hiện chuyển đổi ánh sáng của dữ liệu được truyền từ các thiết bị vào hồ dữ liệu. Nó yêu cầu một tệp dữ liệu được định dạng CSV.

Đối với bước nhập, chúng tôi tải dữ liệu xuống và mô phỏng luồng dữ liệu tới Kinesis Data Firehose với chức năng biến đổi Lambda và vào hồ dữ liệu S3 của chúng tôi.

Hãy mô phỏng phát trực tuyến một vài dòng:

# Saving the data in one file.
file = '201907-baywheels-tripdata.csv' data.to_csv(file) # Stream the data 'n' lines at a time.
# Only run this for a minute and stop the cell
def streamer(file, n): with open(file, 'r') as csvfile: header = next(csvfile) data = header counter = 0 loop = True while loop == True: for i in range(n): line = csvfile.readline() data+=line # We reached the end of the csv file. if line == '': loop = False counter+=n # Use your kinesis streaming name stream = client.put_record(DeliveryStreamName='firehose12-DeliveryStream-OJYW71BPYHF2', Record={"Data": bytes(data, 'utf-8')}) data = header print( file, 'HTTPStatusCode: '+ str(stream['ResponseMetadata']['HTTPStatusCode']), 'csv_lines_sent: ' + str(counter), end=' -*- ') sleep(random.randrange(1, 3)) return
# Streaming for 500 lines at a time. You can change this number up and down.
streamer(file, 500) # We can now load our data as a DataFrame because it’s streamed into the S3 data lake:
# Getting data from s3 location where it was streamed.
STREAMED_DATA = 's3://firehose12-deliverybucket-11z0ya3patrod/firehose/2020'
csv_uri = sagemaker.s3.S3Downloader.list(STREAMED_DATA)
in_memory_string = [sagemaker.s3.S3Downloader.read_file(file) for file in csv_uri]
in_memory_csv = [pd.read_csv(StringIO(file), index_col=0) for file in in_memory_string]
display(df.tail())

Làm sạch

Điều quan trọng là phải xóa tất cả các tài nguyên được sử dụng trong bài tập này để giảm thiểu chi phí. Đoạn mã sau sẽ xóa điểm cuối suy luận SageMaker mà chúng tôi đã tạo cũng như dữ liệu đào tạo và thử nghiệm mà chúng tôi đã tải lên:

#Delete the s3 data
predictor.delete_endpoint() # Delete s3 data
s3 = boto3.resource('s3')
ml_bucket = sagemaker.Session().default_bucket()
delete_data = s3.Bucket(ml_bucket).objects.filter(Prefix=prefix).delete()

Kết luận

Các kỹ sư ML, nhà khoa học dữ liệu và nhà phát triển phần mềm có thể sử dụng Autopilot để xây dựng và triển khai một đường dẫn suy luận với ít hoặc không có kinh nghiệm lập trình ML. Chế độ lái tự động tiết kiệm thời gian và tài nguyên, sử dụng khoa học dữ liệu và các phương pháp hay nhất của ML. Các tổ chức lớn hiện có thể chuyển các nguồn lực kỹ thuật ra khỏi cấu hình cơ sở hạ tầng theo hướng cải tiến mô hình và giải quyết các trường hợp sử dụng kinh doanh. Các công ty khởi nghiệp và các tổ chức nhỏ hơn có thể bắt đầu học máy mà không cần hoặc không có kiến ​​thức chuyên môn về ML.

Để bắt đầu với SageMaker Autopilot, hãy xem trang sản phẩm hoặc truy cập SageMaker Autopilot trong SageMaker Studio.

Chúng tôi cũng khuyên bạn nên tìm hiểu thêm về các tính năng quan trọng khác mà SageMaker phải cung cấp, chẳng hạn như Cửa hàng tính năng Amazon SageMaker, tích hợp với Đường ống Amazon SageMaker để tạo, thêm tìm kiếm và khám phá tính năng cũng như sử dụng lại quy trình ML tự động. Bạn có thể chạy nhiều mô phỏng Autopilot với các biến thể tính năng hoặc mục tiêu khác nhau trong tập dữ liệu của mình. Bạn cũng có thể tiếp cận vấn đề này như một bài toán phân bổ xe động, trong đó mô hình của bạn cố gắng dự đoán nhu cầu xe dựa trên thời gian (chẳng hạn như thời gian trong ngày hoặc ngày trong tuần) hoặc vị trí hoặc kết hợp cả hai.


Về các tác giả

Tự động hóa mô hình phân loại xe đạp và xe tay ga dùng chung với Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Doug Mbaya là một kiến ​​trúc sư Giải pháp Cao cấp với trọng tâm là dữ liệu và phân tích. Doug hợp tác chặt chẽ với các đối tác AWS, giúp họ tích hợp dữ liệu và giải pháp phân tích trên đám mây. Kinh nghiệm trước đây của Doug bao gồm việc hỗ trợ khách hàng AWS trong phân khúc chia sẻ chuyến đi và giao đồ ăn.

Tự động hóa mô hình phân loại xe đạp và xe tay ga dùng chung với Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Valerio Perrone là một Giám đốc Khoa học Ứng dụng làm việc trên Amazon SageMaker Automatic Model Tuning và Autopilot.

Dấu thời gian:

Thêm từ Học máy AWS