{ "info": { "author": "Cyril Wendl", "author_email": "cyrilwendl@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# Density Forest \nThis library was developed within an EPFL Master Project, Spring Semester 2018.\n\nGitHub repository: https://github.com/CyrilWendl/SIE-Master\n\n\n## \ud83d\udcd6 Usage of the `DensityForest` class:\n#### Fitting a Density Forest\nSuppose you have your training data `X_train` and test data `X_test`, in `[N, D]` with `N` data points in `D` dimensions:\n\n```python\nfrom density_forest.density_forest import DensityForest\n\nclf_df = DensityForest(**params) # create new class instance, put hyperparameters here\nclf_df.fit(X_train) # fit to a training set\nconf = clf_df.decision_function(X_test) # get confidence values for test set\noutliers = clf_df.predict(X_test) # predict whether a point is an outlier (-1 for outliers 1, for inliers)\n```\n\nHyperparameters are documented in the docstring. To find the optimal hyperparameters, consider the section below.\n\n#### Finding Hyperparameters\nTo find the optimal hyperparameters, use the `ParameterSearch` from `helpers.cross_validator`, which allows CV, and hyperparameter search.\n\n```python\nfrom helpers.cross_validator import ParameterSearch\n\n# define hyperparameters to test\ntuned_params = [{'max_depth':[2, 3, 4], 'n_trees': [10, 20]}] # optionally add non-default arguments as single-element arrays\ndefault_params = [{'verbose':0, ...}] # other default parameters \n# do parameter search\nps = ParameterSearch(DensityForest, tuned_parameters, X_train, X_train_all, y_true_tr, f_scorer, n_iter=2, verbosity=0, n_jobs=1, default_params=default_params)\nps.fit()\n\n# get model with the best parameters, as above\nclf_df = DensityForest(**ps.best_params, **default_params) # create new class instance with best hyperparameters\n... # continue as above\n```\nCheck the docstrings for more detailed documentation af the `ParameterSearch` class.\n\n\n## \ud83d\uddc2 File Structure\n\n### \ud83d\udc7e Code\nAll libraries for density forests, helper libraries for semantic segmentation and for baselines. \n#### `density_forest/`\nPackage for implementation of Decision Trees, Random Forests, Density Trees and Density Forests\n- `create_data.py`: functions for generating labelled and unlabelled data\n- `decision_tree.py`: data structure for decision tree nodes\n- `decision_tree_create.py`: functions for generating decision trees\n- `decision_tree_traverse.py`: functions for traversing a decision tree and predicting labels\n- `density_forest.py`: functions for creating density forests\n- `density_tree.py`: data struture for density tree nodes\n- `density_tree_create.py`: functions for generating a density tree\n- `density_tree_traverse.py`: functions for descending a density tree and retrieving its cluster parameters\n- `helper.py`: various helper functions\n- `random_forests.py`: functions for creating random forests\n\n#### `helpers/`: \nGeneral helpers library for semantic segmentation\n- `data_augment.py`: custom data augmentation methods applied to both the image and the ground truth\n- `data_loader.py`: PyTorch data loader for Zurich dataset\n- `helpers.py`: functions for importing, cropping, padding images and other related image tranformations\n- `parameter_search.py`: functions for finding optimal hyperparameters for Density Forest, OC-SVM and GMM (explained above)\n- `plots.py`: Generic plotter functions for labelled and unlabelled 2D and 3D plots, used for t-SNE and PCA plots\n\n#### `baselines/`:\nHelper functions for confidence estimation baselines MSR, margin, entropy and MC-Dropout\n\n#### `keras_helpers/`\nHelper functions for Keras\n- `helpers.py`: get activations\n- `callbacks.py`: callbacks to be evaluated after each epoch\n- `unet.py`: UNET model for training of network on Zurich dataset\n\n### \ud83d\uddfe Visualizations\n#### `density_forest/`: \nVisualizations of basic decision tree and density tree\n- `Decision Forest.ipynb`: Decision Trees and Random Forest on randomly generated labelled data\n- `Density Forest.ipynb`: Density Trees on randomly generated unlabelled data\n\n## \ud83c\udf93 Supervisors:\n- Prof. Devis Tuia, University of Wageningen\n- Diego Marcos Gonz\u00e1lez, University of Wageningen\n- Prof. Fran\u00e7ois Golay, EPFL\n\nCyril Wendl, 2018\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/CyrilWendl/SIE-Master", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "density_forest", "package_url": "https://pypi.org/project/density_forest/", "platform": "", "project_url": "https://pypi.org/project/density_forest/", "project_urls": { "Homepage": "https://github.com/CyrilWendl/SIE-Master" }, "release_url": "https://pypi.org/project/density_forest/0.5.1/", "requires_dist": [ "Cython", "numpy", "matplotlib", "scipy", "tqdm", "scikit-image", "pandas", "joblib", "pip", "sklearn" ], "requires_python": "", "summary": "Density Forest library for confidence estimation and novelty detection", "version": "0.5.1" }, "last_serial": 4172493, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "3294557c090200e31895bb8a924ab3dd", "sha256": "099c951cbd9ceb1b57e46dbd5fbb9baf2e12c0cd7bcfcdafe364359a7de83b59" }, "downloads": -1, "filename": "density_forest-0.1.tar.gz", "has_sig": false, "md5_digest": "3294557c090200e31895bb8a924ab3dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26993, "upload_time": "2018-08-08T14:25:42", "url": "https://files.pythonhosted.org/packages/d4/5c/a84ea0027844b70f6dae8c1a5f26eeaa753b515be7808cef62b31beebde7/density_forest-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "3b318b6c7552f1d8610225a8a49db4bb", "sha256": "d74aec7437d3688cc190f70cb4eac04c3b2084e2f87a8af501dde53d92bdf96c" }, "downloads": -1, "filename": "density_forest-0.2.tar.gz", "has_sig": false, "md5_digest": "3b318b6c7552f1d8610225a8a49db4bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29494, "upload_time": "2018-08-08T14:41:49", "url": "https://files.pythonhosted.org/packages/af/af/ca09671e88a99f7938659a5c2ef3e86e9ef26a07ca0586c6ea0457a0ee87/density_forest-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "3015ad4552646e0ee58b75ac3fbf977c", "sha256": "9c6431df7bcd442cf8629ea1b1a568509f5de5c11bc85f271f0629c1436bd87f" }, "downloads": -1, "filename": "density_forest-0.3.tar.gz", "has_sig": false, "md5_digest": "3015ad4552646e0ee58b75ac3fbf977c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29555, "upload_time": "2018-08-08T14:51:22", "url": "https://files.pythonhosted.org/packages/72/ff/c6141eea2a4ee843b4c3ee48d45f1afd75559bb0405e736d94f8e4eb0feb/density_forest-0.3.tar.gz" } ], "0.3.0.1": [ { "comment_text": "", "digests": { "md5": "f08e64aeebd6ca73603439362c8c1055", "sha256": "c366783c4ca58acdf1fd8f25b43081a682b62ce4c51238693361c5d3570dbaad" }, "downloads": -1, "filename": "density_forest-0.3.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f08e64aeebd6ca73603439362c8c1055", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 37027, "upload_time": "2018-08-08T15:01:29", "url": "https://files.pythonhosted.org/packages/b1/67/65e1bb04984280d14895b2261b68e5220fc94aa0b49c6b0044970a672069/density_forest-0.3.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "127c74378cdc673295d67113aa81df21", "sha256": "08e20881b1db2e548414437fdf8c10e58df4c509df317e308727b8406ef4cb79" }, "downloads": -1, "filename": "density_forest-0.3.0.1.tar.gz", "has_sig": false, "md5_digest": "127c74378cdc673295d67113aa81df21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29563, "upload_time": "2018-08-08T14:59:18", "url": "https://files.pythonhosted.org/packages/5d/92/759c3dff2e84713ed2e4f7a83414944e7383183e4191414795c0381d4832/density_forest-0.3.0.1.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "969e5f446de7df42f040b049bca2b04b", "sha256": "f75c9db5a8ca26e06eef75cf1ff3354486c381670963741d399c996fa60a9982" }, "downloads": -1, "filename": "density_forest-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "969e5f446de7df42f040b049bca2b04b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 37001, "upload_time": "2018-08-08T15:20:51", "url": "https://files.pythonhosted.org/packages/07/5d/cdf24d62ebf0f757494d32dc340176d99bd2e99226b8a4e6a67221ec2f65/density_forest-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "289ef286de899eae0d1e08933e57adfd", "sha256": "646d54457f11f3da5ebd6643b40eed1fafb0dbf0563587d016dc7f7065db4c86" }, "downloads": -1, "filename": "density_forest-0.3.1.tar.gz", "has_sig": false, "md5_digest": "289ef286de899eae0d1e08933e57adfd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29543, "upload_time": "2018-08-08T15:20:52", "url": "https://files.pythonhosted.org/packages/60/f7/952ce9000404114cb27cd4b5556930bb851e60d49221d005f1930b734a38/density_forest-0.3.1.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "f8cc24ad5e31c7f549faa1293c2d3e06", "sha256": "975fd53efac567763385865e826655df58b72199967c9e76d23cb58c4d1daee4" }, "downloads": -1, "filename": "density_forest-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f8cc24ad5e31c7f549faa1293c2d3e06", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36983, "upload_time": "2018-08-08T15:18:48", "url": "https://files.pythonhosted.org/packages/1d/69/708c8ef11b78c243ebef89b908bb2e254d41a92de90d86a1d470068752ac/density_forest-0.4-py3-none-any.whl" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "997d841a1244aace916c6b48d4769ed1", "sha256": "786c5e552595c31472cf600d124da85d865e3b552a5bca1a200674a9557be053" }, "downloads": -1, "filename": "density_forest-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "997d841a1244aace916c6b48d4769ed1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36630, "upload_time": "2018-08-08T15:22:04", "url": "https://files.pythonhosted.org/packages/1a/17/f618ddcba0d5caa7f7a3951c3e294cff63ff79bd3ac0618d2b3f89a57687/density_forest-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c7318835fb936289e42380017043cb5", "sha256": "f1b65c28ba089ef72c87b79c1eb655008804f20676c21424e2066fcaba802eb3" }, "downloads": -1, "filename": "density_forest-0.4.1.tar.gz", "has_sig": false, "md5_digest": "6c7318835fb936289e42380017043cb5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29089, "upload_time": "2018-08-08T15:22:06", "url": "https://files.pythonhosted.org/packages/5b/fd/d0c6eb31b0ae1479a4822e6b3e97c0f3e7466e1393456f8076a2ab0ee5d8/density_forest-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "7f6017fd38042ffdfcd29fbdb6c5fe5e", "sha256": "9e084ab51edce8ce6b4d2124a0a07e9c9da0e89db8a57bfe15340e6159b16c87" }, "downloads": -1, "filename": "density_forest-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7f6017fd38042ffdfcd29fbdb6c5fe5e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36632, "upload_time": "2018-08-09T10:17:23", "url": "https://files.pythonhosted.org/packages/12/ed/00593cc4c1f3328bcde56d7221142832bf3402e0edffbe831a5ff71fb59c/density_forest-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1fedbc300443c905371b542f889559d6", "sha256": "4bc6694df243d3a1ecd847a625c060309dd6f007c4acadf2386be293b51e663a" }, "downloads": -1, "filename": "density_forest-0.4.2.tar.gz", "has_sig": false, "md5_digest": "1fedbc300443c905371b542f889559d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29102, "upload_time": "2018-08-09T10:17:26", "url": "https://files.pythonhosted.org/packages/6a/f0/494777bac5b2ba74a8cf8f5c9706856da409096388ac42d6c1b531db518c/density_forest-0.4.2.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "35e5d0d6df225dd5ce7a535d42c6f72d", "sha256": "d2bc7c5a416d9973e8537900fa5ae4a0d60b8250168ac59dd6eed22fca80a4d2" }, "downloads": -1, "filename": "density_forest-0.5.tar.gz", "has_sig": false, "md5_digest": "35e5d0d6df225dd5ce7a535d42c6f72d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29226, "upload_time": "2018-08-15T07:00:27", "url": "https://files.pythonhosted.org/packages/54/36/7db51c19c46cffee5f112f394fc6259dea58da42c63fa704d37c6cd5c8e8/density_forest-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "310eb3b184e149b49b44cd6006282ec4", "sha256": "af446aac99a1a2896676081de069f8f9909f7cb20f9296e113fa906331e86343" }, "downloads": -1, "filename": "density_forest-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "310eb3b184e149b49b44cd6006282ec4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36716, "upload_time": "2018-08-15T09:44:28", "url": "https://files.pythonhosted.org/packages/52/e2/07b0730590a5bc7bdcd4cb69a6c97f14feb5d6a28ca1d51533754ba6d327/density_forest-0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f5a352181171eba9744b62ed340beab", "sha256": "40770f5e7543a57339d1dcd091913baa7dc7b3925bd7baf672042e71f51d774e" }, "downloads": -1, "filename": "density_forest-0.5.1.tar.gz", "has_sig": false, "md5_digest": "6f5a352181171eba9744b62ed340beab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29262, "upload_time": "2018-08-15T09:44:32", "url": "https://files.pythonhosted.org/packages/39/58/807122c79376f58ec42116856f37161cff7020678e6a87867a367cd896d2/density_forest-0.5.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "310eb3b184e149b49b44cd6006282ec4", "sha256": "af446aac99a1a2896676081de069f8f9909f7cb20f9296e113fa906331e86343" }, "downloads": -1, "filename": "density_forest-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "310eb3b184e149b49b44cd6006282ec4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36716, "upload_time": "2018-08-15T09:44:28", "url": "https://files.pythonhosted.org/packages/52/e2/07b0730590a5bc7bdcd4cb69a6c97f14feb5d6a28ca1d51533754ba6d327/density_forest-0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f5a352181171eba9744b62ed340beab", "sha256": "40770f5e7543a57339d1dcd091913baa7dc7b3925bd7baf672042e71f51d774e" }, "downloads": -1, "filename": "density_forest-0.5.1.tar.gz", "has_sig": false, "md5_digest": "6f5a352181171eba9744b62ed340beab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29262, "upload_time": "2018-08-15T09:44:32", "url": "https://files.pythonhosted.org/packages/39/58/807122c79376f58ec42116856f37161cff7020678e6a87867a367cd896d2/density_forest-0.5.1.tar.gz" } ] }