{ "info": { "author": "Brett D. Roads", "author_email": "brett.roads@gmail.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3" ], "description": "# PsiZ: A Psychological Embedding Package\n\n## Purpose\nPsiZ provides the computational tools to infer a continuous, multivariate representation for a set of stimuli from ordinal similarity relations.\n\n## Installation\nThere are two ways to install PsiZ:\n\n1. Install from PyPI using pip: ``pip install psiz``\n2. Clone from Git Hub: https://github.com/roads/psiz.git\n\nNote: PsiZ also requires TensorFlow, which is not installed automatically since is not included as a dependency of the PsiZ package (in setup.py). You must explicitly install the latest stable TensorFlow package (tensorflow or tensorflow-gpu). This allows users to specify whether they use a GPU enabled version of TensorFlow.\n\n\n## Quick Start\nThere are four predefined embedding models to choose from:\n\n1. Inverse\n2. Exponential\n3. HeavyTailed\n4. StudentsT\n\nOnce you have selected an embedding model, you must provide two pieces of information in order to infer an embedding.\n\n1. The similarity judgment observations (abbreviated as obs).\n2. The number of unique stimuli that will be in your embedding.\n\n```python\nfrom psiz import datasets\nfrom psiz.models import Exponential\n\n# Load some observations (i.e., judged trials).\n(obs, catalog) = datasets.load_dataset('birds-16')\n# Initialize an embedding model.\nemb = Exponential(catalog.n_stimuli)\n# Fit the embedding model using similarity judgment observations.\nemb.fit(obs)\n# Optionally save the fitted model.\nemb.save('my_embedding.h5')\n```\n\n## Trials and Observations\nInference is performed by fitting a model to a set of observations. In this package, a single observation is comprised of multiple stimuli that have been judged by an agent (human or machine) based on their similarity. \n\nIn the simplest case, an observation is obtained from a trial consisting of three stimuli: a query stimulus (Q) and two reference stimuli (A and B). An agent selects the reference stimulus that they believe is more similar to the query stimulus. For this simple trial, there are two possible outcomes. If the agent selected reference A, then the observation for the ith trial would be recorded as the vector: \n\nD_i = [Q A B]\n\nAlternatively, if the agent had selected reference B, the observation would be recorded as:\n\nD_i = [Q B A]\n\nIn addition to a simple \\emph{triplet} trial, this package is designed to handle a number of different trial configurations. A trial may have 2-8 reference stimuli and an agent may be required to select and rank more than one reference stimulus. \n\n## Common Use Cases\nOptionally, you can also provide additional information.\n\n1. The dimensionality of the embedding (default=2).\n2. The number of unique population groups (default=1).\n\n```python\nn_stimuli = 100\nemb = psiz.models.Exponential(n_stimuli, n_dim=4, n_group=2)\nemb.fit(obs)\n```\n\nIf you know some of the free parameters already, you can set them to the desired value and then make those parametres untrainable.\n```python\nn_stimuli = 100\nemb = psiz.models.Exponential(n_stimuli, n_dim=2)\nemb.rho = 2\nemb.tau = 1\nemb.trainable({'rho': False, 'tau': False})\nemb.fit(obs)\n```\n\n## Modules\n* `dimensionality` - Function for selecting the dimensionality of the embedding.\n* `generator` - Generate new trials randomly or using active selection.\n* `models` - A set of pre-defined pscyhological embedding models.\n* `preprocess` - Functions for preprocessing observations.\n* `simulate` - Simulate an agent making similarity judgements.\n* `trials` - Data structure used for trials and observations.\n* `utils` - Utility functions.\n* `visualize` - Functions for visualizing embeddings.\n* `datasets` - Functions for loading pre-collecgted datasets.\n\n## Authors\n* Brett D. Roads\n* Michael C. Mozer\n* See also the list of contributors who participated in this project.\n\n## What's in a name?\nThe name PsiZ (pronounced *sigh zeee*) is meant to serve as shorthard for the term *psychological embedding*. The greek letter Psi is often used to represent the field of psychology and the matrix variable **Z** is often used in machine learning to denote a latent feature space.\n\n## Licence\nThis project is licensed under the Apache Licence 2.0 - see the LICENSE.txt file for details.\n\n### References\n* van der Maaten, L., & Weinberger, K. (2012, Sept). Stochastic triplet\n embedding. In Machine learning for signal processing (mlsp), 2012 IEEE\n international workshop on (p. 1-6). doi:10.1109/MLSP.2012.6349720\n* Roads, B. D., & Mozer, M. C. (in press). Obtaining psychological\n embeddings through joint kernel and metric learning. Behavior Research\n Methods.\n* Wah, C., Branson, S., Welinder, P., Perona, P., & Belongie, S. (2011). The\n Caltech-UCSD Birds-200-2011 Dataset (Tech. Rep. No. CNS-TR-2011-001).\n California Institute of Technology.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/roads/psiz/archive/v0.2.2.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/roads/psiz", "keywords": "", "license": "Apache Licence 2.0", "maintainer": "", "maintainer_email": "", "name": "psiz", "package_url": "https://pypi.org/project/psiz/", "platform": "", "project_url": "https://pypi.org/project/psiz/", "project_urls": { "Download": "https://github.com/roads/psiz/archive/v0.2.2.tar.gz", "Homepage": "https://github.com/roads/psiz" }, "release_url": "https://pypi.org/project/psiz/0.2.2/", "requires_dist": [ "numpy", "scipy", "pandas", "scikit-learn", "h5py", "matplotlib", "tensorflow-probability" ], "requires_python": "", "summary": "Toolbox for inferring psychological embeddings.", "version": "0.2.2" }, "last_serial": 5683255, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "deab9d0a14da1509537a9d37287d0e66", "sha256": "cd958af0a4250dbb11327349e5e978d1d2e170e6400846dd2bad6c9363eeb810" }, "downloads": -1, "filename": "psiz-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "deab9d0a14da1509537a9d37287d0e66", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 60393, "upload_time": "2019-07-19T14:06:34", "url": "https://files.pythonhosted.org/packages/7c/c7/e263c2184ea4c3308a99f451ef9eeca71f4a92a1324462cb8b7f190b367b/psiz-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "67af24f68ca857b1621ede60d011fecc", "sha256": "9c3a3a56063c29fe03bcf8c3dd9fa6645a054ae89dabe93ea086d43ec31fca0c" }, "downloads": -1, "filename": "psiz-0.1.0.tar.gz", "has_sig": false, "md5_digest": "67af24f68ca857b1621ede60d011fecc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56057, "upload_time": "2019-07-19T14:06:37", "url": "https://files.pythonhosted.org/packages/15/fe/608242b8d5fd4323cfc9cbe484d0f3c0f8d44e3307df12245873f65fbdfb/psiz-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f2917d968402e858988ac34df17c6201", "sha256": "f7609dcf49d54343244187a060e9a3688ab10c19b4dd8c74740080417da267e2" }, "downloads": -1, "filename": "psiz-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f2917d968402e858988ac34df17c6201", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 58557, "upload_time": "2019-07-29T10:15:39", "url": "https://files.pythonhosted.org/packages/7f/b5/108138e29d74df765fb309167883a02bf1d69aaab3bac9dfcbc43e57c3e2/psiz-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45191ff66ad57d8d403383fb175de422", "sha256": "9e0f27a918b0c63fbe898925dc150c53f00c6287664610451cf26cc611dccc9d" }, "downloads": -1, "filename": "psiz-0.2.0.tar.gz", "has_sig": false, "md5_digest": "45191ff66ad57d8d403383fb175de422", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54092, "upload_time": "2019-07-29T10:15:41", "url": "https://files.pythonhosted.org/packages/77/18/b97568ba654b2382a3107e81866aa6d854d15914e2e1f0fc26fd4732f2a1/psiz-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "88219a0eca384e6e1ffa38a9108b1fed", "sha256": "bac3f7d5ac90eb901acd80ebc1bbd78f0da02aca9f5b314ec3cb7ccf89b12291" }, "downloads": -1, "filename": "psiz-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "88219a0eca384e6e1ffa38a9108b1fed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 58564, "upload_time": "2019-07-29T11:20:32", "url": "https://files.pythonhosted.org/packages/01/11/732695e5443b5d1735c886842543707036d9f9f853e6c287f924f9dfd0e8/psiz-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1af0901598d4b6fedcabc59d719cca56", "sha256": "71ffdf131b09c78efc61ae80ce7f48c2ccb8bfdf8cddc1156d385ab91a64c1b2" }, "downloads": -1, "filename": "psiz-0.2.1.tar.gz", "has_sig": false, "md5_digest": "1af0901598d4b6fedcabc59d719cca56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54152, "upload_time": "2019-07-29T11:20:35", "url": "https://files.pythonhosted.org/packages/86/5e/f8b58a54f6845ae7063050d5dd28ed0f63080beca6b36c2eafc557df7f16/psiz-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "50a80414e2cd265d099f46aa130ab1a2", "sha256": "5c1caeaff823a34a2c643c25b5fb75fa64abce35e52e633d49c21b73abee0491" }, "downloads": -1, "filename": "psiz-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "50a80414e2cd265d099f46aa130ab1a2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 62441, "upload_time": "2019-08-15T17:11:36", "url": "https://files.pythonhosted.org/packages/69/dc/e768f1ac6a2f45659ed72b7fcefa21ccc4cdc7775fed23eb99cfe93f250c/psiz-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4fbe5cff5def7e778c758a0eb9dac258", "sha256": "56c0c6a24db3488607fee3779f12ae4e080cd5b6ce2e72750214b287ce3b01a6" }, "downloads": -1, "filename": "psiz-0.2.2.tar.gz", "has_sig": false, "md5_digest": "4fbe5cff5def7e778c758a0eb9dac258", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58262, "upload_time": "2019-08-15T17:11:42", "url": "https://files.pythonhosted.org/packages/b7/7a/99175f83c4bc0f7f77459311a7d32f8ea817d668634f973636bb7b27b6d6/psiz-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "50a80414e2cd265d099f46aa130ab1a2", "sha256": "5c1caeaff823a34a2c643c25b5fb75fa64abce35e52e633d49c21b73abee0491" }, "downloads": -1, "filename": "psiz-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "50a80414e2cd265d099f46aa130ab1a2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 62441, "upload_time": "2019-08-15T17:11:36", "url": "https://files.pythonhosted.org/packages/69/dc/e768f1ac6a2f45659ed72b7fcefa21ccc4cdc7775fed23eb99cfe93f250c/psiz-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4fbe5cff5def7e778c758a0eb9dac258", "sha256": "56c0c6a24db3488607fee3779f12ae4e080cd5b6ce2e72750214b287ce3b01a6" }, "downloads": -1, "filename": "psiz-0.2.2.tar.gz", "has_sig": false, "md5_digest": "4fbe5cff5def7e778c758a0eb9dac258", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58262, "upload_time": "2019-08-15T17:11:42", "url": "https://files.pythonhosted.org/packages/b7/7a/99175f83c4bc0f7f77459311a7d32f8ea817d668634f973636bb7b27b6d6/psiz-0.2.2.tar.gz" } ] }