class_docstr: Matrix Co-Factorization.
  
  Parameters
  ----------
  k: int, optional, default: 5
      The dimension of the latent factors.
  
  max_iter: int, optional, default: 100
      Maximum number of iterations or the number of epochs for SGD.
  
  learning_rate: float, optional, default: 0.001
      The learning rate for SGD_RMSProp.
  
  gamma: float, optional, default: 0.9
      The weight for previous/current gradient in RMSProp.
  
  lamda: float, optional, default: 0.001
      The regularization parameter.
  
  name: string, optional, default: 'MCF'
      The name of the recommender model.
  
  trainable: boolean, optional, default: True
      When False, the model is not trained and Cornac assumes that the model is already         pre-trained (U and V are not None).
  
  item-affinity network: See "cornac/examples/mcf_office.py" for an example of how to use         cornac's graph modality to load and provide the "item-affinity network" for MCF.
  
  verbose: boolean, optional, default: False
      When True, some running logs are displayed.
  
  init_params: dictionary, optional, default: None
      List of initial parameters, e.g., init_params = {'U': U, 'V': V, 'Z', Z}.
  
      U: ndarray, shape (n_users, k)
          User latent factors.
      
      V: ndarray, shape (n_items, k)
          Item latent factors.
      
      Z: ndarray, shape (n_items, k)
          The "Also-Viewed" item latent factors.
  
  seed: int, optional, default: None
      Random seed for parameters initialization.
  
  References
  ----------
  * Park, Chanyoung, Donghyun Kim, Jinoh Oh, and Hwanjo Yu. "Do Also-Viewed Products Help User Rating Prediction?."     In Proceedings of WWW, pp. 1113-1122. 2017.
class_docstr_tok: ["Matrix","Co-Factorization",".","Parameters","--","--","--","--","--","k",":","int",",","optional",",","default",":","5","The","dimension","of","the","latent","factors",".","max_iter",":","int",",","optional",",","default",":","100","Maximum","number","of","iterations","or","the","number","of","epochs","for","SGD",".","learning_rate",":","float",",","optional",",","default",":","0.001","The","learning","rate","for","SGD_RMSProp",".","gamma",":","float",",","optional",",","default",":","0.9","The","weight","for","previous\/current","gradient","in","RMSProp",".","lamda",":","float",",","optional",",","default",":","0.001","The","regularization","parameter",".","name",":","string",",","optional",",","default",":","'MCF'","The","name","of","the","recommender","model",".","trainable",":","boolean",",","optional",",","default",":","True","When","False",",","the","model","is","not","trained","and","Cornac","assumes","that","the","model","is","already","pre-trained","(","U","and","V","are","not","None",")",".","item-affinity","network",":","See","``","cornac\/examples\/mcf_office.py","''","for","an","example","of","how","to","use","cornac","'s","graph","modality","to","load","and","provide","the","``","item-affinity","network","''","for","MCF",".","verbose",":","boolean",",","optional",",","default",":","False","When","True",",","some","running","logs","are","displayed",".","init_params",":","dictionary",",","optional",",","default",":","None","List","of","initial","parameters",",","e.g.",",","init_params","=","{","'","U","'",":","U",",","'","V","'",":","V",",","'","Z","'",",","Z","}",".","U",":","ndarray",",","shape","(","n_users",",","k",")","User","latent","factors",".","V",":","ndarray",",","shape","(","n_items",",","k",")","Item","latent","factors",".","Z",":","ndarray",",","shape","(","n_items",",","k",")","The","``","Also-Viewed","''","item","latent","factors",".","seed",":","int",",","optional",",","default",":","None","Random","seed","for","parameters","initialization",".","References","--","--","--","--","--","*","Park",",","Chanyoung",",","Donghyun","Kim",",","Jinoh","Oh",",","and","Hwanjo","Yu",".","``","Do","Also-Viewed","Products","Help","User","Rating","Prediction","?",".","''","In","Proceedings","of","WWW",",","pp",".","1113-1122",".","2017","."]
docstr: Getting a valid choice of vector measurement in ANNMixin._measures.
  
  Returns
  -------
  measure: MEASURE_DOT
      Dot product aka. inner product
docstr_tok: ["Getting","a","valid","choice","of","vector","measurement","in","ANNMixin._measures",".","Returns","--","--","--","-","measure",":","MEASURE_DOT","Dot","product","aka",".","inner","product"]
code: def get_vector_measure(self):
      """Getting a valid choice of vector measurement in ANNMixin._measures.
  
      Returns
      -------
      measure: MEASURE_DOT
          Dot product aka. inner product
      """
      return MEASURE_DOT
  
file_path: cornac/cornac/models/mcf/recom_mcf.py
imports: import numpy
  from ..recommender import Recommender
  from ..recommender import ANNMixin, MEASURE_DOT
  from ...utils.common import sigmoid
  from ...utils.common import scale
  from ...exception import ScoreException
label_desc: Use image node_id 4 for calling the MCF obj's underlying member method code with example usage: obj.get_vector_measure() and returns: MEASURE_DOT