コード例 #1
0
def testLinreg():
    train_x, train_y, dev_x, dev_y, test_x, test_y, x_max, y_max = util.loadLinRegData(
    )
    LR = LinearRegression()
    LR.fit_stochastic(train_x, train_y, eta=.01, eps=10**-12, max_iters=10**8)
    preds = LR.predict(train_x)
    train_linreg_rmse = util.findRMSE(preds, train_y) * y_max[0]
    preds = LR.predict(test_x)
    test_linreg_rmse = util.findRMSE(preds, test_y) * y_max[0]
    print('Linreg RMSE: \t', test_linreg_rmse)
    return train_linreg_rmse, test_linreg_rmse
コード例 #2
0
        for max_iter in max_iters:
            print('Fitting regression with eta', eta_val, 'eps', eps_val,
                  'max iter', max_iter)
            cur_result = []
            cur_result.append(eps_val)
            cur_result.append(eta_val)
            cur_result.append(max_iter)

            LR = LinearRegression()
            LR.fit_stochastic(train_x,
                              train_y,
                              eta=eta_val,
                              eps=eps_val,
                              max_iters=max_iter)

            preds = LR.predict(train_x)
            rmse = util.findRMSE(preds, train_y)
            cur_result.append(rmse * y_max[0])

            preds = LR.predict(dev_x)
            rmse = util.findRMSE(preds, dev_y)
            cur_result.append(rmse * y_max[0])
            results.append(cur_result)

results.sort(key=lambda x: x[4])
for result in results:
    print('eps:\t', result[0], 'eta:\t', result[1], 'max iter:\t', result[2],
          'Train RMSE:\t', result[3], 'Test RMSE:\t', result[4])

np.savetxt('Output/linreg_dev_rmse.csv', results, delimiter=',')