Por supuesto que puede. Supongamos que usará sckit-learn, probablemente la biblioteca más popular de Python ML. La respuesta precisa a su pregunta depende de lo que quiera lograr. Por ahora, todo lo que puedo decirte es que, como cualquier módulo, puedes importar scikit-learn en uno de tus archivos, ya sea views.py o un archivo personalizado, o lo fueron alguna vez.
Probablemente querrás separar la parte donde entrenas tu modelo y la parte que hará la predicción , ya que supongo que no quieres entrenar el algoritmo cada vez que un usuario envía una solicitud. Puede encontrar una forma común de guardar el modelo entrenado aquí.
¿Cómo usarías la biblioteca? Consideremos un ejemplo muy simplificado de la documentación:
- Cómo aprender los comandos de Red Hat
- ¿Cuáles son algunas buenas estructuras de datos concurrentes, o estructuras de datos altamente paralelizables?
- ¿Es malo particionar y hacer bootcamp en un Mac Pro SSD 2013?
- ¿Hay más o menos sexismo en la tecnología (escuelas y empresas) que en el público en general?
- Cómo conseguir un trabajo de aprendizaje automático en Google / Facebook AI Research
# si tuviera 2 características, de alguna manera necesitaría representarlas y almacenarlas en forma de matriz donde cada fila representa un vector
# que contiene valores para las características de una instancia:
características del tren = [[-1, -1],
[-2, -1],
[-3, -2],
[1, 1]
[2, 1]
[3, 2]])
# entonces necesita agregar etiquetas de clase para esas instancias, para # “enseñar” el algoritmo:
etiquetas = [1, 1, 1, 2, 2, 2]
# importar el módulo Naive Bayes
de sklearn.naive_bayes import GaussianNB
# crea un objeto en el que puedas llamar a los métodos del módulo
clf = GaussianNB ()
# entrenar al modelo
clf.fit (train_features, etiquetas)
# finalmente, para predecir una clase para nuevos casos:
clf.predict ([característica1, característica2])
Este sería un ejemplo de cómo usar Naive Bayes con scikit-learn. Asumí que manejarías una tarea de clasificación. Ofc, ML no se limita solo a la clasificación 🙂
Tenga en cuenta que el módulo debe evaluarse antes de ponerse en producción. Scikit también tiene métodos para eso probably Probablemente necesite hacer algunos ajustes antes de que el algoritmo devuelva resultados adecuados.
Espero que esto ayude