예제 #1
0
파일: run_hybrid.py 프로젝트: neerajg/sdap
def hotStartTrainRMSE(model_1,model_2,K, L, X1, X2, train_I, train_J, train_Y, train_op):
    M = X1.shape[0]
    N = X2.shape[0]
    op1 = train_op['op1']
    op2 = train_op['op2']
    if model_1 == 'SCOAL':
        model = op1['model']        
        predictions = predict_scoal(train_I, train_J, train_Y, M, N, model)
    if model_1 == 'MF':
        model = op1['model']
        predictions = mf_predict(train_I,train_J,M,N,model)
    if model_2 == 'SCOAL':
        model = op2['model']        
        predictions += predict_scoal(train_I, train_J, train_Y, M, N, model)
    if model_2 == 'MF':
        model = op2['model']
        predictions += mf_predict(train_I,train_J,M,N,model)        
    Z = sp.csr_matrix((train_Y, (train_I,train_J)), shape=(M,N))
    nonzero_Z = np.array(Z[(train_I,train_J)]).ravel()
    hotStartTrainRMSE = np.sqrt(np.mean((predictions.flatten()-nonzero_Z)**2)) 
    return hotStartTrainRMSE
예제 #2
0
파일: run_hybrid.py 프로젝트: neerajg/sdap
def train_scoal(K, L, X1, X2, train_I, train_J, train_Y, reg,residue):
    # Train SCOAL
    learner = 'ridge'
    scoal_op = run_scoal(K, L, X1, X2, train_I, train_J, residue, learner, reg)
    # Predict using SCOAL
    M = X1.shape[0]
    N = X2.shape[0]
    model = scoal_op['model']    
    predictions = predict_scoal(train_I, train_J, residue, M, N, model)
    # Calculate residue
    residue = train_Y - predictions
    return scoal_op, residue