Visión general
- Python se ha sumado al debate de larga duración de R vs SAS
- Cada uno de R, SAS y Python tiene sus pros y sus contras y se puede comparar con criterios como el costo, el escenario del trabajo y el soporte para los diferentes algoritmos de aprendizaje automático.
- También puede elegir cualquiera de las tres herramientas según la etapa de su carrera de ciencia de datos en la que se encuentre
Nota: este artículo se publicó originalmente en 27 de marzo de 2014 y actualizado el 12 de septiembre de 2017
Introducción
¡Nos encantan las comparaciones!
De Samsung vs. Apple vs. HTC en teléfonos inteligentes; iOS vs. Android vs. Windows en sistemas operativos móviles para comparar candidatos para las próximas elecciones o seleccionar capitán para el equipo de la copa del mundo, las comparaciones y las discusiones nos enriquecen en nuestra vida. Si te encantan las discusiones, todo lo que necesitas hacer es hacer una pregunta relevante en medio de una comunidad apasionada y luego verla explotar. La belleza del proceso es que todos en la sala se marchan como personas más informadas.
Estoy provocando algo similar aquí. SAS vs.R ha sido probablemente el debate más grande Ciencia de los datos la industria podría haber sido testigo. Python es uno de los lenguajes de más rápido crecimiento ahora y ha recorrido un largo camino desde su inicio. La razón por la que comienzo esta discusión no es para verla explotar (eso también sería divertido). Sé que todos nos beneficiaremos de la discusión.
Esta también ha sido una de las preguntas más frecuentes en este blog. ¡Pensé que lo discutiría con todos mis lectores y visitantes!
¿No se ha dicho ya mucho sobre este tema?
¡Probablemente si! Pero todavía siento la necesidad de discutirlo por las siguientes razones:
- los Ciencia de los datos la industria es muy dinámica. Cualquier comparación que se haya hecho hace 2 años podría dejar de ser relevante.
- Tradicionalmente Pitón se ha dejado fuera de la comparación. Creo que ahora es algo más que una consideración digna.
- Si bien discutiré las tendencias globales sobre los idiomas, agregaré información específica con respecto a la industria analítica de la India (que se encuentra en un nivel diferente de evolución)
Entonces, sin más demora, ¡que comience el combate!
Fondo
Aquí hay una breve descripción sobre los 3 ecosistemas:
- SAS: SAS ha sido el líder indiscutible del mercado en el espacio de análisis comercial. El software ofrece una gran variedad de funciones estadísticas, tiene una buena GUI (Enterprise Guide & Miner) para que las personas aprendan rápidamente y proporciona un soporte técnico increíble. Sin embargo, acaba siendo la opción más cara y no siempre se enriquece con las últimas funciones estadísticas.
- R: R es la contraparte de código abierto de SAS, que tradicionalmente se ha utilizado en el ámbito académico y la investigación. Debido a su naturaleza de código abierto, las últimas técnicas se lanzan rápidamente. Hay mucha documentación disponible en Internet y es una opción muy rentable.
- Pitón: Con el origen como un lenguaje de programación de código abierto, el uso de Python ha crecido con el tiempo. Hoy en día, tiene bibliotecas deportivas (numpy, scipy y matplotlib) y funciona para casi cualquier operación estadística / construcción de modelos que desee realizar. Desde la introducción de los pandas, se ha vuelto muy fuerte en las operaciones con datos estructurados.
Atributos de comparación
Compararé estos idiomas en los siguientes atributos:
- Disponibilidad / Costo
- Facilidad de aprendizaje
- Capacidades de manejo de datos
- Capacidades gráficas
- Avances en la herramienta
- Escenario de trabajo
- Soporte de aprendizaje profundo
- Servicio de atención al cliente y comunidad
Los estoy comparando desde el punto de vista de un analista. Por lo tanto, si está buscando comprar una herramienta para su empresa, es posible que no obtenga una respuesta completa aquí. La siguiente información seguirá siendo útil. Por cada atributo le doy una puntuación a cada uno de estos 3 idiomas (1 – Bajo; 5 – Alto).
La ponderación de estos parámetros variará según el punto de la carrera en el que se encuentre y sus ambiciones.
1. Disponibilidad / Costo
SAS es un software comercial. Es caro y aún está fuera del alcance de la mayoría de los profesionales (a título individual). Sin embargo, tiene la participación de mercado más alta en Organizaciones Privadas. Por lo tanto, hasta y a menos que esté en una organización que haya invertido en SAS, puede ser difícil acceder a una. Aunque, SAS ha traído una edición universitaria que es de acceso gratuito, pero tiene algunas limitaciones. ¡También puede usar Jupyter Notebooks allí!
R & Python, por otro lado, son completamente gratuitos. Aquí están mis puntuaciones en este parámetro:
SAS – 3
R – 5
Python – 5
2. Facilidad de aprendizaje
SAS es fácil de aprender y ofrece una opción sencilla (PROC SQL) para las personas que ya conocen SQL. Incluso de lo contrario, tiene una buena interfaz gráfica de usuario estable en su repositorio. En cuanto a recursos, existen tutoriales disponibles en sitios web de diversas universidades y SAS cuenta con una documentación completa. Existen certificaciones de los institutos de formación SAS, pero nuevamente tienen un costo.
R tiene la curva de aprendizaje más pronunciada entre los 3 idiomas enumerados aquí. Requiere que aprenda y comprenda la codificación. R es un lenguaje de programación de bajo nivel y, por lo tanto, los procedimientos simples pueden requerir códigos más largos.
Python es conocido por su simplicidad en el mundo de la programación. Esto también sigue siendo válido para el análisis de datos. Si bien no hay interfaces GUI generalizadas a partir de ahora, espero que los portátiles Python se vuelvan cada vez más comunes. Proporcionan funciones increíbles para documentar y compartir.
SAS – 4.5
R – 2,5
Python – 3.5
3. Capacidades de manejo de datos
Esto solía ser una ventaja para SAS hasta hace algún tiempo. R calcula todo lo que hay en la memoria (RAM) y, por lo tanto, los cálculos estaban limitados por la cantidad de RAM en las máquinas de 32 bits. Este ya no es el caso. Los tres lenguajes tienen buenas capacidades de manejo de datos y opciones para cálculos en paralelo. Creo que esto ya no es una gran diferenciación. Todos ellos también han traído integraciones de Hadoop y Spark, y también son compatibles con Cloudera y Apache Pig.
SAS – 4
R – 4
Python – 4
4. Capacidades gráficas
SAS tiene capacidades gráficas funcionales decentes. Sin embargo, es solo funcional. Cualquier personalización en los gráficos es difícil y requiere que comprenda las complejidades del paquete SAS Graph.
R tiene capacidades gráficas muy avanzadas junto con Python. Existen numerosos paquetes que le brindan capacidades gráficas avanzadas.
Con la introducción de Plotly en ambos lenguajes ahora y con Python que tiene Seaborn, hacer gráficos personalizados nunca ha sido tan fácil.
SAS – 3
R – 4.5
Python – 4.5
5. Avances en la herramienta
Los 3 ecosistemas tienen disponibles todas las funciones básicas y más necesarias. Esta función solo importa si está trabajando en las últimas tecnologías y algoritmos.
Debido a su naturaleza abierta, R & Python obtiene las últimas funciones rápidamente. SAS, por otro lado, actualiza sus capacidades en los lanzamientos de nuevas versiones. Dado que R se ha utilizado ampliamente en el mundo académico en el pasado, el desarrollo de nuevas técnicas es rápido.
Habiendo dicho esto, SAS lanza actualizaciones en un entorno controlado, por lo que están bien probadas. R & Python, por otro lado, tiene una contribución abierta y hay posibilidades de errores en los últimos desarrollos.
SAS – 4
R – 4.5
Python – 4.5
6. Escenario laboral
A nivel mundial, SAS sigue siendo el líder del mercado en puestos de trabajo corporativos disponibles. La mayoría de las grandes organizaciones todavía trabajan en SAS. R / Python, por otro lado, son mejores opciones para nuevas empresas y empresas que buscan rentabilidad. Además, se ha informado que el número de trabajos en R / Python ha aumentado en los últimos años. Aquí hay una tendencia ampliamente publicada en Internet, que muestra la tendencia de los trabajos de R y SAS. Los trabajos de Python para el análisis de datos tendrán una tendencia similar o superior a los trabajos de R:
El siguiente gráfico muestra R en azul y SAS en naranja.
En general, el mercado basado en idiomas se puede representar como tal:
SAS – 4
R – 4.5
Python – 4.5
7. Servicio de atención al cliente y comunidad
R y Python tienen las comunidades en línea más grandes, pero no tienen soporte de servicio al cliente. Entonces, si tiene problemas, está solo. Sin embargo, recibirás mucha ayuda.
SAS, por otro lado, tiene un servicio al cliente dedicado junto con la comunidad. Por lo tanto, si tiene problemas de instalación o cualquier otro desafío técnico, puede comunicarse con ellos.
SAS – 4
R – 3,5
Python – 3.5
8. Soporte de aprendizaje profundo
El aprendizaje profundo en SAS todavía se encuentra en su fase inicial y hay mucho que trabajar en ello.
Por otro lado, Python ha tenido grandes avances en el campo y tiene numerosos paquetes como Tensorflow y Keras.
R ha agregado recientemente soporte para esos paquetes, junto con algunos básicos también. Los paquetes kerasR y keras en R actúan como una interfaz para el paquete Python original, Keras.
SAS – 2
Python – 4.5
R – 3
Otros factores:
A continuación se presentan algunos puntos más dignos de mención:
- Python se usa ampliamente en el desarrollo web. Entonces, si está en un negocio en línea, el uso de Python para el desarrollo y análisis web puede brindar sinergias
- SAS solía tener una gran ventaja en la implementación de infraestructura de extremo a extremo (análisis visual, almacén de datos, calidad de datos, informes y análisis), que se ha mitigado con la integración / soporte de R en plataformas como SAP HANA y Tableau. Todavía está lejos de una integración perfecta como SAS, pero el viaje ha comenzado.
Conclusión
Vemos que el mercado se inclina ligeramente hacia Python en el escenario actual. Será prematuro apostar sobre lo que prevalecerá, dada la naturaleza dinámica de la industria. Dependiendo de sus circunstancias (etapa profesional, finanzas, etc.), puede agregar sus propios pesos y pensar en lo que podría ser adecuado para usted. A continuación, se muestran algunos escenarios específicos:
- Si está entrando en la industria analítica (específicamente en India), le recomendaría aprender SAS como su primer idioma. Es fácil de aprender y tiene la mayor participación en el mercado laboral.
- Si usted es alguien que ya ha pasado un tiempo en la industria, debe intentar diversificar su experiencia para aprender una nueva herramienta.
- Para los expertos y profesionales de la industria, las personas deben conocer al menos 2 de estos. Eso agregaría mucha flexibilidad para el futuro y abriría nuevas oportunidades.
- Si está en una empresa de nueva creación / autónomo, R / Python es más útil.
Estratégicamente, las configuraciones corporativas que requieren más asistencia práctica y capacitación eligen SAS como una opción.
Los investigadores y estadísticos eligen R como una alternativa porque ayuda en cálculos pesados. Como dicen, R estaba destinado a hacer el trabajo y no a facilitar su computadora.
Python ha sido la opción obvia para las nuevas empresas de hoy debido a su naturaleza liviana y su comunidad en crecimiento. También es la mejor opción para el aprendizaje profundo.
Aquí está el cuadro de mando final:
Estos son mis puntos de vista sobre esta comparación. Ahora, es su turno de compartir sus puntos de vista a través de los comentarios a continuación.