def genModel(artist, song, model, embedDim, interval, distance): XTrain, yTrain, XPredict, mean, var = pp.fprocess(artist, song, embedDim, interval, distance) yPredict = model.train(XTrain, yTrain, XPredict) yPredict = yPredict * var + mean yPredict[yPredict < 0] = 0 # 预测值出现负数直接归零 return yPredict
def shortSongsPredict(shortSongsList, embedDim, interval): yPredictSum = np.zeros(60) for song in shortSongsList: array, mean, var = pp.fprocess(song) yPredict = itergbrtModel.train(array, embedDim, interval) yPredict = yPredict * var + mean yPredict[yPredict < 0] = 0 # 预测值出现负数直接归零 yPredictSum += yPredict return yPredictSum
def makeTraceList(clusterSongList): # 提取歌曲的trace tracelist = [] meanList = [] varList = [] for song in clusterSongList: array, mean, var = pp.fprocess(song) tracelist.append(copy(array)) meanList.append(copy(mean)) varList.append(copy(var)) return tracelist, meanList, varList
def genModel(artist, song, model, embedDim, interval): array, mean, var = pp.fprocess(artist, song) yPredict = model.train(array, embedDim, interval) yPredict = yPredict * var + mean yPredict[yPredict < 0] = 0 # 预测值出现负数直接归零 return yPredict