{ "info": { "author": "Mike Simms", "author_email": "mike@mikesimms.net", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2" ], "description": "[![C++](https://img.shields.io/badge/cpp-brightgreen.svg)]() [![Rust](https://img.shields.io/badge/rust-brightgreen.svg)](https://www.rust-lang.org) [![Python 2.7|3.7](https://img.shields.io/badge/python-2.7%2F3.7-brightgreen.svg)](https://www.python.org/) [![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)\n\n# LibIsolationForest\n\n## Description\n\nThis project contains Rust, C++, and python implementations of the Isolation Forest algorithm. Isolation Forest is an anomaly detection algorithm based around a collection of randomly generated decision trees. For a full description of the algorithm, consult the original paper by the algorithm's creators:\n\nhttps://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/icdm08b.pdf\n\n## Python Example\n\nThe python implementation can be installed via pip:\n\n```pip install IsolationForest```\n\nHere's a short code snipet that shows how to use the Python version of the library. You can also read the file `test.py` for a complete example. As the library matures, I'll add more test examples to this file.\n\n```python\nfrom isolationforest import IsolationForest\n\nforest = IsolationForest.Forest(num_trees, sub_sampling_size)\n\nsample = IsolationForest.Sample(\"Training Sample 1\")\nfeatures = []\nfeatures.append({\"feature 1\": feature_1_value})\n# Add more features to the sample...\nfeatures.append({\"feature N\": feature_N_value})\nsample.add_features(features)\n# Add the features to the sample.\nforest.add_sample(sample)\n# Add more samples to the forest...\n\n# Create the forest.\nforest.create()\n\nsample = IsolationForest.Sample(\"Test Sample 1\")\nfeatures = []\nfeatures.append({\"feature 1\": feature_1_value})\n# Add more features to the sample...\nfeatures.append({\"feature N\": feature_N_value})\n# Add the features to the sample.\nsample.add_features(features)\n\n# Score the sample.\nscore = forest.score(sample)\nnormalized_score = forest.normalized_score(sample)\n```\n\n## Rust Example\n\nAn example of how to use the Rust version of the library can be found in `main.rs`. As the library matures, I'll add more test examples to this file.\n\n## C++ Example\n\nAn example of how to use the C++ version of the library can be found in `main.cpp`. As the library matures, I'll add more test examples to this file.\n\n## Version History\n\n### 1.0\n* Initial version.\n\n### 1.1\n* Added normalized scores.\n* Updated random number generation in rust, because it changed again.\n\n## License\n\nThis library is released under the MIT license, see LICENSE for details.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/msimms/LibIsolationForest", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "IsolationForest", "package_url": "https://pypi.org/project/IsolationForest/", "platform": "", "project_url": "https://pypi.org/project/IsolationForest/", "project_urls": { "Homepage": "https://github.com/msimms/LibIsolationForest" }, "release_url": "https://pypi.org/project/IsolationForest/1.1.0/", "requires_dist": null, "requires_python": "==2.7.*", "summary": "An implementation of the Isolation Forest anomaly detection algorithm.", "version": "1.1.0" }, "last_serial": 5695346, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "3c261d5d3d04e7bfd408893fa14c602f", "sha256": "0a5822b6db00f08de4f726b2559bffbfb2c0cdb503fcdc6d5ab5c75d47ab680d" }, "downloads": -1, "filename": "IsolationForest-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "3c261d5d3d04e7bfd408893fa14c602f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "==2.7.*", "size": 4465, "upload_time": "2019-06-05T17:00:34", "url": "https://files.pythonhosted.org/packages/f9/47/a76c5273c262c1c734688028a236a7ed7009b08e8d59c1d1f28907913bcf/IsolationForest-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3337ff4a085a0eb8f4fbebbc6f027620", "sha256": "172835c2806ca895bbc9cc8c5ef33a1da221610c7b9c989667f54694a2e377ad" }, "downloads": -1, "filename": "IsolationForest-1.0.0.tar.gz", "has_sig": false, "md5_digest": "3337ff4a085a0eb8f4fbebbc6f027620", "packagetype": "sdist", "python_version": "source", "requires_python": "==2.7.*", "size": 3933, "upload_time": "2019-06-05T17:00:37", "url": "https://files.pythonhosted.org/packages/56/08/eedf98a97f49eeb5353b3d292a4b36caddee05478d4ab29931245f46d809/IsolationForest-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "0dac0ddc72c109fc8bec31aef3b33025", "sha256": "30a66f6bfe059e6b39031406d640c17000cb0730b9685cec96070710804a222f" }, "downloads": -1, "filename": "IsolationForest-1.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "0dac0ddc72c109fc8bec31aef3b33025", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "==2.7.*", "size": 5146, "upload_time": "2019-08-18T17:40:48", "url": "https://files.pythonhosted.org/packages/52/e2/0d1b75969595e37564db1c6a21998ec3d73f7a704f23e2d4a4c9aba12423/IsolationForest-1.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c43b59569d38ab239f68263099fd9a5f", "sha256": "37aec4a4ce9f1ee7c5f2c26561351475f069a9246f63b174c00f0b21620e3a29" }, "downloads": -1, "filename": "IsolationForest-1.1.0.tar.gz", "has_sig": false, "md5_digest": "c43b59569d38ab239f68263099fd9a5f", "packagetype": "sdist", "python_version": "source", "requires_python": "==2.7.*", "size": 4573, "upload_time": "2019-08-18T17:40:50", "url": "https://files.pythonhosted.org/packages/5c/95/767b538c9ce90d00d550e29477f6ebdef6c431e7734c404991c051847513/IsolationForest-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0dac0ddc72c109fc8bec31aef3b33025", "sha256": "30a66f6bfe059e6b39031406d640c17000cb0730b9685cec96070710804a222f" }, "downloads": -1, "filename": "IsolationForest-1.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "0dac0ddc72c109fc8bec31aef3b33025", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "==2.7.*", "size": 5146, "upload_time": "2019-08-18T17:40:48", "url": "https://files.pythonhosted.org/packages/52/e2/0d1b75969595e37564db1c6a21998ec3d73f7a704f23e2d4a4c9aba12423/IsolationForest-1.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c43b59569d38ab239f68263099fd9a5f", "sha256": "37aec4a4ce9f1ee7c5f2c26561351475f069a9246f63b174c00f0b21620e3a29" }, "downloads": -1, "filename": "IsolationForest-1.1.0.tar.gz", "has_sig": false, "md5_digest": "c43b59569d38ab239f68263099fd9a5f", "packagetype": "sdist", "python_version": "source", "requires_python": "==2.7.*", "size": 4573, "upload_time": "2019-08-18T17:40:50", "url": "https://files.pythonhosted.org/packages/5c/95/767b538c9ce90d00d550e29477f6ebdef6c431e7734c404991c051847513/IsolationForest-1.1.0.tar.gz" } ] }