Git Product home page Git Product logo

sensei's Introduction

Sensei

Sensei is a logistic regression engine. It is intended to be run on one machine on medium-sized data.

It is currently capable of:

  • reading datasets in LIBSVM format (with binary features only)
  • highly configurable training
  • automated feature exploration
  • automated feature pruning
  • saving models for later training or scoring
  • data scoring

Build

To build Sensei you need to install the following prerequisites:

If you use Ubuntu you can install all the prerequisites by running the following command:

sudo apt-get install g++ \
                     cmake \
                     protobuf-compiler \
                     libprotobuf-dev \
                     libgflags-dev \
                     libgoogle-glog-dev \
                     libsparsehash-dev

With all the necessary dependencies installed you can build Sensei by running:

cmake . && make

To build a debug version of the binary, you can run:

cmake -DCMAKE_BUILD_TYPE=Debug . && make

Test

To build Sensei unit tests you need to install the following additional prerequisites:

If gtest is installed on your machine, Sensei will use the installed library. Otherwise, you can put gtest as a subdirectory in Sensei top-level directory. You can do so by running:

wget https://googletest.googlecode.com/files/gtest-1.7.0.zip && unzip gtest-1.7.0.zip

To build and run Sensei unit tests run:

cmake . && make && ctest

Usage

Sensei is configured and controlled by commands defined in sensei/config.proto and sensei/common_config.proto. The commands must be provided in text protobufer format. You can read more about specific command options in comments in aforementioned files.

To execute Sensei with a specified config run:

./sensei_bin --config_files path/to/config_file

You can find sample configuration files in the examples directory.

Sample config file

command_list {
  command {
    read_data {
      data_reader {
        format: LIBSVM
        training_set {
          files_glob: "input.libsvm"
        }
        feature_spec {
          product {
            prefix: ""
          }
          product {
          }
        }
      }
    }
  }
  command {
    fit_model_weights {
      iterations: 100
    }
  }
  command {
    write_model {
      set {
        format: TEXT
        output_model_path: "model.txt"
      }
    }
  }
  command {
    write_model {
      write {
      }
    }
  }
}

sensei's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

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.