Giter Site home page Giter Site logo

recsys-python's Introduction

{% include header.html %}

recsys-python

概要

recsys-pythonはPythonによる推薦システムの演習問題集です。推薦システムの基本である、評価履歴や評価値行列の扱いから、内容ベース推薦システム、近傍ベース協調フィルタリング、推薦システムの評価などに関する問題を取り揃えています。現時点では、13章構成全163問用意しています。今後、内容を変更したり、問題を追加、削除したりすることもあります。

動機

言語処理100本ノックを参考にさせて頂き、推薦システム版の演習問題集を開発したいと思ったのがきっかけです。個人での学修に加え、大学での授業や研究室等でご活用いただければ幸いです。

到達目標

  • Pythonを学修しながら推薦システムの基本を修得できる。
  • 評価履歴や評価値行列を扱いながらNumPyによる行列演算やベクトル演算を修得できる。
  • 数式をPythonでコーディングする方法を修得できる。

取り組み方

下記の目次から各章の問題に取り組んでください。

  1. 各問題に書かれている指示文にしたがってコードを記述してください。
  2. 各問題にはコード結果が記載されています。大問にまとめて記載されている場合もあります。
  3. コード中には【 問01 】のように空欄があります。結果に記載のとおりの内容が出力されるように、この空欄に入る適切なコードを記述してください。
要件について
  • 各問題には要件が記載されています。この要件をすべて満たすようにコードを記述してください。
  • 要件の難易度が★の数で示されています。
  • この要件はヒントにもなります。考えたり調べたりする際の手がかりにしてください。
  • 問題によっては複数の要件パターンが記載されているものもあります。この場合はいずれかの要件パターンを満たすので十分です。
  • Pythonは自由度が高い言語で、コードの書き方は幾通りもあります。そのため、要件を設定することで、ある程度の縛りを課しています。ただし、Pythonに慣れている方は、要件に縛られず独自の書き方で記述されるのも良いでしょう。作成者が想定しているよりももっと良い書き方があるかもしれません。

目次

評価履歴と評価値行列

内容ベース推薦システム(近傍ベース方式)

近傍ベース協調フィルタリング

次元削減

内容ベース推薦システム(モデルベース方式)

推薦システムの評価

参考

PythonおよびNumPyについては、下記の公式チュートリアルが参考になります。

演習問題に含まれる数式等については、下記出版予定の書籍にて解説しています。

  • 奥健太,『基礎から学ぶ推薦システム ~情報技術で嗜好を予測する~』,コロナ社,2022.(2022年6月下旬出版予定)
  • ※Pythonコードは本書には含まれておりません。

作成者

推薦システム研究室 奥 健太

recsys-python's People

Contributors

okukenta avatar upura avatar kiona0405 avatar makinzm 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.