{"id":13692914,"url":"https://github.com/asafschers/scorystal","last_synced_at":"2025-06-16T08:11:07.654Z","repository":{"id":150580415,"uuid":"89640894","full_name":"asafschers/scorystal","owner":"asafschers","description":"Crystal Scoring API for PMML","archived":false,"fork":false,"pushed_at":"2017-05-14T20:53:10.000Z","size":153,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-05T01:13:36.244Z","etag":null,"topics":["crystal","gbm","gradient-boosting-classifier","machine-learning","pmml","random-forest"],"latest_commit_sha":null,"homepage":null,"language":"Crystal","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/asafschers.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}},"created_at":"2017-04-27T21:12:42.000Z","updated_at":"2017-08-10T20:28:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"fd92a3b3-f6b6-49e1-bc23-ac4f951bd466","html_url":"https://github.com/asafschers/scorystal","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/asafschers/scorystal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asafschers%2Fscorystal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asafschers%2Fscorystal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asafschers%2Fscorystal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asafschers%2Fscorystal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asafschers","download_url":"https://codeload.github.com/asafschers/scorystal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asafschers%2Fscorystal/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260124097,"owners_count":22962207,"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":["crystal","gbm","gradient-boosting-classifier","machine-learning","pmml","random-forest"],"created_at":"2024-08-02T17:01:03.444Z","updated_at":"2025-06-16T08:11:07.596Z","avatar_url":"https://github.com/asafschers.png","language":"Crystal","funding_links":[],"categories":["Science and Data analysis"],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/asafschers/scorystal.svg?branch=master)](https://travis-ci.org/asafschers/scorystal)\n\n# Scorystal\n\nCrystal scoring API for Predictive Model Markup Language (PMML).\n\nCurrently supports random forest and gradient boosted models.\n\nWill be happy to implement new kinds of models by demand, or assist with any other issue.\n\nContact me here or at aschers@gmail.com.\n\n## Installation\n\nAdd this to your application's `shard.yml`:\n\n```yaml\ndependencies:\n  scorystal:\n    github: asafschers/scorystal\n```\n\n## Usage\n\n```crystal\nrequire \"scorystal\"\n\n# Parse PMML file\npmml_text = File.read(\"spec/pmmls/gbm.pmml\")\nparsed_pmml = XML.parse(pmml_text, XML::ParserOptions::NOBLANKS)\n\n# Set features hash\n\njson = %({\"F1\":null,\"F2\":21371,\"F3\":\"AA\"}\")\nfeatures = Scorystal.features_hash(json)\n\n# Gradient Boosted Model\n\ngbm = Gbm.new(parsed_pmml)\nputs gbm.score(features)\n\n# Random Forest\n\nrf = RandomForest.new(parsed_pmml)\nputs rf.decisions_count(features)\n\n```\n\n## Contributing\n\n1. Fork it ( https://github.com/asafschers/scorystal/fork )\n2. Create your feature branch (git checkout -b my-new-feature)\n3. Commit your changes (git commit -am 'Add some feature')\n4. Push to the branch (git push origin my-new-feature)\n5. Create a new Pull Request\n\n## Contributors\n\n- [[asafschers]](https://github.com/asafschers) asaf schers - creator, maintainer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasafschers%2Fscorystal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasafschers%2Fscorystal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasafschers%2Fscorystal/lists"}