Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LuisAlejandroSalcedo/93d90d1bac7be66a35caf167687d6f24 to your computer and use it in GitHub Desktop.
Save LuisAlejandroSalcedo/93d90d1bac7be66a35caf167687d6f24 to your computer and use it in GitHub Desktop.
# 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