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 security management

Blog banner

World’s rarest passport owned by 500 people.

Blog banner

"The Benefits of Using GIS in Agriculture"

Blog banner

Uniprocessor Scheduling

Blog banner

Zero-Click Searches: How To Stay Visible In Google’s New Era

Blog banner

What is Spyware? and examples of them.

Blog banner

What is Data, Information and Knowledge?

Blog banner

A small world of Sockets

Blog banner

Consumer to consumer business mode

Blog banner

MEMORY HIERARCHY

Blog banner

Social media

Blog banner

MPL and how its effects?

Blog banner

Modern operating system

Blog banner

Memory Management

Blog banner

USPS mail

Blog banner

Power of words

Blog banner

THE ROLE OF CYBER FORENSICS IN CRIMINOLOGY

Blog banner

Soak knowledge and level up your intellectual potential!!!

Blog banner

Business Intelligence v/s Big Data

Blog banner

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

Blog banner

Memory Management - operating system

Blog banner

The Joy of Giving: How Festivals Teach Children Empathy and Gratitude

Blog banner

DNS Cache

Blog banner

Data Security must be your Priority!

Blog banner

Cyber Forensics in Healthcare: Protecting Patient Data and Preventing Breaches

Blog banner

Digital marketing spotlight “Dove’s Real Beauty Campaign”

Blog banner

R Programming

Blog banner

"Games and the future"

Blog banner

Unlocking Success: Mastering Google Ads Strategies

Blog banner

5 Things I As A Dentist Would Never Do (And What You Can Learn From It)

Blog banner

Why Inconel 625 and Monel 400 Remain Unbeatable in Refinery Applications?

Blog banner

New Ransomware Encrypts Your Android And Then Changes PIN Lock

Blog banner

'C', 'C++' and 'Java': Head-to-Head

Blog banner

Modern Operating System - Suren Kotian

Blog banner

Introduction my self

Blog banner

Data Structures

Blog banner

Multiprocessor scheduling

Blog banner

virtual machine

Blog banner

KEAP MANAGEMENT SYSTEM

Blog banner

Cache memory

Blog banner

Virtual Machine's

Blog banner

Microsoft powerpoint presentation

Blog banner