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

Royal enfield

Blog banner

Computer Forensics and its Impact in Business Environment

Blog banner

10 Alien Encounters and Abduction Stories

Blog banner

Top 5 Places To Stay And Visit In Berlin, Germany

Blog banner

Service Design Model

Blog banner

Scheduling

Blog banner

What are the different types of E-mail crime and process of email forensic?

Blog banner

MY FIRST BLOG?

Blog banner

Explain Multiprocessors

Blog banner

“CONSISTENCY” in Social Media Marketing

Blog banner

The launch of UniMap by HERE

Blog banner

Biometric Authentication and Privacy: Balancing Ethical Concerns

Blog banner

Study of Backdoor and Trojan tools

Blog banner

(Input/Output) in os

Blog banner

The Art of Slow Fashion: Why Patola Defines Sustainable Luxury

Blog banner

Importance of Education

Blog banner

Studying Denial of service attack using DOSHTTP tool

Blog banner

indian premier league

Blog banner

Evolution of operating systems

Blog banner

RAID

Blog banner

IT Service Continuity Management

Blog banner

Topic: Sessions in Operating system

Blog banner

LEMON PICKLE SWEET AND MILD HOT

Blog banner

MoSCoW METHOD IN DATA SCIENCE

Blog banner

Open Source Project By Google

Blog banner

MySQL

Blog banner

An Overivew Of Cache Memory

Blog banner

GIS Mapping

Blog banner

Security in Operating Systems

Blog banner

What is time ? The term which has astonished Scientists

Blog banner

KPMG (Klynveld Peat Marwick Goerdeler)

Blog banner

Deadlock

Blog banner

Models of Information Security.

Blog banner

10 Interesting Facts about Attack on Titan

Blog banner

Spyware

Blog banner

Animal’s have my heart

Blog banner

THE INPACT OF SOCIAL MEDIA!

Blog banner

Challenges and risks in service operations

Blog banner

Internet: The Vast Ocean Of Knowledge.

Blog banner

The Right way of cooking

Blog banner

Digital black market or dark net poses a national security threat?

Blog banner

An Approach To Spyware Detection And Removal

Blog banner