{"id":19545737,"url":"https://github.com/ekojs/machine_learning","last_synced_at":"2025-06-20T13:41:39.981Z","repository":{"id":89321338,"uuid":"83891291","full_name":"ekojs/machine_learning","owner":"ekojs","description":"Berisi kumpulan algoritma dari Machine Learning dan Computational Intelligance","archived":false,"fork":false,"pushed_at":"2019-03-21T00:39:27.000Z","size":24,"stargazers_count":4,"open_issues_count":0,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-26T19:39:29.772Z","etag":null,"topics":["artificial-intelligence","computational-intelligence","machine-learning"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ekojs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-04T12:19:17.000Z","updated_at":"2021-06-07T04:02:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"3b9cd271-dbc9-423e-8123-db6a216efe56","html_url":"https://github.com/ekojs/machine_learning","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ekojs/machine_learning","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekojs%2Fmachine_learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekojs%2Fmachine_learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekojs%2Fmachine_learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekojs%2Fmachine_learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ekojs","download_url":"https://codeload.github.com/ekojs/machine_learning/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekojs%2Fmachine_learning/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260954913,"owners_count":23088239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-intelligence","computational-intelligence","machine-learning"],"created_at":"2024-11-11T03:40:54.495Z","updated_at":"2025-06-20T13:41:34.966Z","avatar_url":"https://github.com/ekojs.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Machine Learning \u0026 Computational Intelligence\n#### Berisi kumpulan algoritma dari Machine Learning dan Computational Intelligance\n\n### 1. K-Means Clustering Algorithm\n\nContoh menggunakan nodejs console :\n\n```javascript\nvar ejs_kmeans = require('./unsupervised/ejs_kmeans');\nfunction TestData(samples,centroid){\n\tconsole.log('Samples Data : %s \\n','('+samples.join(') (')+')');\n\tvar k_means = new ejs_kmeans.k_mean_cluster(samples);\n\tk_means.initialize(centroid);\n\tk_means.calculate();\n\tconsole.log(k_means.result().replace(/\u003cbr \\/\u003e/g,\"\\n\").replace(/\u0026nbsp;/g,' ').replace(/\u003c\\/?strong\u003e/g,''));\n}\n\nTestData([[5.09,5.80], [3.24,5.90], [1.68,4.90], [1.00,3.17], [1.48,1.38], [2.91,0.20], [4.76,0.10], [6.32,1.10], [7.00,2.83], [6.52,4.62]],[[1.48,1.38],[4.76,0.10]]);\n//TestData([[5.09,5.80], [3.24,5.90], [1.68,4.90], [1.00,3.17], [1.48,1.38], [2.91,0.20], [4.76,0.10], [6.32,1.10], [7.00,2.83], [6.52,4.62]],[[5.09,5.80], [3.24,5.90]]);\n//TestData([[1.0,1.0],[1.5,2.0],[3.0,4.0],[5.0,7.0],[3.5,5.0],[4.5,5.0],[3.5,4.5]],[[1,1],[5,7]]);\n//TestData([[1,1],[2,1],[4,3],[5,4]],[[1,1],[2,1]]);\n//TestData([[1,1,2],[2,1,3],[4,3,2],[5,4,4],[4,4,4]],[[1,1,2],[2,1,3]]);\n//TestData([[5.09,5.80], [3.24,5.90], [1.68,4.90], [1.00,3.17], [1.48,1.38], [2.91,0.20], [4.76,0.10], [6.32,1.10], [7.00,2.83], [6.52,4.62]],[[5.09,5.80], [3.24,5.90], [1.68,4.90]]);\n```\n\nBaca artikel pada [`K-Means Clustering Algorithm`](http://ekojunaidisalam.com/2017/02/09/k-means-clustering-algorithm/)\n\nSimulasi program di [`sini`](https://ekojs.github.io/ejs_k-means/)\n\n### 2. Backpropagation Neural Network\n\nPenggunaan Backpropagation disini, penulis **masih** menggunakan fungsi aktivasi secara **hardcode**, fungsi aktivasi pada IH menggunakan `TANH` sedangkan pada HO menggunakan fungsi aktivasi `SOFTMAX` dan 'SIGMOID` untuk **Binary Classification**.\n\nContoh menggunakan nodejs console :\n\n```javascript\nvar ejs_neural = require('./supervised/ejs_neural');\nvar opt = {\n\tlearning_rate:0.05,\n\tmomentum:0.01,\n\tmaxEpochs:500\n};\n// var TT = [[-1,-1,1,-1],[-1,1,1,1],[1,-1,1,1],[1,1,1,-1]]; // xor\n// var TT = [[-1,-1,1,-1],[-1,1,1,-1],[1,-1,1,-1],[1,1,1,1]]; // and\nvar TT = [[-1,-1,1,-1],[-1,1,1,1],[1,-1,1,1],[1,1,1,1]]; // or\n// var json = '{\"0\":-1.8570453538530167,\"1\":-1.0578781246699556,\"2\":1.6716922611300928,\"3\":-1.1001127357871128,\"4\":1.8538154659419666,\"5\":-1.124630964477959,\"6\":-1.677438527019374,\"7\":-1.0075326202144037,\"8\":-1.0230813212370369,\"9\":0.46272458742612566,\"10\":-0.6512284898272416,\"11\":-0.6612252388250472,\"12\":-0.9230821882924356,\"13\":0.7306611846866936,\"14\":-1.066699519330741,\"15\":-0.5033335760896673,\"16\":3.412458805650443,\"17\":1.6494378062956072,\"18\":3.3143332296912598,\"19\":-1.6840062015951618,\"20\":0.2616096437809812}';\nvar nn = new ejs_neural.Neural(3,4,1,opt);\n// tes.fromJSON(json);\n// nn.initWeights(ejs_neural.range(0.01,3*4+4+4*1+1,0.01))\nnn.train(TT);\n// var data = nn.makeTrainTest(TT);\n// console.log(data);\n// console.log('Mulai training ...');\n// nn.train(data.data_training);\n// console.log('Training selesai ...');\n// console.log('--------------- Final nn weights -----------------');\n// console.log(nn.toJSON());\n// console.log('--------------------------------------------------');\n// console.log('Akurasi data training : %d',nn.accuracy(data.data_training));\n// console.log('Akurasi data test : %d',nn.accuracy(data.data_test));\nconsole.log('Akurasi data : %d',nn.accuracy(TT));\n\nconsole.log('Actual %d, prediction : %d',-1,nn.forward([-1,-1,1]).outputs[0]); // -1 or\nconsole.log('Actual %d, prediction : %d',1,nn.forward([1,1,1]).outputs[0]); // 1 or\nconsole.log('Actual %d, prediction : %d',1,nn.forward([-1,1,1]).outputs[0]); // 1 or\nconsole.log('Actual %d, prediction : %d',1,nn.forward([1,-1,1]).outputs[0]); // 1 or\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekojs%2Fmachine_learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fekojs%2Fmachine_learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekojs%2Fmachine_learning/lists"}