{"id":40473921,"url":"https://github.com/ngmarchant/oasis","last_synced_at":"2026-01-20T18:21:27.915Z","repository":{"id":56172976,"uuid":"83745325","full_name":"ngmarchant/oasis","owner":"ngmarchant","description":"A Python package for efficient evaluation based on OASIS (Optimal Asymptotic Sequential Importance Sampling).","archived":false,"fork":false,"pushed_at":"2021-06-04T04:28:28.000Z","size":17057,"stargazers_count":15,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-09-08T14:51:28.974Z","etag":null,"topics":["classification","entity-resolution","evaluation-method","record-linkage","sampling-schemes"],"latest_commit_sha":null,"homepage":"","language":"Python","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/ngmarchant.png","metadata":{"files":{"readme":"README.rst","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}},"created_at":"2017-03-03T01:57:05.000Z","updated_at":"2024-09-02T20:00:27.000Z","dependencies_parsed_at":"2022-08-15T14:01:03.890Z","dependency_job_id":null,"html_url":"https://github.com/ngmarchant/oasis","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ngmarchant/oasis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngmarchant%2Foasis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngmarchant%2Foasis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngmarchant%2Foasis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngmarchant%2Foasis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ngmarchant","download_url":"https://codeload.github.com/ngmarchant/oasis/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngmarchant%2Foasis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28608910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T16:10:39.856Z","status":"ssl_error","status_checked_at":"2026-01-20T16:10:39.493Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["classification","entity-resolution","evaluation-method","record-linkage","sampling-schemes"],"created_at":"2026-01-20T18:21:25.333Z","updated_at":"2026-01-20T18:21:27.214Z","avatar_url":"https://github.com/ngmarchant.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"=====\nOASIS\n=====\n\n.. image:: https://travis-ci.org/ngmarchant/oasis.svg?branch=master\n    :target: https://travis-ci.org/ngmarchant/oasis\n.. image:: https://img.shields.io/badge/License-MIT-yellow.svg\n    :target: https://opensource.org/licenses/MIT\n.. image:: https://badge.fury.io/py/oasis.svg\n    :target: https://pypi.python.org/pypi/oasis\n\nOASIS is a tool for evaluating binary classifiers when ground truth class\nlabels are not immediately available, but can be obtained at some cost (e.g.\nby asking humans). The tool takes an unlabelled test set as input and\nintelligently selects items to label so as to provide a *precise* estimate of\nthe classifier's performance, whilst *minimising* the amount of labelling\nrequired. The underlying strategy for selecting the items to label is based on\na technique called *adaptive importance sampling*, which is optimised for the\nclassifier performance measure of interest. Currently, OASIS supports\nestimation of the weighted F-measure, which includes the F1-score, precision\nand recall.\n\nImportant links\n===============\nDocumentation: https://ngmarchant.github.io/oasis\n\nSource: https://www.github.com/ngmarchant/oasis\n\nTechnical paper: https://arxiv.org/pdf/1703.00617.pdf\n\nExample\n=======\nSee the Jupyter notebook under ``docs/tutorial/tutorial.ipynb``::\n\n    \u003e\u003e\u003e import oasis\n    \u003e\u003e\u003e data = oasis.Data()\n    \u003e\u003e\u003e data.read_h5('Amazon-GoogleProducts-test.h5')\n    \u003e\u003e\u003e def oracle(idx):\n    \u003e\u003e\u003e     return data.labels[idx]\n    \u003e\u003e\u003e smplr = oasis.OASISSampler(alpha, data.preds, data.scores, oracle)\n    \u003e\u003e\u003e smplr.sample_distinct(5000) #: query labels for 5000 distinct items\n    \u003e\u003e\u003e print(\"Current estimate is {}.\".format(smplr.estimate_[smplr.t_ - 1]))\n\n\nLicense and disclaimer\n======================\nThe code is released under the MIT license. Please see the LICENSE file for\ndetails.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngmarchant%2Foasis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fngmarchant%2Foasis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngmarchant%2Foasis/lists"}