Giter VIP home page Giter VIP logo

multiuser-metric-preference's Introduction

One for All: Simultaneous Metric and Preference Learning over Multiple Users

Paper code for "One for All: Simultaneous Metric and Preference Learning over Multiple Users"

Requirements

  • Python 3.9.7
  • cvxpy 1.2.0
  • matplotlib 3.4.3
  • numpy 1.21.2
  • pyyaml 6.0
  • scikit-learn 1.0
  • scipy 1.7.1

Code structure

  • cluster_script.py: main script to run pooled experiments from configuration file

    Example usage: python cluster_script.py --config ./config.yaml

  • run_experiments.py: script to run isolated experiments (called by cluster_script.py)

  • dataset.py: defines dataset object

  • multipref.py: defines MultiPref model object

  • utils.py: defines utility functions

  • metrics.py: defines performance metrics

  • analysis_utils.py: utilities for data analysis and plotting results. Generates paper plots when run as standalone file (note, paths are set for author's computer)

  • heatmap.py: script for generating metric heatmap

  • ./configs: configuration files used to run experiments

Color data structure

The color preference data is contained in CPdata.mat. The variables are as follows:

  • CIELAB: 37 x 3 double of color coordinates in CIELAB space, where each row is a separate color and each column is a CIELAB coordinate
  • SingPrefAFCload: 37 x 37 x 48 double structured as follows. The third axis corresponds to each respondent, i.e., each 37 x 37 slice along the third axis defines the preference data for each individual user. Each slice is a grid of binary preferences over all possible color pairs among the 37 colors in the dataset. During data collection, a color pair was presented to each respondent on a screen, with one color on the left of the screen and the other color on the right. The rows of each participant's 37 x 37 slice index the colors presented on the left, and the columns index the colors presented on the right. A value of 1 indicates that the left color was preferred, while a value of 2 indicates that the color on the right was preferred. The diagonal is filled with zeros, since pairs with identical colors were not queried.

Data is provided by courtesy of Professor Karen Schloss (University of Wisconsin-Madison) and was collected from the same participants in Palmer, S. E., & Schloss, K. B. (2010). An ecological valence theory of human color preference. Proceedings of the National Academy of Sciences, 107(19), 8877-8882.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.