<?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: rasi321</title>
    <description>The latest articles on DEV Community by rasi321 (@rasi321).</description>
    <link>https://dev.to/rasi321</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%2F3704152%2Fdd604340-e6ed-4556-899b-315eff7f90dc.png</url>
      <title>DEV Community: rasi321</title>
      <link>https://dev.to/rasi321</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rasi321"/>
    <language>en</language>
    <item>
      <title>ChurnWatch - MLOps Data Drift Monitoring</title>
      <dc:creator>rasi321</dc:creator>
      <pubDate>Tue, 13 Oct 2026 09:52:05 +0000</pubDate>
      <link>https://dev.to/rasi321/churnwatch-mlops-data-drift-monitoring-2g7o</link>
      <guid>https://dev.to/rasi321/churnwatch-mlops-data-drift-monitoring-2g7o</guid>
      <description>&lt;p&gt;Machine Learning models can perform well when they are trained, but that does not means the input data will remain the same over time.&lt;/p&gt;

&lt;p&gt;As real world data changes, a model can receive data that looks very different from the data it was trained on. This is known as data drift.&lt;/p&gt;

&lt;p&gt;For this Project, I built ChurnWatch, a small MLOps project using AWS to demonstrate how data drift can be monitored after model training.&lt;/p&gt;

&lt;p&gt;The Goal &lt;br&gt;
Train a model -&amp;gt; compare new data with training data -&amp;gt; detect drift -&amp;gt; monitor the result.&lt;/p&gt;

&lt;p&gt;The Problem&lt;br&gt;
A company may train a model using historical customer information to predict whether a customer is likely to leave the service.&lt;br&gt;
Overtime, customer may spend more or less than before &lt;br&gt;
customers may spend more or less than before&lt;br&gt;
the average number of support calls may change&lt;br&gt;
overall customer data may change&lt;/p&gt;

&lt;p&gt;Even if model itself has not changed, the data going into it may no longer resemble the data used during training and this affects model reliability. ChurnWatch focuses on detecting this change.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;S3 is used to train the churn prediction model&lt;/li&gt;
&lt;li&gt;Sagemaker is used to train the churn prediction model&lt;/li&gt;
&lt;li&gt;A python based drift detection script compares the baseline training dara with stimulated production data using Population Stability Index (PSI)&lt;/li&gt;
&lt;li&gt;The resulting drift value is published to CloudWatch so that it can be monitored.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The dataset is divided into a baseline/training dataset and simulated production dataset&lt;/p&gt;

&lt;p&gt;The production dataset is intentionally generated with changed feature distributions so that the monitoring system has an actual drift scenario to detect.&lt;/p&gt;

&lt;p&gt;Training the model&lt;br&gt;
The first step is training a simple churn prediction model using Amazon Sagemaker.&lt;br&gt;
The training data is stored in Amazon S3, and Sagemaker trains the machine learning model using the historical customer data.&lt;/p&gt;

&lt;p&gt;Detecting Data Drift&lt;br&gt;
For drift detection, ChurnWatch uses Population Stability Index (PSI)&lt;br&gt;
PSI compares the distribution of a feature in the baseline dataset &lt;br&gt;
and new dataset.&lt;/p&gt;

&lt;p&gt;A simplified interpretation is:&lt;/p&gt;

&lt;p&gt;PSI &amp;lt; 0.10 -little or no significant change&lt;br&gt;
0.20 - significant drift&lt;/p&gt;

&lt;p&gt;For the experiment, production data was intentionally generated with different distributions.&lt;br&gt;
The drift detection script calculates PSI for the selected features and identifies the maximum drift value.&lt;/p&gt;

&lt;p&gt;for example :&lt;br&gt;
Maximum PSI:0.xx&lt;br&gt;
Threshold : 0.2&lt;br&gt;
Result: Drift detected&lt;/p&gt;

&lt;p&gt;The exact value depends on the generated production dataset.&lt;/p&gt;

&lt;p&gt;Monitoring with CloudWatch&lt;br&gt;
Once the drift calculation is complete, the resulting metric is published to Amazon CloudWatch&lt;br&gt;
this provides a simple monitoring layer for the ML workflow, instead of manually checking the drift every time, the drift value can be viewed as a CloudWatch metric&lt;/p&gt;

&lt;p&gt;What I learned &lt;br&gt;
This Project helped me understand aan important difference between building an ML model and operating an ML system.&lt;br&gt;
Training a model is only one part of the lifecycle, once a model is used with real-world data, the data itself needs to be monitored.&lt;br&gt;
With ChurnWtach , I implemented a small workflow covering:&lt;br&gt;
Dataset management with Amazon S3&lt;br&gt;
Model training with Amazon Sagemaker&lt;br&gt;
Data drift detection using PSI&lt;br&gt;
Metric monitoring with CloudWatch&lt;/p&gt;

&lt;p&gt;A model can remain unchanged while data around it changes&lt;br&gt;
Monitoring that change is an important part of maintaining machine learning systems in production.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>devops</category>
      <category>machinelearning</category>
      <category>monitoring</category>
    </item>
    <item>
      <title>Getting Started with MLOps: ML models and Amazon Sagemaker</title>
      <dc:creator>rasi321</dc:creator>
      <pubDate>Mon, 12 Oct 2026 14:16:09 +0000</pubDate>
      <link>https://dev.to/rasi321/getting-started-with-mlops-ml-models-and-amazon-sagemaker-5ejo</link>
      <guid>https://dev.to/rasi321/getting-started-with-mlops-ml-models-and-amazon-sagemaker-5ejo</guid>
      <description>&lt;p&gt;A machine learning model is more than just training an algorithm on data.&lt;/p&gt;

&lt;p&gt;Once a model is trained, how do we deploy it, make predictions, monitor its performance, and update it when needed?&lt;/p&gt;

&lt;p&gt;This is where MLOps comes in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Machine Learning: Building  and training models using data.&lt;/li&gt;
&lt;li&gt;MLOps: Managing the ML lifecycle, from expermientation and training to deployment and monitoring&lt;/li&gt;
&lt;li&gt;Amazon Sagemaker: Amazon Sagemaker is an AWS machine learning service that provides tools and infrastructure to build, train, deploy, and manage ML models&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A simple way to understand the workflow:&lt;/p&gt;

&lt;p&gt;Data -&amp;gt; Model training -&amp;gt; Model Evaluation -&amp;gt; Deployment -&amp;gt; Monitoring&lt;/p&gt;

&lt;p&gt;I am starting by exploring the fundamental of MLOps and how Amazon Sagemaker helps take ML models from experimentation to production.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>aws</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
