{"cells":[
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "import scipy"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "from sklearn.base import BaseEstimator, TransformerMixin\nfrom sklearn.datasets import fetch_20newsgroups\nfrom sklearn.datasets.twenty_newsgroups import strip_newsgroup_footer\nfrom sklearn.datasets.twenty_newsgroups import strip_newsgroup_quoting\nfrom sklearn.decomposition import TruncatedSVD\nfrom sklearn.feature_extraction import DictVectorizer\nfrom sklearn.feature_extraction.text import TfidfVectorizer\nfrom sklearn.metrics import classification_report\nfrom sklearn.pipeline import FeatureUnion\nfrom sklearn.pipeline import Pipeline\nfrom sklearn.svm import SVC\n"
 },
 {
  "cell_type": "code",
  "execution_count": null,
  "metadata": {
   "collapsed": false
  },
  "outputs": [],
  "source": "import math\ndamping = 0.85\n    \ndef update(scope, scheduler):\n    pvertex = scope.getVertex().value\n    #sumval = pvertex.rank * pvertex.selfedge + sum([e.value * scope.getNeighbor(e.from).value.rank for e in scope.getInboundEdges()])\n    newval = (1-damping)/scope.getNumOfVertices() + damping*sumval\n    if (abs(newval-pvertex.rank)>0.00001):\n        scheduler.addTaskToOutbound(scope)\n        pvertex.rank = newval\n    \n    update(scope, scheduler)\n"
 },
 {
  "cell_type": "markdown",
  "metadata": {},
  "source": "https://dataaspirant.com/tag/recommendation_systems/\n\nhttp://scikit-learn.org/stable/auto_examples/applications/topics_extraction_with_nmf_lda.html#example-applications-topics-extraction-with-nmf-lda-py\n\nhttps://dataaspirant.com/2015/05/25/collaborative-filtering-recommendation-engine-implementation-in-python/\nhttp://blog.ethanrosenthal.com/2015/11/02/intro-to-collaborative-filtering/\nhttp://scikit-learn.org/stable/modules/generated/sklearn.linear_model.orthogonal_mp.html\n\n"
 }
],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"}}, "nbformat": 4, "nbformat_minor": 0}