GithubHelp home page GithubHelp logo

ampr's Introduction

AMPR

Tomoyuki Obuchi and Yoshiyuki Kabashima, Semi-analytic resampling in lasso, Journal of Machine Learning Research 20 (2019), no. 70, 1–33.で提案された近似メッセージパッシングに基づく、近似的stability selection法のJulia実装である

disclaimer

  • えーい、と適当に書いたものなので、ひょっとしたらバグってるかもしれない。その時はissueで報告してほしい
  • また、パッケージとしては本当に大変いい加減である

quick start

stability selectionをデフォルトパラメータで実行するためには

ampr_result = ampr(A, y, λ)

ampr_resultFit型のものが返ってくる。1次モーメントとか、stabilityを保持しており、ampr_result.x1_hatとかで取り出すことが可能。内訳はAMPR.Fitのdocstring参照。

ダンピング係数dumping、反復回数t_max、収束基準tol、stability selectionのパラメータpw, wを指定したければ

ampr(
        A, y, λ, 
        dumping=0.8, t_max=50, tol=1.0e-6, pw=0.5, w=2.0
    )

という具合。

実行例

実行例のファイルを置いておく。ただしこれはそのまま実行するというより、なんとなく眺めて使い方の雰囲気を知るというようなものではないかと思う。

  • do_experiment_synthetic.jl
    • 合成データでの実験
    • ナイーブなSSも実行して、精度を実験と比較している。
  • do_experiment_real.jl
    • 実データでの実験
      • path_to_AMPR/real_data/A.csv, path_to_AMPR/real_data/y.csvが存在する場合の例
      • 実行結果はpath_to_AMPR/img/以下に出力する。
    • ナイーブなSSも実行して、精度を実験と比較している

dependency

  • Distributions.jl
  • GLMNet.jl, CSV.jl
    • 実験で使っている
  • Plots, LaTeXStrings, Colors
    • 実験結果の可視化に利用している

see also

ampr's People

Contributors

takashi-takahashi avatar

Watchers

 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.