wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

"Can Lisp do Machine Learning?"

profile
Abhinav Kumar
Jul 16, 2025
0 Likes
0 Discussions
0 Reads

Linear Regression is the simplest form of predictive modeling. It assumes a straight-line relationship between two variables. For example:

More study hours → Higher exam scores

This relationship can be modeled as

y=mx+c


Where:

m: Slope (how fast y changes when x changes)

c: Intercept (the starting point of the line)

Given some data, Linear Regression helps us find m and c automatically.


1)

First, we need to calculate the average of a list of numbers.

(defun mean (lst)

(/ (reduce #'+ lst) (length lst)))


2)

Variance measures how spread out a list of numbers is.

(defun variance (lst)

(let ((m (mean lst)))

(mean (mapcar (lambda (x) (expt (- x m) 2)) lst))))


3)

Covariance tells us how two variables change together.

(defun covariance (x y)

(let* ((mean-x (mean x))

(mean-y (mean y))

(n (length x))

(sum 0))

(dotimes (i n)

(incf sum (* (- (nth i x) mean-x)

(- (nth i y) mean-y))))

(/ sum n)))


4)

This is where we calculate our model’s intercept and slope (our c and c).

(defun linear-regression-coeffs (x y)

(let ((b1 (/ (covariance x y) (variance x))))

(let ((b0 (- (mean y) (* b1 (mean x)))))

(list b0 b1))))


5)

Finally, given x, this function predicts y using our model.

(defun predict (model x)

(+ (first model) (* (second model) x)))



6)

(defparameter *hours* '(1 2 3 4 5 6))

(defparameter *scores* '(50 55 65 70 75 85))


(defparameter *model* (linear-regression-coeffs *hours* *scores*))


(format t "Intercept: ~f, Slope: ~f~%" (first *model*) (second *model*))

(format t "Prediction for 7 hours: ~f~%" (predict *model* 7))


7) Output

Intercept: 42.666668, Slope: 6.857143

Prediction for 7 hours: 90.666668


Intercept: 42.66 → Predicted score if study hours were zero.

Slope: 6.85 → Each extra hour of study increases the score by ~6.85 points.

Prediction for 7 hours: Expected score ~90.66


Comments ()


Sign in

Read Next

Dove’s Real Beauty Campaign- Case Study

Blog banner

Data Mining

Blog banner

Which Smartphone Company Has the Largest Market Share in India?

Blog banner

How To Setup DVWA Using XAMPP on Windows

Blog banner

You'll get to know about Pankaj Negi

Blog banner

Deming’s Process

Blog banner

OS Assignment 1

Blog banner

Ethical Issues in Data Science and Role of Data Science in Smart Cities

Blog banner

computer security

Blog banner

Wedding photographer

Blog banner

Security issues

Blog banner

Starvation

Blog banner

Threads

Blog banner

Points to consider if you're planning to visit Florida in 2026

Blog banner

What is semaphore in operating system?

Blog banner

Mumbai

Blog banner

Google classroom

Blog banner

Demystifying Cryptography: A Beginner's Guide

Blog banner

CSI and Organizational Change

Blog banner

Memory Management

Blog banner

Sagar Parikrama

Blog banner

HUBSPOT

Blog banner

Deadlock and Starvation

Blog banner

Esri India launches Policy Maps.

Blog banner

Working with Sniffers for monitoring network communication

Blog banner

GraphQL

Blog banner

Importance Of Blockchain

Blog banner

Types of Threads

Blog banner

BUSINESS MODELS OF E COMMERCE

Blog banner

Article on Fresh Book

Blog banner

How social media affect

Blog banner

Blog on health and fitness

Blog banner

DEVELOPMENTS LEADING TO MODERN OPERATING SYSTEMS

Blog banner

SQL Injection Techniques

Blog banner

Functions of Operating System

Blog banner

Memory heirachy (Operating system)

Blog banner

Cache Memory

Blog banner

Concurrency management in operating systems

Blog banner

Service stratergy principles

Blog banner

The Benefits of Mixed Learning Activities for Preschoolers

Blog banner

Software

Blog banner

Tiranga - Abbas Haveliwala

Blog banner