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

Stephen Hawking : A Remarkable Physicist

Blog banner

MODERN OPERATING SYSTEM

Blog banner

MEMORY MANAGEMENT REQUIREMENT

Blog banner

Threat management

Blog banner

Facebook Shut Down an AI Program!!! Facebook AI bots became Terminators???

Blog banner

WHAT IS SNAPCHAT AND HOW DOES IT WORK?

Blog banner

Software

Blog banner

Google classroom

Blog banner

Deadlock in Operating System

Blog banner

What is Brute Force Attack? How to defend against it?

Blog banner

MEMORY FORENSIC ACQUISITION AND ANALYSISOF MEMORY AND ITS TOOLS COMPARISON

Blog banner

GIS

Blog banner

Binary Search Tree (BST) in Data Structure

Blog banner

Proof-of-Stake (PoS)

Blog banner

File Management In OS

Blog banner

Data Science in Healthcare: Predicting Diseases

Blog banner

Short note on Microsoft office

Blog banner

Defining youtubr

Blog banner

Skills An Ethical Hacker Must Have

Blog banner

WINDOWS I/ O

Blog banner

Operation system

Blog banner

Swiggi

Blog banner

Career v/s Job : Choose your passion

Blog banner

Current Trends in GIS and Remote Sensing(Ocean Applications)

Blog banner

Process Creation

Blog banner

Save Girl Child

Blog banner

Objectives and functions of Operating System...

Blog banner

"The Benefits of Using GIS in Agriculture"

Blog banner

Bharat Maps

Blog banner

Multiprocessor

Blog banner

semaphores

Blog banner

Understanding Univariate, Bivariate, and Multivariate Analysis in Data Science

Blog banner

Protect yourself from System Hacking with these Simple Steps

Blog banner

ROLE OF THE COMPUTER FORENSICS TOOLS AND TECHNIQUES

Blog banner

BEAUTY IS IN THE EYE OF THE BEHOLDER

Blog banner

Threads Concurrency: Mutual Exclusion and Synchronization

Blog banner

SESSION HIJACKING

Blog banner

Race Condition in Operating Theatre

Blog banner

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

Blog banner

Memory managment

Blog banner

Modern operating system

Blog banner

operating system

Blog banner