def __init__(self, lat, lon):
        if not os.path.exists(MLP_FILE % (lat, lon)):
            raise OSError
        if not os.path.exists(LASSO_FILE % (lat, lon)):
            raise OSError

        self.mlp_dropout_model = serial.load(MLP_DROPOUT_FILE % (lat, lon))
        self.mlp_model = serial.load(MLP_FILE % (lat, lon))
        self.lasso_model = pickle.load(open(LASSO_FILE % (lat, lon), 'r'))
        self.test_data = load_data.load_supervised(1986, 1999, lat, lon, 50, which='test')
        self.lat = lat
        self.lon = lon
Example #2
0
import os
import sys
import numpy
import load_data
import argparse
import pickle 
from scipy.stats.stats import pearsonr, spearmanr
from sklearn.linear_model import Lasso, ElasticNet, LassoCV, LassoLarsCV

parser = argparse.ArgumentParser()
parser.add_argument("--lat", help="Training Latitude", type=float)
parser.add_argument("--lon", help="Training Longitude", type=float)

args = parser.parse_args()

train_data = load_data.load_supervised(1950, 1985, args.lat, args.lon, 50, which='train')
test_data = load_data.load_supervised(1986, 1999, args.lat, args.lon, 50, which='test')

lasso_file = os.path.join(os.path.dirname(__file__), "models/lasso_%2.2f_%2.2f.pkl" % (args.lat, args.lon))
if os.path.exists(lasso_file):
	print "Reading PCA from file"
	L = pickle.load(open(lasso_file, 'r'))
else:
	print "Fitting Lasso"
	L = LassoLarsCV(cv=5)
	L.fit(train_data.X, train_data.y[:,0])
	pickle.dump(L, open(lasso_file, 'w'))


## Print Fit stats
print "Alpha", L.alpha_