Exemplo n.º 1
0
# Training - Part 2, adjusting regularization parameter to investigate effect on the model.

lambdas = sorted([10**x for x in range(-3, 3)])
rate = 1e-05
for lam in lambdas:
    model = LinearModel(train='data/PA1_train.pkl',
                        validation='data/PA1_dev.pkl',
                        test='data/PA1_test.pkl',
                        target='price',
                        rate=rate,
                        lam=lam,
                        eps=2.5,
                        normalize=True)

    learned_model = model.train_model(max_iter=10000)

    if learned_model['exploding'] is False and learned_model[
            'convergence'] is True:
        print('Training complete.')

    # Save output for learned model to .json file.
    filename = 'rate_' + str('{:.0E}'.format(rate)) + '_lam_' + str(
        '{:.0E}'.format(lam))
    my_path = Path('..', 'model_output', 'part_2', filename + '_train.json')
    train_path = Path(__file__).parent.resolve().joinpath(my_path)

    # Make output directory if doesn't exist.
    output_dir = train_path.parent.resolve()
    if not Path(output_dir).exists():
        Path(output_dir).mkdir()
Exemplo n.º 2
0
from models.linear_model import LinearModel

pp = pprint.PrettyPrinter()

model = LinearModel(train='data/PA1_train.pkl',
                    validation='data/PA1_dev.pkl',
                    test='data/PA1_test.pkl',
                    target='price',
                    rate=1e-05,
                    lam=0.001,
                    eps=0.5,
                    normalize=True)

names = model.weight_labels
learned_model = model.train_model(50000)
val_predictions = model.predict_validation(
    learned_model['weights'])['predictions']
test_predictions = model.predict_test(
    (learned_model['weights']))['predictions']

prediction_output = pathlib.Path('model_output/predictions.pkl')
prediction_file = pathlib.Path('model_output/predictions.txt')

pred_output_path = pathlib.Path(__file__).parent.resolve().joinpath(
    prediction_output)
pred_file_path = pathlib.Path(__file__).parent.resolve().joinpath(
    prediction_file)

# Save predictions
with open(pred_output_path, 'wb') as fp: