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

Deadlocks in Operating Systems

Blog banner

CYBER SECURITY CHALLENGES

Blog banner

Smartsheet

Blog banner

MODERN OPERATING SYSTEM

Blog banner

38_Exploring The Honeynet Project

Blog banner

Wrike

Blog banner

Deadlock

Blog banner

Puri Jagannath temple

Blog banner

File Management In OS

Blog banner

The War With Cold On Earth

Blog banner

Scheduling

Blog banner

Compromising Mobile Platforms

Blog banner

File Allocation Methods

Blog banner

Kernel Modes: User Mode vs. Kernel Mode - 80

Blog banner

How to Encrypt and Decrypt Using GNU PGP

Blog banner

Self managing devices

Blog banner

Simple STEM Activities for Toddlers That Spark Curiosity

Blog banner

POVERTY:Causes and solutions to problems

Blog banner

Virtual Machine

Blog banner

operating system

Blog banner

Why Users Leave Your Website in 5 Seconds (And How UI/UX Fixes It)

Blog banner

Top 5 Benefits of Artificial Intelligence

Blog banner

GEOLOGY AND GEO-TECTONIC FRAME WORK OF WESTERN BASTAR CRATON

Blog banner

BIRYANI ! The history you never knew about

Blog banner

OS- Assignnment 1

Blog banner

FAMILY WHERE LIFE BEGINS....

Blog banner

The New Rules of UI/UX Design Every Website Must Follow in 2026

Blog banner

INTERRUPTS

Blog banner

KPMG (Klynveld Peat Marwick Goerdeler)

Blog banner

Security in Cloud Computing

Blog banner

MPL and how its effects?

Blog banner

What is OS Fingerprinting?

Blog banner

IS CONVERTING AMBITION INTO PROFESSION?

Blog banner

Functions Of Operating Systems

Blog banner

Importance of internet

Blog banner

"The Benefits of Using GIS in Agriculture"

Blog banner

MySQL

Blog banner

Digital Footprints An Emerging Dimension of Digital Inequality

Blog banner

internet email and it's applications

Blog banner

Music

Blog banner

File management -disha parekh

Blog banner

Operating System

Blog banner