def predict_delay(airport_code):
    firebase_source = mapper.get_source_firebase()
    airport_status = firebase_source.get_airport(airport_code)
    cleaned_data = utils.get_clean_data(airport_status)

    res = predictor.predict(airport_code)
    cleaned_data["prediction"] = bool(res[0])
    return jsonify(cleaned_data)
def predict_delay(airport_code):
    firebase_source = mapper.get_source_firebase()
    airport_status = firebase_source.get_airport(airport_code)
    cleaned_data = utils.get_clean_data(airport_status)

    res = predictor.predict(airport_code)
    cleaned_data["prediction"] = bool(res[0])
    return jsonify(cleaned_data)
def get_airport_statuses():
    firebase_source = mapper.get_source_firebase()
    airports = firebase_source.get_all()
    results = []
    for airport_code, status in airports.items():
        try:
            results.append(utils.get_clean_data(status))
        except:
            pass

    results = {"items": results}
    return jsonify(results)
def get_airport_statuses():
    firebase_source = mapper.get_source_firebase()
    airports = firebase_source.get_all()
    results = []
    for airport_code, status in airports.items():
        try:
            results.append(utils.get_clean_data(status))
        except:
            pass

    results = {"items":results}
    return jsonify(results)
Пример #5
0
 def clean_data(self):
     uncleaned = self.dump_firebase.get_all()
     uncleaned = uncleaned or {}
     firebase_clean = FirebaseApplication(app.config["FIREBASE_CLEAN"], None)
     cleaned = firebase_clean.get("/", None)
     for airport_code, date_status_dict in uncleaned.items():
         if type(date_status_dict) != dict:
             print airport_code, date_status_dict
             continue
         for date, event in date_status_dict.items():
             if airport_code in cleaned and date in cleaned[airport_code]:
                 continue
             filtered_data = utils.get_clean_data(event)
             try:
                 firebase_clean.put(url="/"+airport_code, name=date, data=filtered_data)
                 print "Cleaned", airport_code, date
             except Exception as e:
                 print "Could not clean", airport_code, date, event
                 print e
Пример #6
0
    def get_flight_info_from_firebase(self):
        response = self.source_firebase.get("", None)
        updated = parser.parse(response["_updated"])

        if updated <= self.last_updated + self.delta:
            raise Exception("Not time to sync yet.")

        print "Syncing Airpot Delays from", updated.isoformat()
        self.last_updated = updated
        update_str = updated.isoformat()
        firebase_clean = FirebaseApplication(app.config["FIREBASE_CLEAN"], None)

        for airport_code, info in response.items():
            # this is not an airport :)
            if airport_code == "_updated": continue

            try:
                self.dump_firebase.firebase.put(url="/"+airport_code, name=update_str, data=info)
                filtered_data = utils.get_clean_data(info)
                firebase_clean.put(url="/"+airport_code, name=update_str, data=filtered_data)
            except Exception as e:
                print "Something failed", e

        self.dump_firebase.firebase.put("/", "last_updated", update_str)
Пример #7
0
    )
    # The Adam optimizer is used.
    optimizer = keras.optimizers.Adam(learning_rate=lr_schedule)
    # The model is trained using accuracy, and the loss function is binary crossentropy.
    model.compile(optimizer=optimizer,
                  loss="binary_crossentropy",
                  metrics=["accuracy"])
    return model


if __name__ == "__main__":
    features = ["Pseudo-Log-Return", "Trend Indicator"]
    label = ["Direction"]

    # Get each set of data.
    df_train, df_valid, df_test = get_clean_data()
    Xtrain = df_train[features].values
    Ytrain = df_train[label].values.ravel()
    Xvalid = df_valid[features].values
    Yvalid = df_valid[label].values.ravel()
    Xtest = df_test[features].values
    Ytest = df_test[label].values.ravel()

    # Store the data for each set in the corresponding feature and output vectors.
    # Preprocess the data. https://scikit-learn.org/stable/modules/preprocessing.html
    scale = MinMaxScaler(feature_range=(0, 1))
    Xtrain = scale.fit_transform(Xtrain)
    Ytrain = scale.fit_transform(Ytrain.reshape(-1, 1))
    Xvalid = scale.fit_transform(Xvalid)
    Yvalid = scale.fit_transform(Yvalid.reshape(-1, 1))
    Xtest = scale.fit_transform(Xtest)