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

The evolution of OS

Blog banner

Electronic Funds Transfer

Blog banner

Time Series Analysis

Blog banner

How College Events Build Real-world Skills You Can’t Learn From Textbooks

Blog banner

E-learning

Blog banner

Impact of social media on the human life

Blog banner

Social media

Blog banner

KAHAWA TEA

Blog banner

Operating system

Blog banner

Security issues

Blog banner

Chicken Dum Biryani

Blog banner

Operating system evolution

Blog banner

Number Guessing game --lisp

Blog banner

Hash password! Is it really secured?

Blog banner

Distributed Denial of Service (DDoS) attack

Blog banner

Biometric Authentication and Privacy: Balancing Ethical Concerns

Blog banner

What your Favorite colour says about You?

Blog banner

Jira Software

Blog banner

memory cache

Blog banner

OPERATING SYSTEM OBJECTIVES AND FAULT TOLERENCE.

Blog banner

Malware

Blog banner

Os assignment

Blog banner

Privacy-Enhancing Computation Techniques

Blog banner

Security issues in Sensor Networks and gathering admissible evidence in Network Forensics

Blog banner

A Happier Workplace Starts with Healthy Lunches by Meal Maharaj

Blog banner

KASHMIR TRIPS

Blog banner

Photography

Blog banner

MODERN OPERATING SYSTEM

Blog banner

Landslide Hazard

Blog banner

ACHIEVEMENTS IN OPERATING SYSTEMS

Blog banner

Tea, Coffee, Red Wine, and Teeth: A Stain Survival Guide

Blog banner

All you need to know about “On-page SEO”

Blog banner

Information Technology In E- Commerce

Blog banner

Uniprocessor scheduling

Blog banner

My favourite food

Blog banner

Rock, Paper, Scissors Game in Common Lisp

Blog banner

bulk email software

Blog banner

Memory Management

Blog banner

Service Strategy principles

Blog banner

MENDELEY

Blog banner

Service Transition Process in ITSM

Blog banner

Modern Operating System - Khush bagaria

Blog banner