47 import daal.algorithms.implicit_als.prediction.ratings
as ratings
48 import daal.algorithms.implicit_als.training
as training
49 import daal.algorithms.implicit_als.training.init
as init
51 utils_folder = os.path.realpath(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
52 if utils_folder
not in sys.path:
53 sys.path.insert(0, utils_folder)
54 from utils
import printNumericTable, createSparseTable
56 DAAL_PREFIX = os.path.join(
'..',
'data')
59 trainDatasetFileName = os.path.join(DAAL_PREFIX,
'batch',
'implicit_als_csr.csv')
69 def initializeModel():
70 global initialModel, dataTable
73 dataTable = createSparseTable(trainDatasetFileName)
76 initAlgorithm = init.Batch(method=init.fastCSR)
77 initAlgorithm.parameter.nFactors = nFactors
80 initAlgorithm.input.set(init.data, dataTable)
83 res = initAlgorithm.compute()
85 initialModel = res.get(init.model)
92 algorithm = training.Batch(method=training.fastCSR)
95 algorithm.input.setTable(training.data, dataTable)
96 algorithm.input.setModel(training.inputModel, initialModel)
98 algorithm.parameter.nFactors = nFactors
102 trainingResult = algorithm.compute()
108 algorithm = ratings.Batch()
109 algorithm.parameter.nFactors = nFactors
111 algorithm.input.set(ratings.model, trainingResult.get(training.model))
113 res = algorithm.compute()
115 predictedRatings = res.get(ratings.prediction)
117 printNumericTable(predictedRatings,
"Predicted ratings:")
119 if __name__ ==
"__main__":