*Fork of*: SUOD: Accelerating Large-scare Unsupervised Heterogeneous Outlier Detection
===========================================================================
Please refer to the [original package](https://github.com/yzhao062/SUOD) for more information about the base functionalities.
This fork forces SUOD to use pre-selected axis-parallel subspaces, such as those obtained after Feature Bagging or Feature Selection. These subspaces must be declared as a `np.array`, and can take any structure such that the operation `X[:, subspace]` yields the desired projected dataset.
It uses the same class declaration as base SUOD, only adding a new variable: `subspaces`, and changing the class name to sel_SUOD.
This fork additionally contains a number of QOL additions, like:
- During initialization, if base_estimators is an array of length 1, it will sklearn.clone() the estimator once per each subspace.
- During initialization, it will automatically check whether the number of detectors and estimators coincide.
- It will, by default, not run approximation on any method unless the global flag for approximation is manually turned to true.
There should be no conflict between SUOD and sel_SUOD.
Take a look at the following code for a practical example:
```
base_estimators = [LOF()] #The class sel_SUOD automatically initizializes itself with subspaces.shape[0] clones of this array if len < 2.
#Creating exemplary subspaces
subspaces = [True]*20
subspaces.append(False)
subspaces = np.array([subspaces, subspaces])
subspaces[1][4] = False
model = sel_SUOD(base_estimators=base_estimators, subspaces=subspaces,
n_jobs=6, bps_flag=True,
contamination=contamination, approx_flag_global=True)
model.fit(X_train) # fit all models with X
predicted_scores = model.decision_function(X_test) # predict scores
```
Raw data
{
"_id": null,
"home_page": "https://github.com/jcribeiro98/Selectable_SUOD",
"name": "sel-suod",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "ensemble learning, anomaly detection, outlier ensembles, data mining, machine learning, python",
"author": "Jose Cribeiro",
"author_email": "jose@cribeiro.de",
"download_url": "https://files.pythonhosted.org/packages/69/37/9ff60d91f951fd2793d197325356a941de5d3157aa3abf24021d5997e589/sel_suod-0.1.tar.gz",
"platform": null,
"description": "\n*Fork of*: SUOD: Accelerating Large-scare Unsupervised Heterogeneous Outlier Detection\n===========================================================================\n\n\nPlease refer to the [original package](https://github.com/yzhao062/SUOD) for more information about the base functionalities.\nThis fork forces SUOD to use pre-selected axis-parallel subspaces, such as those obtained after Feature Bagging or Feature Selection. These subspaces must be declared as a `np.array`, and can take any structure such that the operation `X[:, subspace]` yields the desired projected dataset. \nIt uses the same class declaration as base SUOD, only adding a new variable: `subspaces`, and changing the class name to sel_SUOD.\nThis fork additionally contains a number of QOL additions, like:\n\n - During initialization, if base_estimators is an array of length 1, it will sklearn.clone() the estimator once per each subspace.\n - During initialization, it will automatically check whether the number of detectors and estimators coincide. \n - It will, by default, not run approximation on any method unless the global flag for approximation is manually turned to true.\n\nThere should be no conflict between SUOD and sel_SUOD.\nTake a look at the following code for a practical example: \n\n```\nbase_estimators = [LOF()] #The class sel_SUOD automatically initizializes itself with subspaces.shape[0] clones of this array if len < 2.\n\n#Creating exemplary subspaces\nsubspaces = [True]*20\nsubspaces.append(False)\nsubspaces = np.array([subspaces, subspaces])\nsubspaces[1][4] = False\n\nmodel = sel_SUOD(base_estimators=base_estimators, subspaces=subspaces,\n n_jobs=6, bps_flag=True,\n contamination=contamination, approx_flag_global=True)\nmodel.fit(X_train) # fit all models with X\npredicted_scores = model.decision_function(X_test) # predict scores\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "Fork from SUOD v0.1.3 (by Yue Zhao)",
"version": "0.1",
"project_urls": {
"Download": "https://github.com/jcribeiro98/Selectable_SUOD/archive/refs/heads/master.zip",
"Homepage": "https://github.com/jcribeiro98/Selectable_SUOD"
},
"split_keywords": [
"ensemble learning",
" anomaly detection",
" outlier ensembles",
" data mining",
" machine learning",
" python"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d85e4bc6fc7abfdcd17a6fdf14a2989ba676a5d3c280b1ad61db769b82c3babe",
"md5": "c15f817064684117caf258a91c40276e",
"sha256": "c03873213d36c86de4427a718e5666bd2f550952398f945bf615698a41db9e6b"
},
"downloads": -1,
"filename": "sel_suod-0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c15f817064684117caf258a91c40276e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 22772,
"upload_time": "2024-08-19T09:14:15",
"upload_time_iso_8601": "2024-08-19T09:14:15.546868Z",
"url": "https://files.pythonhosted.org/packages/d8/5e/4bc6fc7abfdcd17a6fdf14a2989ba676a5d3c280b1ad61db769b82c3babe/sel_suod-0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "69379ff60d91f951fd2793d197325356a941de5d3157aa3abf24021d5997e589",
"md5": "98e634cdff96eae545fac109580b0a2c",
"sha256": "8e4f0cc06a8b3123b8c6c9c28d30161d8d656a474a926042db6eaa3d2d45d143"
},
"downloads": -1,
"filename": "sel_suod-0.1.tar.gz",
"has_sig": false,
"md5_digest": "98e634cdff96eae545fac109580b0a2c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19776,
"upload_time": "2024-08-19T09:14:17",
"upload_time_iso_8601": "2024-08-19T09:14:17.079390Z",
"url": "https://files.pythonhosted.org/packages/69/37/9ff60d91f951fd2793d197325356a941de5d3157aa3abf24021d5997e589/sel_suod-0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-19 09:14:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jcribeiro98",
"github_project": "Selectable_SUOD",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"circle": true,
"appveyor": true,
"requirements": [
{
"name": "combo",
"specs": []
},
{
"name": "joblib",
"specs": [
[
">=",
"0.14.1"
]
]
},
{
"name": "matplotlib",
"specs": []
},
{
"name": "numpy",
"specs": [
[
">=",
"1.13"
]
]
},
{
"name": "scipy",
"specs": [
[
">=",
"0.19.1"
]
]
},
{
"name": "scikit_learn",
"specs": [
[
">=",
"1.0"
]
]
},
{
"name": "pandas",
"specs": []
},
{
"name": "psutil",
"specs": []
},
{
"name": "pyod",
"specs": [
[
">=",
"1.0"
]
]
}
],
"lcname": "sel-suod"
}