¿Cuáles son las ventajas y desventajas de usar Statsmodels sobre Scikit-learn?

He estado usando ambos paquetes durante los últimos meses y aquí está mi punto de vista. Comencemos con las ventajas de statsmodels sobre scikit-learn. Scikit-Learn no está hecho para estadísticas hardcore. Le dará todas las funcionalidades básicas, pero no le dará las más sofisticadas que generalmente utilizan los estadísticos profesionales. Un ejemplo simple sería, sci-kit learn le brinda una gran cantidad de diferentes métodos de ajuste lineal, pero solo le da los parámetros de ajuste, R ^ 2, MSE, etc. Pero si necesita otros valores de diagnóstico como valores p, errores estándar en cada uno de los parámetros, pruebas t, etc. Luego, debe escribir su propio código o pasar a modelos de estadísticas (que fue la razón por la que me moví). Además, la sintaxis de statsmodels está más alineada con la de R, por lo que si eres un usuario de R y quieres pasar a python, será más fácil aprender los statsmodels.

La mayor desventaja de statsmodels radica en el hecho de que todavía es un paquete muy nuevo. La cantidad y calidad de la documentación disponible es muy pobre. Por otro lado, scikit-learn tiene una de las documentaciones más bien escritas. Scikit-learn utiliza un enfoque modular simple para todas sus funciones (ajuste-> transformar-> predecir) y, por lo tanto, es muy fácil de aprender y se vuelve muy intuitivo después de conocer los conceptos básicos. Es más ‘pitónico’ que statsmodels. Además, hay muchos errores y objetos implementados a medias en los modelos de estadísticas (no es que no haya ninguno en scikit-learn, pero son mucho menos numerosos), por lo que a veces hay que usarlo con la precaución adecuada. La mayoría de estos problemas, como la documentación / errores, desaparecerán a medida que se publiquen nuevas versiones.

Para concluir, si desea utilizar los paquetes para temas relacionados con el aprendizaje automático, scikit-learn tiene muchas más funciones disponibles que statsmodels, pero si tiene la intención de usarlos para el análisis estadístico, entonces debería elegir statsmodels.

En Statsmodels puede encontrar modelos estadísticos más “interesantes” en profundidad. La biblioteca es una gran fuente para reemplazar la funcionalidad en R con Python. Está más orientado a los modelos estadísticos.

Nir Kaldero
Director de Ciencia, Expertos en Ciencia de Datos
galvanizarU

Si bien no soy experto en ninguno de los dos, statsmodels es para modelar, mientras que scikit-learn es para aprendizaje automático. Las dos áreas de aplicación se basan en estadísticas pero no son lo mismo.

More Interesting

Dado que los modelos pueden ser entrenados en datos sintéticos, ¿podemos usar el Entrenamiento Adversario para hacer que las imágenes de prueba sean más sintéticas?

¿Cómo funciona el mecanismo de atención de múltiples cabezas en el aprendizaje profundo?

Cómo usar el codificador automático de Geoffrey Hinton para datos MNIST para clasificar dígitos

Cómo identificar entidades en una consulta de búsqueda en lenguaje natural

En los campos de redes neuronales o aprendizaje profundo, ¿qué es un "gráfico computacional"?

Al entrenar una red neuronal, ¿es común tener un tamaño de paso diferente para los parámetros en cada capa y las compensaciones al realizar el Descenso de gradiente?

Cómo predecir una variable de salida a partir de entradas dadas si la variable de salida y la variable de entrada se muestrean en diferentes intervalos de tiempo

Cuál debería ser mi próximo paso, después de cubrir las estadísticas básicas de las estadísticas principales, un curso básico de análisis de datos (preparación de datos, exploración, clasificación, minería de reglas de asociación, agrupación, regresión) y un proyecto en un conjunto de datos SSLC (puede encontrarlo en mi único blog en Quora) usando R?

Cómo comenzar a aprender ciencia de datos y convertirse en un maestro en ello

¿Qué modo de Anaconda se debe usar para los algoritmos de aprendizaje automático?

En el aprendizaje profundo, ¿son el "aprendizaje incremental" y el "aprendizaje de transferencia" el mismo enfoque?

¿Cómo funciona el sistema de recomendación de filtrado basado en contenido por word2vec usando etiquetas?

¿Cuál es el entorno libre de distribución en la teoría del aprendizaje estadístico?

¿Por qué la minería de datos con aprendizaje automático no implica pruebas de hipótesis estadísticas?

¿Hay un equivalente a Rosalind en el aprendizaje automático?