<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: William Sayson</title>
    <description>The latest articles on DEV Community by William Sayson (@williamsayson_21).</description>
    <link>https://dev.to/williamsayson_21</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4006060%2Fbe290846-0975-4cf1-98dd-68f49bb926f6.jpg</url>
      <title>DEV Community: William Sayson</title>
      <link>https://dev.to/williamsayson_21</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/williamsayson_21"/>
    <language>en</language>
    <item>
      <title>Training A Model Is Surprisingly The Easy Part</title>
      <dc:creator>William Sayson</dc:creator>
      <pubDate>Tue, 30 Jun 2026 14:07:29 +0000</pubDate>
      <link>https://dev.to/williamsayson_21/training-a-model-is-surprisingly-the-easy-part-456</link>
      <guid>https://dev.to/williamsayson_21/training-a-model-is-surprisingly-the-easy-part-456</guid>
      <description>&lt;p&gt;When I saw the Digital Classroom course on Practical Data Science with Amazon SageMaker AI, I chose it out of sheer interest in machine learning. I wanted to actually understand what happens between "here's a dataset" and "here's a model making predictions," instead of just nodding along whenever the term came up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Course&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs0upglg7au6n9b2qiz9y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs0upglg7au6n9b2qiz9y.png" alt=" " width="796" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's an 8-hour Digital Classroom course that walks through the full ML lifecycle using a binary classification use case: predicting whether someone's income is above or below 50K, based on demographic data. It's broken into labs that build on each other:&lt;/p&gt;

&lt;p&gt;Lab 1: Data Preparation with SageMaker Canvas&lt;br&gt;
Lab 2: Training a Model with SageMaker Studio&lt;br&gt;
Lab 3: Hyperparameter Tuning&lt;br&gt;
Lab 4: Model Deployment and Inference&lt;br&gt;
Lab 5: Intergrating a Web Application with Amazon SageMaker Model Endpoint&lt;/p&gt;

&lt;p&gt;Where It Started Feeling Disconnected&lt;/p&gt;

&lt;p&gt;For most of the course, each lab felt like its own isolated skill. SageMaker Data Wrangler was its own thing: import data, run a Data Quality and Insights Report, fix missing values, drop columns with no predictive power, encode categories. Then SageMaker Studio was a different thing entirely: spin up a notebook, configure an XGBoost estimator, wait for training. Then hyperparameter tuning was yet another thing: define ranges, let SageMaker Automatic Model Tuning run a bunch of training jobs, compare results.&lt;/p&gt;

&lt;p&gt;Each piece made sense on its own. But I couldn't yet see how S3, SageMaker Studio, hyperparameter tuning, API Gateway, and endpoints were supposed to work together as one system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Moment It Clicked&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fga0jjsfq0o1t2x88mwyb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fga0jjsfq0o1t2x88mwyb.png" alt=" " width="800" height="290"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This changed in Lab 4. I deployed the tuned model as a real-time SageMaker endpoint, linked the API through API Gateway and modified a static HTML website hosted on an S3 bucket, so that the HTML page would actually communicate with the API. I then entered sample data in the web form and got an actual "prediction" back, stating whether or not that hypothetical person was likely to qualify for government income assistance.&lt;/p&gt;

&lt;p&gt;This is where it went from multiple AWS services in my head to one pipeline. These data are passed in from the web interface, through the API, to the SageMaker endpoint, through the model, and then back to the web interface. Instead of training a model, it was about moving the model.This was no longer about training a model but moving the model. It was a matter of creating a real life object that someone could use.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Tripped Me Up&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Deployment was where things got real. I ran into missing files, wrong file paths, service quota limits, and API configuration errors that didn't make sense to me at first. None of it was fun in the moment, but troubleshooting each one forced me to actually understand how the services were wired together instead of just clicking "Next" through the lab steps. Every error was basically the lab asking me, "do you actually get how S3, the endpoint, and the API are connected, or were you just following instructions?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why This Matters to Me&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I want to keep building AI-powered applications, and this course made it clear that machine learning isn't only about getting an accurate model. It's about solving a real problem through a complete workflow: prepare the data, train it, tune it, deploy it, and connect it to something people can actually use. Every error I hit along the way was just another part of that workflow I now understand better than I did the day before.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5p5s02sema43e6f07jzu.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5p5s02sema43e6f07jzu.jpeg" alt=" " width="799" height="617"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Still a long way to go, but I'm glad I went into this one out of curiosity.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
