{"id":23004496,"url":"https://github.com/kafkasl/scala_classifiers","last_synced_at":"2025-04-02T14:26:53.053Z","repository":{"id":70774223,"uuid":"95641209","full_name":"kafkasl/scala_classifiers","owner":"kafkasl","description":"Scala repository implementing basic classifiers Max a Posteriori and Naive Bayes, and more advanced method Tree Augmented Naive Bayes","archived":false,"fork":false,"pushed_at":"2017-06-28T07:50:06.000Z","size":7305,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-08T05:28:21.937Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scala","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/kafkasl.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-06-28T07:24:07.000Z","updated_at":"2017-06-28T07:47:16.000Z","dependencies_parsed_at":"2023-04-13T14:48:52.011Z","dependency_job_id":null,"html_url":"https://github.com/kafkasl/scala_classifiers","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kafkasl%2Fscala_classifiers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kafkasl%2Fscala_classifiers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kafkasl%2Fscala_classifiers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kafkasl%2Fscala_classifiers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kafkasl","download_url":"https://codeload.github.com/kafkasl/scala_classifiers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246830848,"owners_count":20840894,"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":[],"created_at":"2024-12-15T07:18:45.188Z","updated_at":"2025-04-02T14:26:53.046Z","avatar_url":"https://github.com/kafkasl.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bayesian Classifiers in action with Scala\n\nThis repository contains the Scala implementation of 3 classifiers:\n\n* Maximum a posteriori\n* Naive Bayes\n* Tree Augmented Naive Bayes\n\nReport folder contains a detailed explanation of all the classes, the implemented methods as well as some performance tests of the different classifiers. Refer to that for more information.\n\n## Maximum a posteriori\n\nIn Bayesian statistics, a maximum a posteriori probability (MAP) estimate is an estimate of an unknown quantity, that equals the mode of the posterior distribution. The MAP can be used to obtain a point estimate of an unobserved quantity on the basis of empirical data.\nThis method is quite slow and requires too many instances to be practical. For example:\n\nTask of binary classification:\n - 10 attributes with four values each;\n - Probabilities needed: \n  - * Store 2^20 conditional probabilities;\n  - * Estimate 2^20 conditional probabilities.\n\n\n## Naive Bayes classifiers\n\nSimple probabilistic classifiers based on applying Bayes' theorem with strong (naive) independence assumptions between the features.\n\nIn order to reduce the amount of instances and probabilities needed, we assume that parameters are independent conditioned on the target.\n\nPr(A1 . . . An|C) ∗ Pr(C) = Pr(A1|C) ∗ . . . ∗ Pr(An|C) ∗ Pr(C) \n\nIt is an strong assumption, but works quite well even in scenarios were it does not hold.\n\n\n## Tree Augmented Naive Bayes\n\nTree Augmented Naive Bayes (TANaiveBayes or TANB) method tries to soften the independence assumption between variables of Naive Bayes with a tree-like dependency structure.\n\nFor more information check papers under ./papers folder or read the report.\n\nIf you would like to contribute, have similar and interestings projects, find any error or have some question feel free to write.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkafkasl%2Fscala_classifiers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkafkasl%2Fscala_classifiers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkafkasl%2Fscala_classifiers/lists"}