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

IT GOVERNANCE

Blog banner

Evolution of the Microprocesor

Blog banner

Yahoo! mail

Blog banner

How To Setup DVWA Using XAMPP on Windows

Blog banner

Kernel in Operating System

Blog banner

The Truth Behind Viral DIY Dental Hacks

Blog banner

APACHE KAFKA

Blog banner

Rock, Paper, Scissors Game in Common Lisp

Blog banner

Soak knowledge and level up your intellectual potential!!!

Blog banner

ONLINE NEWSROOMS

Blog banner

Disk scheduling

Blog banner

RAID and It's Levels

Blog banner

What your Favorite colour says about You?

Blog banner

Worms, viruses and Bots

Blog banner

Threads

Blog banner

POVERTY:Causes and solutions to problems

Blog banner

ODOO

Blog banner

Rain

Blog banner

(Input/Output) in os

Blog banner

What if COVID does not exist!

Blog banner

How to kiss

Blog banner

MOVEMBER

Blog banner

?What Children Learn Between Activities: The Hidden Learning Moments in a Preschool Day

Blog banner

Virtual machine and virtualizing

Blog banner

Why Does Hierarchy Still matter in Organizations?

Blog banner

Asana

Blog banner

How can denial-of-service(Dos) attacks be prevented?

Blog banner

Rules and Regulations of Networking: "Standards and Protocols" - Part 1

Blog banner

Music helps reduce stress

Blog banner

MENDELEY

Blog banner

Virtual Memory

Blog banner

The New Classic: Indo Western Patola Outfits for Today’s Woman

Blog banner

Interrupts in OS

Blog banner

Proof-of-Stake (PoS)

Blog banner

Virtual machine

Blog banner

Royal enfield

Blog banner

STARVATION

Blog banner

Precision-Recall in Data Science

Blog banner

Concept and definition of m-commerce

Blog banner

Virtual Memory - Explaination, Working, Steps

Blog banner

File management in os

Blog banner

The Future of Web Development in 2026: Trends Every Business Must Know

Blog banner