Created
August 25, 2018 20:29
-
-
Save LuisAlejandroSalcedo/93d90d1bac7be66a35caf167687d6f24 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Importamos lo 3 métodos que utilizaremos | |
from flask import Flask, request, jsonify | |
# Importamos joblib para leer el modelo | |
from sklearn.externals import joblib | |
# Creamos la instancia de Flask | |
app = Flask(__name__) | |
# Load the model | |
# Abrimos el archivo que contienen el modelo | |
MODEL = joblib.load('iris-svc-model.pkl') | |
# Las etiquetas con las cuales se clasificaran nuevos datos | |
# Sabemos que son los nombres de los 3 tipos de iris | |
MODEL_LABELS = ['setosa', 'versicolor', 'virginica'] | |
""" | |
El método predict sera el encargado de clasificar y dar una respuesta | |
a cualquier IP que le envie una petición. | |
""" | |
@app.route('/predict') | |
def predict(): | |
""" | |
Declaramos cuales seran los parametros que recibe la petición | |
En este caso son las medidas de la flor a clasificar. | |
Longitud y tamaño del petalo y del sepalo. | |
""" | |
sepal_length = request.args.get('sepal_length') | |
sepal_width = request.args.get('sepal_width') | |
petal_length = request.args.get('petal_length') | |
petal_width = request.args.get('petal_width') | |
# La lista de caracteristicas que se utilizaran | |
# para la predicción | |
features = [[sepal_length, sepal_width, petal_length, petal_width]] | |
# Utilizamos el modelo para la predicción de los datos | |
label_index = MODEL.predict(features) | |
""" | |
La variable label contendra el resultado de la clasificación. | |
""" | |
label = MODEL_LABELS[label_index[0]] | |
# Creamos y enviamos la respuesta al cliente | |
return jsonify(status='clasificado completado', clasificacion=label) | |
if __name__ == '__main__': | |
# Iniciamos el servidor | |
app.run(debug=True) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment