Machine Learning for Housing Location Recommendations with SageMaker K-Nearest Neighbors Algorithm

Using SageMaker K-Nearest Neighbors Algorithm for Housing Location Recommendations

Question

You work as a machine learning specialist for a city government agency in their urban housing department.

You have been assigned the task of using a machine learning model to find the best housing location to place new public housing applicants.

You have been asked to propose housing sites for new applicants based on the similarity of the applicant (such as applicant work location, number of people in the family group, applicant income range, etc.) to the other housing residents in the city.

You have decided to use the SageMaker k-nearest neighbors built-in algorithm.

You have produced a model variant and deployed it to an HTTPS endpoint.

Based on your initial evaluation results, you would like to change the SageMaker endpoint by updating the ML compute instances of the existing variant to make them more powerful and add a new model variant.

What is the best way to implement these changes?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Correct Answer: D.

Option A is incorrect.

You don't need to disrupt your existing model variant serviced by your SageMaker HTTPS endpoint.

You can deploy your new model variant and change the existing model variant's ML instances while keeping your endpoint in service.

Option B is incorrect.

You don't have to implement your changes in piecemeal as described in this option.

You don't need to disrupt your existing model variant serviced by your SageMaker HTTPS endpoint.

You can deploy your new model variant and change the existing model variant's ML instances while keeping your endpoint in service.

Option C is incorrect.

You will need to create a new endpoint configuration.

However, you don't need to take your old endpoint configuration out of service before deploying your new endpoint configuration.

Option D is correct.

To keep from disrupting your SageMaker HTTPS endpoint service, you can modify your SageMaker HTTPS endpoint without taking the model that is already deployed into production out of service.

References:

Please see the Amazon SageMaker developer guide titled Deploy a Model in Amazon SageMaker (https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-deployment.html#how-it-works-hosting),

The Amazon SageMaker reference titled UpdateEndpoint (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html),

The Statistics How To article titled k-NN (k-Nearest Neighbor): Overview, Simple Example (https://www.statisticshowto.com/k-nn-k-nearest-neighbor/)

The correct answer is D. Modify your SageMaker HTTPS endpoint without taking the model that is already deployed into production out of service. Change the existing model variant's ML instance type and add the new model variant. Do this by creating a new endpoint configuration and deploying the new endpoint configuration with the SageMaker UpdateEndpoint action.

Explanation:

Amazon SageMaker is a fully managed service that provides every developer and data scientist with the ability to build, train, and deploy machine learning models quickly. It offers several built-in algorithms to simplify machine learning workflows, including k-nearest neighbors, which is used in this scenario to find the best housing location for new public housing applicants.

To implement changes to the existing SageMaker endpoint, we need to follow these steps:

Step 1: Create a new endpoint configuration Create a new endpoint configuration that includes the desired ML instance types and both model variants.

Step 2: Update the endpoint Use the SageMaker UpdateEndpoint action to deploy the new endpoint configuration and update the existing endpoint. This action will change the existing model variant's ML instance type and add the new model variant to the endpoint without taking the model that is already deployed into production out of service.

This method is the best way to implement changes to the SageMaker endpoint because it minimizes downtime and disruption to the existing model variant that is already deployed in production. The other options involve taking the endpoint out of service or modifying the existing model variant, which can cause downtime and potentially impact the performance of the model.

In summary, the best way to implement changes to a SageMaker endpoint is to create a new endpoint configuration that includes the desired changes and use the SageMaker UpdateEndpoint action to deploy the new configuration and update the existing endpoint.