Created
June 24, 2026 09:34
-
-
Save ByteJoseph/84d19432f50f1695fc5ce0d1aa1723bc to your computer and use it in GitHub Desktop.
linear regression machine learning model in pure Maluscript
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| neelam(sadhanam){ | |
| "# array length kanan ulla function"; | |
| ennam = 0; | |
| sadhanam = sadhanam+"\0"; | |
| sadhanam[ennam] um "\0" um thullyamalla enkil avarthikuka { | |
| ennam = ennam + 1; | |
| } | |
| ennam kodukuka; | |
| } | |
| " # njan mathdiv avasanam aan design cheythath | |
| # 5/2 returns 2 | |
| # mathdiv<5,2> returns 2.5 | |
| "; | |
| mathdiv(s1,s2){ | |
| integer = s1/s2; | |
| remainder = s1%s2; | |
| fractional = 0.0; | |
| place = 0.1; | |
| i = 0; | |
| remainder ne_kal 1 veluthan enkil { | |
| 0 ne_kal remainder veluthan enkil { | |
| integer kodukuka; | |
| } | |
| } | |
| 10 um i um onnallenkil avarthikuka { | |
| remainder = remainder * 10; | |
| digit = remainder/s2; | |
| fractional = fractional + (digit * place); | |
| remainder = remainder%s2; | |
| place = place * 0.1; | |
| i = i+1; | |
| } | |
| integer + fractional kodukuka; | |
| } | |
| mean(sadhanam){ | |
| "# mean kanan ulla function"; | |
| length = neelam<sadhanam>; | |
| i = 0; | |
| thuka = 0; | |
| " | |
| # weird behaviour | |
| # 'Unrecognised token `i` expected `As`' bug while trying | |
| # length nekal i cheruthan enkil avarthikuka { | |
| "; | |
| "# it was a typo in readme. 'ne_kal' is the keyword, not 'nekal' "; | |
| length um i um onnallenkil avarthikuka { | |
| thuka = thuka + sadhanam[i]; | |
| i = i+1; | |
| } | |
| mathdiv<thuka,length> kodukuka; | |
| } | |
| deviation(sadhanam){ | |
| length = neelam<sadhanam>; | |
| data_mean = mean<sadhanam>; | |
| j = 0 ; | |
| dev = []; "# short for deviation"; | |
| length um j um onnallenkil avarthikuka { | |
| dev = dev+(sadhanam[j]-data_mean); | |
| j = j+1; | |
| } | |
| dev kodukuka; | |
| } | |
| covariance(x_dev,y_dev){ | |
| thuka = 0; | |
| x_length = neelam<x_dev>; | |
| y_length = neelam<y_dev>; | |
| cheriya_neelam = y_length; | |
| x_length ne_kal y_length cheruthan enkil { | |
| cheriya_neelam = x_length; | |
| } | |
| length = cheriya_neelam; | |
| k = 0; | |
| length um k um onnallenkil avarthikuka { | |
| thuka = thuka + (x_dev[k]*y_dev[k]); | |
| k = k+1; | |
| } | |
| thuka kodukuka; | |
| } | |
| data_kanik(sadhanam){ | |
| sadhanam kanikuka; | |
| "\n" kanikuka; | |
| } | |
| "# Linear Regression"; | |
| x = [1, 2, 3, 4]; | |
| y = [2, 4, 6, 8]; | |
| "x: " kanikuka; | |
| data_kanik<x>; | |
| "y: " kanikuka; | |
| data_kanik<y>; | |
| x_deviation = deviation<x>; | |
| y_deviation = deviation<y>; | |
| cov = covariance<x_deviation,y_deviation>; | |
| variance = covariance<x_deviation,x_deviation>; | |
| m = cov/variance; | |
| "# c = y_mean - m * x_mean "; | |
| c = mean<y> - m * mean<x>; | |
| "# prediction | |
| # y = mx+c "; | |
| pravachanam(x){ | |
| y = (m*x+c); | |
| "X : " +x+"\n" kanikuka; | |
| "Y Pravachanam: " kanikuka; | |
| y kanikuka; | |
| "\n" kanikuka; | |
| } | |
| "\npadicha parameters \n" kanikuka; | |
| " m: " + m + " \n c :"+c+"\n" kanikuka; | |
| x_new = 17; | |
| pravachanam<x_new>; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment