En este repositorio encontraras las prácticas correspondientes al Curso de Machine Learning con Python.
Realice un trabajo de investigación de las distintas herramientas que brinda Python para trabajar con machine learning separando por temas que cubre cada plataforma. En centrarse en sklearn y TensorFlow.
- Matplotlib 🔥
- Seaborn 😎
- Bokeh😎
- NumPy 🖥
- SciPy 📝
- Pandas ⚡︎
- Numba 🎲
- Scikit-learn 🖥
- TensorFlow 🖥
- Keras 🖥
- Pytorch 🖥
- SHAP 🖥
- NLTK: Natural Language Toolkit
- Gensim
- Spacy
AI / ML ya no es una tecnología aspiracional sino una necesidad. Según Gartner, el 75% de todas las empresas que intentan implementar ML pondrán en práctica sus casos de uso para 2024.
Python tiene un ecosistema increíble de bibliotecas que facilitan el inicio del aprendizaje automático: Scikit_learn (sklearn), Pandas y Matplotlib, etc.
Pandas: Es una de las librerías de python más útiles para los científicos de datos. Las estructuras de datos principales en pandas son Series para datos en una dimensión y DataFrame para datos en dos dimensiones.
Pandas es una librería de python que nos permite obtener datos de distinta procedencia como html, csv, json, pickle, sql. En el transcurso de las unidades iremos viendo como implementar pandas .Un ejemplo simple de cómo cargar un archivo csv podría ser:
NumPy se utiliza para crear matrices multidimensionales. Se puede convertir fácilmente a marcos de datos Panda y viceversa. De hecho, cuando los marcos de datos panda se alimentan con algoritmos sklearn ml, se traducen internamente en matrices NumPy antes del procesamiento.
Scipy solía procesar y evaluar datos como el modo de búsqueda, sesgo / curtosis de la función de distribución de probabilidad, etc.
La biblioteca Pickle se utiliza para serializar un modelo probado (que luego se puede guardar como un archivo binario) para su uso posterior. Por ejemplo, consulte algoritmos-> Bosque aleatorio -> Problema de iris. Luego puede exponer su modelo entrenado a través de llamadas REST que el cliente puede invocar para predecir valores usando el modelo.
Sklearn.metrics proporciona confusión_matriz y clasificación_report para evaluar el modelo.
Sklearn.datasets proporciona conjuntos de datos de muestra para probar varios análisis y algoritmos ML.
Nltk para el procesamiento del lenguaje natural.
MatplotLib y Seaborn se utilizan para trazar varios gráficos para analizar los datos. Seaborn es básicamente una envoltura sobre Matplotlib que ayuda a crear gráficos matplotlib con un atractivo más estético y también proporciona algunos tipos de gráficos más. (Consulte la carpeta de datos para los cuadernos de Python del curso intensivo en ambos)
..
(An Open Source Machine Learning Framework for Everyone)
Tensor flow es una biblioteca desarrollada por Google que nos permite realizar Machine Learning, con esta biblioteca podemos crear redes neuronales utilizando grafos.
TensorFlow es un sistema de programación en el que representamos cálculos en forma de grafos. Los nodos en el grafo se llaman ops (abreviatura de operaciones). Una op tiene cero o más tensores, realiza algún cálculo, y produce cero o más tensores.
Un grafo de TensorFlow es una descripción de cálculos. Para calcular cualquier cosa dentro de TensorFlow, el grafo debe ser lanzado dentro de una sesión. La Sesión coloca las operaciones del grafo en los diferentes dispositivos, tales como CPU o GPU, y proporciona métodos para ejecutarlas.
Los programas TensorFlow utilizan una estructura de datos llamada tensor para representar todos los datos. Puede pensar en un tensor como una matriz o lista n-dimensional. Un tensor tiene un tipo estático y dimensiones dinámicas. Sólo se pueden pasar tensores entre nodos en el grafo de cálculo.
Es una librería de python para Machine Learning y Análisis de Datos. Está basada en NumPy, SciPy y Matplotlib. La ventajas principales de scikit-learn son su facilidad de uso y la gran cantidad de técnicas de aprendizaje automático que implementa.
Con scikit-learn podemos realizar aprendizaje supervisado y no supervisado. Podemos usarlo para resolver problemas tanto de clasificación y como de regresión.
Es muy fácil de usar porque tiene una interfaz simple y muy consistente. El interfaz es muy fácil de aprender. Te das cuenta que el interfaz es consistente cuando puedes cambiar de técnica de machine learning cambiando sólo una línea de código.
Suelen decir que es sencillo de usar porque tiene una interfaz simple y muy consistente. El interfaz es muy fácil de aprender. Te das cuenta que el interfaz es consistente cuando puedes cambiar de técnica de machine learning cambiando sólo una línea de código.
Otro punto a favor de scikit-learn es que los valores de los hiper-parámetros tienen unos valores por defecto adecuados para la mayoría de los casos.
- Regresión Lineal y Polinómica.
- Regresión Logística.
- Máquinas de Vectores de Soporte.
- Arboles de Decisión.
- Bosques Aleatorios (Random Forests).
- Agrupamiento (Clustering).
- Modelos Basados en Instancias.
- Clasificadores Bayesianos.
- Reducción de Dimensionalidad.
- Detección de Anomalías.
- etc...