From 21d32012db876ff2ab7d04a87942dcd380cc8d39 Mon Sep 17 00:00:00 2001 From: yueguoguo Date: Tue, 10 Dec 2019 18:14:04 +0000 Subject: [PATCH 1/2] DOCKER: remove explicit installation of cmake --- docker/Dockerfile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index f9e01ad8be..479bfbcab5 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -42,10 +42,6 @@ RUN mkdir ${HOME}/.jupyter && \ # CPU Stage FROM base AS cpu -# Setup Conda environment -RUN apt-get update && \ - apt-get install -y python-pip && \ - pip install cmake RUN python recommenders/scripts/generate_conda_file.py --name base From 8240bb746f1b95816d5f7f668d8bcd211f09c786 Mon Sep 17 00:00:00 2001 From: yueguoguo Date: Tue, 10 Dec 2019 18:14:24 +0000 Subject: [PATCH 2/2] NOTEBOOK: revise text in the notebook --- notebooks/02_model/fm_deep_dive.ipynb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/notebooks/02_model/fm_deep_dive.ipynb b/notebooks/02_model/fm_deep_dive.ipynb index baba9682d0..81e2615304 100644 --- a/notebooks/02_model/fm_deep_dive.ipynb +++ b/notebooks/02_model/fm_deep_dive.ipynb @@ -38,7 +38,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "FM is an algorithm that uses factorization in prediction tasks with data set of high sparsity. The algorithm was original proposed in [\\[1\\]](https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf). Traditionally, the algorithms such as SVM failed in dealing with highly sparse data that is usually seen in many contemporary problems, e.g., click-through rate prediction, recommendation, etc. FM handles the problem by modeling not just first-order linear components for predicting the label, but also the cross-product of the feature variables in order to capture more generalized correlation between variables and label. " + "FM is an algorithm that uses factorization in prediction tasks with data set of high sparsity. The algorithm was original proposed in [\\[1\\]](https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf). Traditionally, the algorithms such as SVM do not perform well in dealing with highly sparse data that is usually seen in many contemporary problems, e.g., click-through rate prediction, recommendation, etc. FM handles the problem by modeling not just first-order linear components for predicting the label, but also the cross-product of the feature variables in order to capture more generalized correlation between variables and label. " ] }, { @@ -89,7 +89,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Compared to using fixed parameter for the high-order interaction components, using the factorized vectors increase generalization as well as expressiveness of the model. In addition to this, the computation complexity of the model is $O(kn)$ where $k$ and $n$ are the dimensionalities of the factorization vector and input feature vector, respectively. In practice, usually a two-way FM model is used, i.e., only the second-order feature interactions are considered, to favor computational efficiency without loss of model performance." + "Compared to using fixed parameter for the high-order interaction components, using the factorized vectors increase generalization as well as expressiveness of the model. In addition to this, the computation complexity of the equation (above) is $O(kn)$ where $k$ and $n$ are the dimensionalities of the factorization vector and input feature vector, respectively (see [the paper](https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf) for detailed discussion). In practice, usually a two-way FM model is used, i.e., only the second-order feature interactions are considered to favor computational efficiency." ] }, { @@ -182,7 +182,7 @@ "|[libfm](https://github.com/srendle/libfm)|C++|Implementation of FM algorithm|-|\n", "|[libffm](https://github.com/ycjuan/libffm)|C++|Original implemenation of FFM algorithm. It is handy in model building, but does not support Python interface|-|\n", "|[xlearn](https://github.com/aksnzhy/xlearn)|C++ with Python interface|More computationally efficient compared to libffm without loss of modeling effectiveness|[notebook](https://github.com/microsoft/recommenders/blob/master/notebooks/02_model/fm_deep_dive.ipynb)|\n", - "|[Vowpal Wabbit FM](https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Matrix-factorization-example)|Online library with estimator API|Easy to use by calling API, but flexibility and configurability are limited|[notebook](https://github.com/microsoft/recommenders/blob/master/notebooks/02_model/vowpal_wabbit_deep_dive.ipynb) / [utilities](https://github.com/microsoft/recommenders/tree/master/reco_utils/recommender/vowpal_wabbit)\n", + "|[Vowpal Wabbit FM](https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Matrix-factorization-example)|Online library with estimator API|Easy to use by calling API|[notebook](https://github.com/microsoft/recommenders/blob/master/notebooks/02_model/vowpal_wabbit_deep_dive.ipynb) / [utilities](https://github.com/microsoft/recommenders/tree/master/reco_utils/recommender/vowpal_wabbit)\n", "|[microsoft/recommenders xDeepFM](https://github.com/microsoft/recommenders/blob/master/reco_utils/recommender/deeprec/models/xDeepFM.py)|Python|Support flexible interface with different configurations of FM and FM extensions, i.e., LR, FM, and/or CIN|[notebook](https://github.com/microsoft/recommenders/blob/master/notebooks/00_quick_start/xdeepfm_criteo.ipynb) / [utilities](https://github.com/microsoft/recommenders/blob/master/reco_utils/recommender/deeprec/models/xDeepFM.py)|" ] }, @@ -872,7 +872,7 @@ "metadata": { "celltoolbar": "Tags", "kernelspec": { - "display_name": "Python (reco_base)", + "display_name": "Python 3.6 (Recommender)", "language": "python", "name": "reco_base" },