<?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: Temiloluwa Valentine</title>
    <description>The latest articles on DEV Community by Temiloluwa Valentine (@temiloluwavalentine).</description>
    <link>https://dev.to/temiloluwavalentine</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3089157%2F2d0b75dc-ef58-4753-a762-05689e4e7216.png</url>
      <title>DEV Community: Temiloluwa Valentine</title>
      <link>https://dev.to/temiloluwavalentine</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/temiloluwavalentine"/>
    <language>en</language>
    <item>
      <title># ⚡ EcoScan— See Which Device is Drinking Your Money</title>
      <dc:creator>Temiloluwa Valentine</dc:creator>
      <pubDate>Sun, 19 Apr 2026 17:42:27 +0000</pubDate>
      <link>https://dev.to/temiloluwavalentine/-ecoscan-see-which-device-is-drinking-your-money-3o69</link>
      <guid>https://dev.to/temiloluwavalentine/-ecoscan-see-which-device-is-drinking-your-money-3o69</guid>
      <description>&lt;p&gt;_&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-04-16"&gt;Weekend Challenge: Earth Day Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Last month, my dad got our electricity bill and just stared at it.&lt;/p&gt;

&lt;p&gt;He couldn't understand why it was so high. Was it the iron my mum uses every morning? The old fridge that runs all night? The TV nobody ever turns off? He had no idea. So he just paid it. Like he always does.&lt;/p&gt;

&lt;p&gt;That moment stayed with me.&lt;/p&gt;

&lt;p&gt;Millions of families across Nigeria, India, Ghana, Kenya and across the entire world pay electricity bills they don't understand. Not because they're careless. But because nobody ever made it simple enough to see where the money is actually going.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;EcoScan&lt;/strong&gt;  for Earth Day.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EcoScan is an AI-powered energy auditor that works with just a gesture.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Point your camera at any electrical appliance in your home, your iron, your fridge, your phone charger, your TV. Pinch your thumb and index finger together. In seconds, you see exactly what that device costs you per month in your local currency, how much CO₂ it produces, and what you can do about it.&lt;/p&gt;

&lt;p&gt;No typing. No forms. No complicated settings. Just point and pinch.&lt;/p&gt;




&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/MnC80z1_I7w"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;In the demo you can see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time hand tracking detecting the pinch gesture&lt;/li&gt;
&lt;li&gt;Gemini identifying a clothing iron, phone charger and smartphone&lt;/li&gt;
&lt;li&gt;The live dashboard updating instantly with monthly costs in local currency&lt;/li&gt;
&lt;li&gt;CO₂ impact, efficiency scores and energy-saving tips for each device&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Valentinetemi" rel="noopener noreferrer"&gt;
        Valentinetemi
      &lt;/a&gt; / &lt;a href="https://github.com/Valentinetemi/EcoScan" rel="noopener noreferrer"&gt;
        EcoScan
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;⚡ EcoScan— See Which Device is Drinking Your Money&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;Point your camera at any appliance. Pinch your fingers. Know instantly what it costs you and the planet.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🌍 The Story Behind This&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Last month, my dad got our electricity bill and just stared at it.&lt;/p&gt;
&lt;p&gt;He couldn't understand why it was so high. He had no idea which device was the problem. Was it the iron my mum uses every morning? The old fridge that runs all night? The TV nobody turns off?&lt;/p&gt;
&lt;p&gt;He just paid it. Like he always does. Because there was no easy way to find out.&lt;/p&gt;
&lt;p&gt;That moment stayed with me.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Millions of families across Nigeria, India, Ghana, Kenya, across the entire world pay electricity bills they don't understand.&lt;/strong&gt; Not because they're careless. But because nobody ever made it simple enough to see where the money is actually going.&lt;/p&gt;
&lt;p&gt;So I built EcoScan for Earth Day.&lt;/p&gt;…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Valentinetemi/EcoScan" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;





&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Gesture Engine — MediaPipe in the Browser
&lt;/h3&gt;

&lt;p&gt;The pinch detection runs entirely in the browser using &lt;strong&gt;MediaPipe HandLandmarker&lt;/strong&gt; via WebAssembly. No backend needed for hand tracking.&lt;/p&gt;

&lt;p&gt;Every frame, it calculates the Euclidean distance between Landmark 4 (thumb tip) and Landmark 8 (index finger tip). When the distance drops below 0.055 in normalized space, that's a pinch. It triggers once, captures the frame, and sends it to Gemini.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;dx&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;points&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;points&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;dy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;points&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;points&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;dz&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;points&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;z&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;points&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;z&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;dist&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sqrt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;dx&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;dx&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;dy&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;dy&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;dz&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;dz&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;pinching&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;dist&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mf"&gt;0.055&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A cooldown ref prevents double-triggering during the async Gemini call.&lt;/p&gt;

&lt;h3&gt;
  
  
  The AI Brain -  Gemini 2.0 Flash Latest
&lt;/h3&gt;

&lt;p&gt;When a pinch is detected, the current video frame is captured as a base64 JPEG and sent to a Next.js API route, which calls &lt;strong&gt;Gemini 2.0 Flash Latest&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The prompt instructs Gemini to return structured JSON:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"appliance"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Electric Iron"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"category"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"laundry"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"wattageMin"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"wattageMax"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2400&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"dailyHours"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"efficiencyScore"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"co2PerYear"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;47&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"costPerYear"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"habitChange"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Iron clothes in batches instead of one item at a time"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"alternative"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Steam generator iron with auto shut-off"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"funFact"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"An iron left on for 1 hour uses the same energy as charging your phone 50 times"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The API key never touches the browser, all Gemini calls go through Next.js API routes server-side.&lt;/p&gt;

&lt;h3&gt;
  
  
  Local Electricity Pricing - 20 Countries
&lt;/h3&gt;

&lt;p&gt;The biggest insight: annual cost numbers mean nothing to most people. Monthly cost does.&lt;/p&gt;

&lt;p&gt;EcoScan supports 20 countries with real electricity rates, from Nigeria to Germany. Users select their country from a dropdown and all costs recalculate instantly in their local currency.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Live Dashboard
&lt;/h3&gt;

&lt;p&gt;As devices are scanned, a live dashboard builds up using &lt;strong&gt;Recharts&lt;/strong&gt;  wattage by device, CO₂ impact, monthly cost, eco grade, trees needed to offset, and equivalent flights per year. Everything is stored in localStorage so it persists between sessions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Next.js 14&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Framework + server-side API routes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Google Gemini 2.0 Flash Latest&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Vision AI — appliance identification&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MediaPipe HandLandmarker&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Pinch gesture detection (WebAssembly)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Framer Motion&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Animations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Recharts&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Live dashboard charts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Best use of Google Gemini&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Gemini 2.0 Flash Latest is the entire brain of EcoScan. Without it, the app is just a camera. With it, a single pinch gesture turns any appliance into a complete energy audit  wattage, CO₂, cost, efficiency score, habit tips and eco alternatives, all adapted to the user's country and local electricity rate.&lt;/p&gt;

&lt;p&gt;The prompt is carefully engineered to always return clean structured JSON so the UI can render results instantly. Gemini makes something that would normally require a database of thousands of appliances work with zero setup, it just knows.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;My dad still doesn't know which appliance was draining our electricity bill.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Now he can find out in seconds.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;That's why I built EcoScan.&lt;/em&gt; 🌍&lt;/p&gt;

&lt;p&gt;By @temiloluwavalentine_&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>earthday</category>
      <category>gemini</category>
    </item>
    <item>
      <title>Predict House Prices with Python: A Beginner’s Machine Learning Guide</title>
      <dc:creator>Temiloluwa Valentine</dc:creator>
      <pubDate>Wed, 04 Mar 2026 01:34:30 +0000</pubDate>
      <link>https://dev.to/temiloluwavalentine/predict-house-prices-with-python-a-beginners-machine-learning-guide-k6p</link>
      <guid>https://dev.to/temiloluwavalentine/predict-house-prices-with-python-a-beginners-machine-learning-guide-k6p</guid>
      <description>&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.amazonaws.com%2Fuploads%2Farticles%2F0tvuk2jl9u0i8p16qx62.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.amazonaws.com%2Fuploads%2Farticles%2F0tvuk2jl9u0i8p16qx62.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
In the last article, “Getting Started with AI,” we covered the fundamentals—what machine learning is, the types of problems it solves, and the tools you need.&lt;/p&gt;

&lt;p&gt;Theory is important. But it only matters when you build something real.&lt;/p&gt;

&lt;p&gt;So let’s build.&lt;/p&gt;

&lt;p&gt;In this article, you’ll learn how to predict house prices using machine learning.&lt;/p&gt;

&lt;p&gt;Not a toy example. A real regression problem that real estate companies, investors, and data scientists solve every day.&lt;/p&gt;

&lt;p&gt;You’ll understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to structure data for a model&lt;/li&gt;
&lt;li&gt;How to train a machine learning system&lt;/li&gt;
&lt;li&gt;How to test if it actually works&lt;/li&gt;
&lt;li&gt;How to make predictions on new data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By the end, you’ll have built your first machine learning model. And more importantly, you’ll understand the process, because this same process works for predicting stock prices, weather, customer churn, or anything else.&lt;/p&gt;

&lt;p&gt;Let’s go.&lt;/p&gt;

&lt;p&gt;Step 1: Get Your Data&lt;/p&gt;

&lt;p&gt;Machine learning starts with data. You need examples to learn from.&lt;/p&gt;

&lt;p&gt;For this project, we’re using the Housing Prices dataset from Kaggle, which is a free dataset with real house data: size, number of bedrooms, bathrooms, parking, e.t.c and most importantly, the price.&lt;/p&gt;

&lt;p&gt;This is your training material. The model will learn the relationship between house features (size, bedrooms) and price.&lt;/p&gt;

&lt;p&gt;How to get the data:&lt;/p&gt;

&lt;p&gt;Go to Kaggle&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Search “Housing Prices Dataset” or just click this link (&lt;a href="https://www.kaggle.com/datasets/yasserh/housing-prices-dataset" rel="noopener noreferrer"&gt;https://www.kaggle.com/datasets/yasserh/housing-prices-dataset&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Download the CSV file&lt;/li&gt;
&lt;li&gt;Upload to Google Colab&lt;/li&gt;
&lt;/ol&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.amazonaws.com%2Fuploads%2Farticles%2Ft2e1wcwgk2qzhzag4aaf.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.amazonaws.com%2Fuploads%2Farticles%2Ft2e1wcwgk2qzhzag4aaf.png" alt=" " width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Load the data:&lt;/p&gt;

&lt;p&gt;import pandas as pd&lt;/p&gt;

&lt;h1&gt;
  
  
  Load the dataset
&lt;/h1&gt;

&lt;p&gt;df = pd.read_csv(f"{path}/Housing.csv ")&lt;br&gt;
print(df)&lt;/p&gt;

&lt;h1&gt;
  
  
  Look at the first few rows
&lt;/h1&gt;

&lt;p&gt;print(df.head())&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.amazonaws.com%2Fuploads%2Farticles%2Fe0vt5g7bqte0eql2yuy2.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.amazonaws.com%2Fuploads%2Farticles%2Fe0vt5g7bqte0eql2yuy2.png" alt=" " width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You now have your data loaded. Next step: prepare it for the model.&lt;/p&gt;

&lt;p&gt;Step 2: Prepare Your Data&lt;/p&gt;

&lt;p&gt;Raw data isn’t ready for machine learning. You need to organize it.&lt;/p&gt;

&lt;p&gt;Your dataset has features (inputs) and a target (output). Features are what you know: size, bedrooms, bathrooms, e.t.c. Target is what you want to predict: price.&lt;/p&gt;

&lt;p&gt;The model learns the relationship between features and target. So you need to separate them.&lt;/p&gt;

&lt;p&gt;Separate features and target:&lt;/p&gt;

&lt;h1&gt;
  
  
  Target (what we want to predict)
&lt;/h1&gt;

&lt;p&gt;y = df['price']&lt;/p&gt;

&lt;h1&gt;
  
  
  Features (drop price column)
&lt;/h1&gt;

&lt;p&gt;X = df.drop('price', axis=1)&lt;/p&gt;

&lt;p&gt;Convert yes/no columns to 1/0&lt;br&gt;
This is to convert the text to numbers because machine learning only understands numbers, not text, so we convert the "yes" to 1 and the "no" to 0.&lt;/p&gt;

&lt;p&gt;binary_columns = [&lt;br&gt;
 ‘mainroad’, ‘guestroom’, ‘basement’,&lt;br&gt;
 ‘hotwaterheating’, ‘airconditioning’, ‘prefarea’&lt;br&gt;
]&lt;br&gt;
for col in binary_columns:&lt;br&gt;
 X[col] = X[col].map({'yes': 1, 'no': 0})&lt;br&gt;
We will handle furnishingstatus because some are furnished, semi-furnished, and unfurnished&lt;/p&gt;

&lt;p&gt;X = pd.get_dummies(X, columns=[‘furnishingstatus’], drop_first=True)&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.amazonaws.com%2Fuploads%2Farticles%2Fd8rr2rbjl5rpr70deklk.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.amazonaws.com%2Fuploads%2Farticles%2Fd8rr2rbjl5rpr70deklk.png" alt=" " width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Split into training and testing:&lt;/p&gt;

&lt;p&gt;Here’s the critical part: you can’t test on the same data you trained on. The model will memorize the answers instead of learning.&lt;/p&gt;

&lt;p&gt;So split your data:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;80% for training (the model learns)&lt;/li&gt;
&lt;li&gt;20% for testing (we check if it actually works)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;from sklearn.model_selection import train_test_split&lt;br&gt;
X_train, X_test, y_train, y_test = train_test_split(&lt;br&gt;
    X, y, test_size=0.2, random_state=42&lt;br&gt;
)&lt;br&gt;
What random_state means:&lt;br&gt;
Scikit-learn randomly selects:&lt;br&gt;
80% of the data for training&lt;/p&gt;

&lt;p&gt;20% for testing&lt;/p&gt;

&lt;p&gt;If you don’t set random_state, the split will be different every time you run the code.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;p&gt;Your training data changes&lt;/p&gt;

&lt;p&gt;Your test data changes&lt;/p&gt;

&lt;p&gt;Your accuracy changes&lt;/p&gt;

&lt;p&gt;That’s not good for debugging or comparing models.&lt;/p&gt;

&lt;p&gt;Why this matters:&lt;/p&gt;

&lt;p&gt;Training data teaches the model. Test data proves it works on new data it’s never seen.&lt;/p&gt;

&lt;p&gt;Without this split, you’ll think your model is perfect. But it will fail when it meets real, unseen data.&lt;/p&gt;

&lt;p&gt;Now your data is ready. Time to train.&lt;/p&gt;

&lt;p&gt;Step 3: Train the Model&lt;/p&gt;

&lt;p&gt;Now comes the magic. You’re going to teach a machine to predict house prices.&lt;/p&gt;

&lt;p&gt;Create the model:&lt;/p&gt;

&lt;p&gt;from sklearn.linear_model import LinearRegression&lt;br&gt;
model = LinearRegression()&lt;br&gt;
That’s it. You’ve created an empty machine learning model. It knows nothing yet.&lt;/p&gt;

&lt;p&gt;Train it:&lt;/p&gt;

&lt;h1&gt;
  
  
  Train on your data
&lt;/h1&gt;

&lt;p&gt;model.fit(X_train, y_train)&lt;br&gt;
This is where learning happens. The model analyzes your training data to identify the mathematical relationship between features (size, bedrooms, e.t.c) and price.&lt;/p&gt;

&lt;p&gt;It’s asking, "What pattern connects these house features to their prices?”&lt;/p&gt;

&lt;p&gt;What’s happening behind the scenes:&lt;/p&gt;

&lt;p&gt;The model is drawing a line (or curve) through your data. It’s trying to find the best line that fits all the houses, where features predict price most accurately.&lt;/p&gt;

&lt;p&gt;This process is called “fitting” or “training.”&lt;/p&gt;

&lt;p&gt;In a few seconds, your model learned from hundreds of house examples. That’s machine learning.&lt;/p&gt;

&lt;p&gt;Step 4: Test the Model&lt;/p&gt;

&lt;p&gt;Your model is trained. But does it work?&lt;/p&gt;

&lt;p&gt;Time to test it on data it’s never seen before.&lt;/p&gt;

&lt;p&gt;Make predictions:&lt;/p&gt;

&lt;h1&gt;
  
  
  Predict on test data
&lt;/h1&gt;

&lt;p&gt;predictions = model.predict(X_test)&lt;br&gt;
print(predictions[:5])&lt;br&gt;
The model now looks at houses in the test set and predicts their prices. It’s guessing based on what it learned.&lt;/p&gt;

&lt;p&gt;Comparison&lt;br&gt;
We compare the actual price with the predicted price&lt;/p&gt;

&lt;p&gt;comparison = pd.DataFrame({&lt;br&gt;
 “Actual Price”: y_test.values[:5],&lt;br&gt;
 “Predicted Price”: predictions[:5]&lt;br&gt;
})&lt;br&gt;
print(comparison)&lt;br&gt;
Check how accurate it is:&lt;/p&gt;

&lt;p&gt;from sklearn.metrics import mean_squared_error, r2_score&lt;/p&gt;

&lt;h1&gt;
  
  
  Calculate error
&lt;/h1&gt;

&lt;p&gt;print("R²:", r2_score(y_test, predictions))&lt;br&gt;
print("MAE:", mean_absolute_error(y_test, predictions))&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.amazonaws.com%2Fuploads%2Farticles%2F1jcjuwqcfugn43ws7opo.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.amazonaws.com%2Fuploads%2Farticles%2F1jcjuwqcfugn43ws7opo.png" alt=" " width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After training and testing our linear regression model, we can see how well it predicts house prices:&lt;/p&gt;

&lt;p&gt;R² Score: 0.65&lt;/p&gt;

&lt;p&gt;Mean Absolute Error (MAE): ₦970,000&lt;/p&gt;

&lt;p&gt;What this means:&lt;/p&gt;

&lt;p&gt;R² Score (0–1): Measures how much of the variation in house prices the model can explain.&lt;/p&gt;

&lt;p&gt;0.65 means our model explains about 65% of the differences in house prices.&lt;/p&gt;

&lt;p&gt;The closer to 1, the better the model is at capturing patterns.&lt;/p&gt;

&lt;p&gt;Mean Absolute Error (MAE): Shows the average amount our predictions are off.&lt;/p&gt;

&lt;p&gt;₦970,000 means, on average, the predicted price is roughly ₦970k higher or lower than the actual price.&lt;/p&gt;

&lt;p&gt;Lower is better, but for a first beginner model, this is acceptable.&lt;/p&gt;

&lt;p&gt;Even though the model isn’t perfect, it successfully learns patterns from the data. This is exactly what beginners need to understand: how to go from raw data to predictions using machine learning.&lt;/p&gt;

&lt;p&gt;With this foundation, you can now experiment with more features, larger datasets, or advanced models in the future.&lt;/p&gt;

&lt;p&gt;Conclusion: You’re Now a Machine Learning Engineer&lt;/p&gt;

&lt;p&gt;You just built a real machine learning system.&lt;/p&gt;

&lt;p&gt;Not in theory. In practice. With code. With data. With real predictions.&lt;/p&gt;

&lt;p&gt;What you learned:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Data is everything—garbage in, garbage out&lt;/li&gt;
&lt;li&gt;Splitting data prevents lying to yourself&lt;/li&gt;
&lt;li&gt;Training finds patterns automatically&lt;/li&gt;
&lt;li&gt;Testing proves it actually works&lt;/li&gt;
&lt;li&gt;Predictions are just applying what you learned&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why this matters:&lt;/p&gt;

&lt;p&gt;This exact process solves real problems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Predicting stock prices&lt;/li&gt;
&lt;li&gt;Detecting diseases in medical images&lt;/li&gt;
&lt;li&gt;Recommending products&lt;/li&gt;
&lt;li&gt;Forecasting demand&lt;/li&gt;
&lt;li&gt;Detecting fraud&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every machine learning project follows this same pipeline. Master it, and you can build anything.&lt;/p&gt;

&lt;p&gt;What’s next:&lt;/p&gt;

&lt;p&gt;Now that you understand the process, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Try different algorithms (Random Forest, SVM, Neural Networks)&lt;/li&gt;
&lt;li&gt;Use bigger datasets&lt;/li&gt;
&lt;li&gt;Add more features&lt;/li&gt;
&lt;li&gt;Build on real problems in your own life&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The tools are free. The knowledge is available. The only limit is how much you’re willing to build.&lt;/p&gt;

&lt;p&gt;Keep building.&lt;/p&gt;

&lt;p&gt;Use this process on a problem you care about.&lt;/p&gt;

&lt;p&gt;That’s where real learning happens.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Temiloluwa Valentine&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  AI #MachineLearning #BuildingInPublic
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>machinelearning</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Getting Started with AI: A Practical Guide for Everyone</title>
      <dc:creator>Temiloluwa Valentine</dc:creator>
      <pubDate>Fri, 27 Feb 2026 12:58:25 +0000</pubDate>
      <link>https://dev.to/temiloluwavalentine/getting-started-with-ai-a-practical-guide-for-everyone-39jd</link>
      <guid>https://dev.to/temiloluwavalentine/getting-started-with-ai-a-practical-guide-for-everyone-39jd</guid>
      <description>&lt;p&gt;You've heard the word &lt;strong&gt;AI&lt;/strong&gt; everywhere. ChatGPT, image generators, and recommendation systems on Netflix.&lt;/p&gt;

&lt;p&gt;But here's what you're probably thinking: "AI is complicated. I'm not smart enough for this. I need a PhD in mathematics."&lt;/p&gt;

&lt;p&gt;That's not true.&lt;/p&gt;

&lt;p&gt;AI sounds mysterious because people make it sound mysterious. But underneath all the hype, it's just:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data (examples)&lt;/li&gt;
&lt;li&gt;Math (finding patterns)&lt;/li&gt;
&lt;li&gt;Code (making it work)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you can learn to code, you can learn AI.&lt;/p&gt;

&lt;p&gt;This guide breaks down what AI actually is, how it works, and how you can start building it, whether you're a CS student, a curious developer, or someone completely new to programming.&lt;/p&gt;

&lt;p&gt;No PhD required. Just curiosity and willingness to learn.&lt;/p&gt;

&lt;p&gt;Let's go.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Is AI, Actually?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You hear three words thrown around: &lt;strong&gt;AI, Machine Learning, Deep Learning.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;People use them interchangeably. But they're not the same thing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI (Artificial Intelligence)&lt;/strong&gt; = The big umbrella.&lt;br&gt;
Any system that can perform tasks that normally require human intelligence.&lt;br&gt;
Example: A chess program, a chatbot, a recommendation system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Machine Learning&lt;/strong&gt; = a subset of AI.&lt;br&gt;
Instead of you telling the computer exactly what to do, you show it examples and let it figure out the pattern.&lt;br&gt;
Example: Show the system 1000 photos of cats and dogs. It learns to tell them apart without you writing specific rules.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deep Learning&lt;/strong&gt; = A subset of Machine Learning.&lt;br&gt;
Uses neural networks (inspired by how brains work) to find complex patterns.&lt;br&gt;
Example: ChatGPT, image generators, self-driving cars.&lt;/p&gt;

&lt;p&gt;Think of it like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI is the whole pizza&lt;/li&gt;
&lt;li&gt;Machine Learning is a slice&lt;/li&gt;
&lt;li&gt;Deep Learning is a bit of that slice&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why does this matter?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because you don't need deep learning to start. Most real-world problems are solved with machine learning.&lt;/p&gt;

&lt;p&gt;You can predict house prices, classify emails as spam, and recommend products, all with machine learning, not deep learning.&lt;/p&gt;

&lt;p&gt;Start simple. Go deep only when you need to.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Types of Machine Learning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Machine learning breaks down into three main types. Understanding the difference is crucial because it changes how you approach problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Supervised Learning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You have data with answers.&lt;/p&gt;

&lt;p&gt;The computer learns from examples where you've already labeled the correct answer. It's like learning with a teacher who shows you the right answer after each question.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Email spam detection: "This email is spam" (labeled)&lt;/li&gt;
&lt;li&gt;House price prediction: "This house costs ₦50 million" (labeled)&lt;/li&gt;
&lt;li&gt;Image recognition: "This is a cat" (labeled)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;How it works:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You give the system labeled examples&lt;/li&gt;
&lt;li&gt;It finds patterns between the input and the label&lt;/li&gt;
&lt;li&gt;When new data comes, it predicts the label&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Most real-world problems use supervised learning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Unsupervised Learning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You have data with no answers.&lt;/p&gt;

&lt;p&gt;The computer finds patterns on its own. No teacher. No labels. Just raw data.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customer segmentation: Group customers by behavior (they don't know the groups beforehand)&lt;/li&gt;
&lt;li&gt;Recommendation systems: Find users with similar tastes&lt;/li&gt;
&lt;li&gt;Clustering documents: Group similar articles together&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;How it works:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You give the system unlabeled data&lt;/li&gt;
&lt;li&gt;It finds hidden patterns&lt;/li&gt;
&lt;li&gt;You discover insights you didn't know existed&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;3. Reinforcement Learning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The computer learns by doing and getting feedback.&lt;/p&gt;

&lt;p&gt;Like training a dog: good behavior = reward. Bad behavior = no reward.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Self-driving cars learning to navigate&lt;/li&gt;
&lt;li&gt;Game AI learning to win&lt;/li&gt;
&lt;li&gt;Robots learning to walk&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;How it works:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The agent (AI) takes an action&lt;/li&gt;
&lt;li&gt;It gets feedback (reward or penalty)&lt;/li&gt;
&lt;li&gt;It learns to maximize rewards&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Which one do you need?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Start with supervised learning. 90% of real problems can be solved this way.&lt;/p&gt;

&lt;p&gt;Most beginners should focus here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your Tools: Languages and Libraries&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Okay, so you understand the theory. Now what do you actually use to build AI?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Language: Python&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Python dominates AI for one reason: it's simple.&lt;/p&gt;

&lt;p&gt;You can focus on AI concepts, not syntax. Other languages (Java, C++) require more boilerplate code.&lt;/p&gt;

&lt;p&gt;If you don't know Python yet, learn it first. It's easy and widely used in the AI community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Libraries: What You Need&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Think of libraries as toolkits. Each one solves different problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scikit-learn&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Best for: Beginners, traditional machine learning&lt;/li&gt;
&lt;li&gt;What it does: Classification, regression, clustering&lt;/li&gt;
&lt;li&gt;When to use: Predicting prices, spam detection, customer segmentation&lt;/li&gt;
&lt;li&gt;Difficulty: Easiest&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;TensorFlow&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Best for: Deep learning, production systems&lt;/li&gt;
&lt;li&gt;What it does: Neural networks, large-scale models&lt;/li&gt;
&lt;li&gt;When to use: Image recognition, NLP, complex problems&lt;/li&gt;
&lt;li&gt;Difficulty: Medium-Hard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;PyTorch&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Best for: Research, rapid prototyping&lt;/li&gt;
&lt;li&gt;What it does: Neural networks, flexible design&lt;/li&gt;
&lt;li&gt;When to use: Building custom models, research projects&lt;/li&gt;
&lt;li&gt;Difficulty: Medium&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Honest Truth:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Start with scikit-learn. It's simple, powerful, and teaches you ML fundamentals without the complexity.&lt;/p&gt;

&lt;p&gt;Once you understand how machine learning actually works, move to TensorFlow or PyTorch.&lt;/p&gt;

&lt;p&gt;Don't jump to deep learning frameworks as a beginner. You'll get lost in the complexity and miss the fundamentals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where to Code:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Google Colab&lt;/strong&gt; (free): Write Python in your browser, no installation needed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Jupyter Notebooks&lt;/strong&gt; (free): Write code locally with explanations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VS Code&lt;/strong&gt; (free): Full IDE if you want to get serious&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Start with Google Colab. Seriously. No setup, just write code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your First Steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Learn Python basics (loops, functions, data structures)&lt;/li&gt;
&lt;li&gt;Learn pandas (data manipulation)&lt;/li&gt;
&lt;li&gt;Learn scikit-learn (machine learning)&lt;/li&gt;
&lt;li&gt;Build a project&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's it. Don't skip steps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You Now Know:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What AI, Machine Learning, and Deep Learning are&lt;/li&gt;
&lt;li&gt;The three types of machine learning&lt;/li&gt;
&lt;li&gt;The tools you need to get started&lt;/li&gt;
&lt;li&gt;Where to write your first code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Next step? Build something.&lt;/p&gt;

&lt;p&gt;In the next article, we'll walk through a real project - predicting house prices - and you'll see how all this theory actually works in practice.&lt;/p&gt;

&lt;p&gt;See you there.&lt;/p&gt;

&lt;p&gt;— Temiloluwa Valentine&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>machinelearning</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
