Skip to main content

ML trial 2

Building Your First Machine Learning Model

Topic: Predicting Student Exam Scores Using Machine Learning


Target Audience

Complete beginners who are new to machine learning and Python-based model building.

Duration

60 minutes

Main Objective

Students will understand the basic idea of machine learning and build a simple model that predicts student exam scores based on study hours.

Learning Objectives

  • Explain machine learning in simple words.
  • Understand the difference between input data and output data.
  • Describe the basic steps used to build a machine learning model.
  • Use a small dataset to train a simple prediction model.
  • Run beginner-friendly Python code using scikit-learn.
  • Understand how a model makes predictions.
  • Identify common mistakes beginners should avoid.

60-Minute Lesson Flow

Time Section Teacher Activity Student Activity
0-5 minutes Welcome and Introduction Introduce the topic and explain that students will build their first machine learning model using a simple example. Listen and share any simple idea they have about what machine learning means.
5-12 minutes What Is Machine Learning? Explain machine learning as a way for computers to learn patterns from data instead of being given every rule manually. Ask questions and give examples of predictions they have seen.
12-20 minutes Real-Life Example Explain the example of predicting student exam scores based on study hours. Discuss whether studying more hours usually affects exam scores.
20-28 minutes Understanding the Dataset Show a small dataset with two columns: Hours and Score. Identify which column is the input and which column is the output.
28-38 minutes Steps to Build a Model Walk through the process: collect data, prepare data, split data, choose model, train model, predict, and evaluate. Follow the workflow and repeat it in simple words.
38-50 minutes Python Code Walkthrough Show the Python code using pandas and scikit-learn. Read the code and ask questions about confusing lines.
50-55 minutes Common Beginner Mistakes Explain common mistakes such as using too little data and expecting perfect predictions. Note down at least two mistakes to avoid.
55-60 minutes Quiz and Summary Ask a short quiz and summarize the lesson. Answer the quiz and share one learning.

What Is Machine Learning?

Machine learning is a way of teaching computers to learn from examples. Instead of writing every rule by hand, we give the computer data. The computer studies the data, finds patterns, and uses those patterns to make predictions.

Real-Life Example

If we have data about how many hours students studied and what scores they received, a machine learning model can learn the pattern between study hours and exam scores. Then it can predict the likely score for a new student.

Simple Analogy

Machine learning is like teaching a child by showing examples. If a child sees many examples of fruits and their names, the child slowly learns to identify fruits. In the same way, a machine learning model learns from examples in data.

Project: Predicting Student Exam Scores

Problem Statement

Build a simple machine learning model that predicts a student's exam score based on the number of hours the student studied.

Dataset Description

The dataset contains two columns:

  • Hours: How many hours a student studied.
  • Score: The student's exam score.

Input Feature

Hours studied

Target Output

Exam score

Model Type

Linear Regression

Why This Project Is Good for Beginners

This project is good for beginners because it uses a small and simple dataset, has only one input feature, predicts a number, and is easy to understand in real life.

Steps to Build the Model

  1. Collect the Data: Start with example data. In this project, the data contains study hours and exam scores.
  2. Understand the Data: Look at the columns and understand what each one means. Hours is the input, and Score is the output we want to predict.
  3. Separate Input and Output: Separate the data into X and y. X contains the input feature, and y contains the target output.
  4. Split the Data: Divide the data into training data and testing data. The model learns from the training data and is checked using the testing data.
  5. Choose a Model: Choose a simple model called Linear Regression. It is useful when we want to predict a number.
  6. Train the Model: Training means the model studies the data and learns the relationship between study hours and exam scores.
  7. Make Predictions: After training, use the model to predict exam scores for new study-hour values.
  8. Evaluate the Model: Compare the predicted scores with actual scores to see how close the model's predictions are.

Python Code Using scikit-learn

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error

# Create a simple dataset
data = {
    "Hours": [1, 2, 3, 4, 5, 6, 7, 8, 9],
    "Score": [35, 40, 50, 60, 70, 75, 85, 90, 95]
}

# Convert the data into a table
df = pd.DataFrame(data)

# Separate input and output
X = df[["Hours"]]
y = df["Score"]

# Split the data into training and testing parts
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

# Create the model
model = LinearRegression()

# Train the model
model.fit(X_train, y_train)

# Make predictions on test data
y_pred = model.predict(X_test)

# Compare actual and predicted scores
results = pd.DataFrame({
    "Actual Score": y_test,
    "Predicted Score": y_pred
})

print(results)

# Check the average prediction error
error = mean_absolute_error(y_test, y_pred)
print("Mean Absolute Error:", error)

# Predict the score for a new student
new_hours = [[6.5]]
predicted_score = model.predict(new_hours)

print("Predicted score for 6.5 hours of study:", predicted_score[0])

Code Explanation

  • import pandas as pd: Imports pandas, which helps us work with data in table form.
  • train_test_split: Helps divide the data into training data and testing data.
  • LinearRegression: Imports the model used to predict a number.
  • mean_absolute_error: Measures how far the predictions are from the actual answers.
  • data: Creates a small dataset with study hours and exam scores.
  • df = pd.DataFrame(data): Converts the data into a table.
  • X = df[["Hours"]]: Selects the input feature.
  • y = df["Score"]: Selects the target output.
  • model.fit(X_train, y_train): Trains the model.
  • model.predict(X_test): Makes predictions using the trained model.
  • model.predict([[6.5]]): Predicts the score for a student who studied for 6.5 hours.

Common Mistakes Beginners Make

  • Thinking machine learning predictions are always perfect.
  • Using very little data and expecting strong results.
  • Testing the model on the same data used to train it.
  • Not checking whether the data has mistakes.
  • Thinking one input feature can explain everything.
  • Copying code without understanding the basic workflow.
  • Forgetting that real-life results can depend on many other factors.

Short Quiz with Answers

Question 1

What is machine learning?

  • A way to manually write every rule
  • A way for computers to learn patterns from data
  • A type of keyboard
  • A replacement for all human thinking

Answer: A way for computers to learn patterns from data.

Question 2

In this project, what is the input feature?

  • Student name
  • Hours studied
  • Exam score
  • School name

Answer: Hours studied.

Question 3

In this project, what is the target output?

  • Hours studied
  • Exam score
  • Python library
  • Model name

Answer: Exam score.

Question 4

Why do we split data into training and testing parts?

  • To make the code longer
  • To check how the model works on data it has not learned from
  • To delete half the data
  • To avoid using Python

Answer: To check how the model works on data it has not learned from.

Question 5

Which model is used in this lesson?

  • Linear Regression
  • Image Classifier
  • Chatbot
  • Translation Model

Answer: Linear Regression.

Question 6

What does model.fit() do?

  • Trains the model
  • Deletes the data
  • Prints the final answer only
  • Changes the computer settings

Answer: Trains the model.

Question 7

What does model.predict() do?

  • Creates a new dataset
  • Trains the model again
  • Makes predictions using the trained model
  • Removes errors from the data

Answer: Makes predictions using the trained model.

Final Summary

In this lesson, students learned that machine learning means learning patterns from data. They used a simple student exam score example, understood input and output data, trained a Linear Regression model, made predictions, and checked the model's error. The main idea is to start simple, understand the workflow, and practice step by step.

Homework Task

Create a small dataset with at least 10 students. Include hours studied and exam scores. Run the same Python code, change the value of new_hours, and see what score the model predicts.

Comments

Popular posts from this blog

ML class trial

  1. Simple Title Building Your First Machine Learning Model Example project: Predicting student exam scores using study hours 2. Learning Objectives By the end of this 60-minute class, students will be able to: Explain machine learning in simple words. Understand how data is used to train a model. Describe a basic machine learning workflow. Build a simple prediction model using Python and scikit-learn. Test the model and understand its prediction. Identify common beginner mistakes in machine learning. 3. 60-Minute Lesson Flow Time Activity 0–5 min Welcome and topic introduction 5–12 min What is machine learning? 12–20 min Real-life example: predicting student exam scores 20–28 min Understanding the dataset 28–40 min Step-by-step model-building process 40–52 min Python code walkthrough using scikit-learn 52–57 min Common beginner mistakes 57–60 min Quiz and final summary 4. Simple Explanation: What Is Machine Learning? Machine learning is a way of teaching computers to learn from ...