Gracias por A2A,
En primer lugar, debemos entender qué es el código de grado de producción . Para mí, un código que satisface los siguientes criterios es un código de “grado de producción”:
- corre más rápido si no más rápido
- es escalable
- es reutilizable
- cumple los requisitos del proyecto
- capaz de interactuar con otros sistemas
- es estable
- es mantenible
- dependencia mínima con OS / bibliotecas
R es un lenguaje construido por estadísticos para estadísticos. Tiene un equipo central muy limitado que mantiene su código y acepta un nuevo código que puede aumentar su rendimiento.
Vea el punto de referencia de R con otros lenguajes como Python, C ++ …
Normalmente, lo que las personas quieren decir con R es GNU-R, que es solo una implementación de R. Hay otras implementaciones como pqR, FastR, que también son relativamente más rápidas. Amablemente, piensa en esto si quieres entender en detalle ¿Por qué R es tan lento?
A los científicos de datos les gusta R debido al tipo de flexibilidad que proporciona cuando se quiere trabajar con datos y construir algún modelo de ciencia de datos. Es un lenguaje de secuencias de comandos que es de tipo altamente dinámico. Por lo tanto, puede escribir código como si estuviera escribiendo en su cuaderno. Es muy intuitivo con todos los paquetes y la funcionalidad de visualización. Es un hecho conocido en la comunidad R que si desea implementar algo en Data Mining, primero verifique la lista de paquetes R, puede encontrar alguna implementación.
- ¿Dónde puedo aprender la ciencia de datos y el LD necesarios para las competiciones?
- ¿Debo incluir kaggle en mi Cv?
- ¿Cuáles son las aplicaciones de los procesos estocásticos, particularmente en ciencia de datos y aprendizaje automático?
- ¿Soy comercializable para los empleadores como científico de datos autodidacta?
- ¿Cuál es el mejor instituto de formación Hadoop de big data en Noida?
Deméritos de R:
- Es lento (y no puede manejar datos grandes)
- Lenguaje de programación altamente dinámico
- No mucha gente conoce a R en el equipo porque un equipo de DS está compuesto por un ingeniero de datos (compañeros de SQL / Hive / Pig), un científico de datos (compañeros de R / Python / …), gerentes de producto (Excel, SQL) …
Ahora, surge la pregunta de cuándo quieres que tu análisis entre en producción. Data Scientist convierte su código a lenguajes como Python / Java / C ++ por sí mismos o con la ayuda de otros colegas.
No conozco Java y tampoco me gusta (debido a algún problema personal), pero si hablamos de Python, las ventajas que tiene son:
- Relativamente muy rápido
- Código bellamente escrito
- Mejor implementación de los conceptos de OOP
- Bibliotecas para proporcionar casi cualquier cosa que se pueda hacer en R
- Escalable (compatible con Hadoop / Pig)
- Mejor funcionalidad para interactuar con otros sistemas.
- Creación rápida de prototipos (puede usarlo como lenguaje de script con Numpy / Pandas / … o usar el concepto de OOP para crear un contenedor alrededor de su aplicación para interactuar con otros sistemas)
Respondiendo a sus otras preguntas:
- ¿Qué sucede cuando las bibliotecas que se usaron durante la creación de prototipos en R no están disponibles en Python?
– Situación muy rara, pero puedes usar R entonces - En tales situaciones, si usa la biblioteca Rpy2 para usar R dentro de Python, ¿aún puede hacer que ese código sea de grado de producción?
– Por supuesto. Le permite al sistema ejecutar un modelo DS una vez a la semana con datos pequeños. Puede usar R si los datos caben en la memoria y tiene paciencia para dejar que se ejecuten.Compartiré una experiencia personal contigo. Había un código que estaba escrito en R y solía tardar 5 días en completarse en un entorno multinúcleo. El mismo código cuando se tradujo a Python, redujo el tiempo a 1.5 horas. No puedo proporcionarle muchos detalles, pero sí, fue algo bueno que hicimos.