¿Por qué Python es tan brillantemente superior a R en aprendizaje automático y tan totalmente inferior en estadística médica e investigación de drogas?

Tu premisa es defectuosa.

He realizado algunos proyectos de aprendizaje automático en R yo mismo. Uno de mis proyectos académicos recientes es el modelado de temas usando la asignación de Dirichlet latente. Es un buen algoritmo de aprendizaje generativo probabilístico, no supervisado, para aprender temas en un corpus de texto que probablemente hayan generado el texto. También he usado K-Means, Registic Logistic y GLM en R.

Aquí hay una pequeña demostración divertida de K-Means que escribí rápidamente en R, como un ejercicio de transformación de datos cuando estaba entrenando a alguien:

[No, no existen los K-Means buenos o malos, la trama tenía la intención de mostrar que K-Means no funciona muy bien en datos separables no linealmente, a menos que, por supuesto, podamos transformarlos en datos separables linealmente en especial casos y luego usar K-means. Todavía necesita hacer una elección sensata para los puntos de partida para asegurarse de que esto funcione.]

Del mismo modo, he trabajado en conjuntos de datos clínicos y genéticos utilizando Python y Scala (pista: Spark).

Muchas publicaciones de investigación usan R ya que existen herramientas como `RSweave` /` knitr` que se integran bien con RStudio y pueden usarse para producir documentos que faciliten la investigación reproducible. Del mismo modo, Python tiene muchos entornos de notebook como Jupyter (iPython) y Zeppelin para administrar el código y facilitar la investigación reproducible.

El uso depende de muchos factores, como la tarea en cuestión, la experiencia y el conjunto de habilidades del analista / científico de datos / programador que trabaja en la tarea y la infraestructura técnica disponible (Big Data / no Big Data; Hadoop + Spark + Fancy Visualization Tools / MATLAB / R) etc.

Tanto Python como R han creado un ecosistema robusto para ciencia de datos, estadísticas y aprendizaje automático. Ninguno de los dos es superior o inferior al otro, y mucho menos brillantemente o totalmente.

Con respecto al reclamo de superioridad: Odio decírtelo, pero no hay guerra fría entre R y Python. Son dos lenguajes de programación que son 95% iguales. Dado que Python es más un lenguaje de propósito general, generalmente es más adecuado para implementar sus modelos en producción. Sin embargo, será difícil encontrar un modelo de aprendizaje automático o estadístico que se implemente en Python y no en R.

Como otros han mencionado, hay muchos paquetes y bibliotecas que encontraron su camino de un idioma a otro. El increíble paquete ggplot2 es compatible con Python. Pandas se basa en gran medida en los marcos de datos de R. El portátil IPython ahora es compatible con R como una característica similar en R-studio y como un núcleo para el portátil Jupyter: IRkernel / IRkernel

Con respecto al reclamo de publicaciones, hay numerosas revistas y conferencias (¡y comunidades prósperas!) Dedicadas a R. Consulte:

Revista de software estadístico

Bienvenidos. The R Journal

¡usuario! 2016 Stanford, California

Bioconductor – BioC2016

Aplicaciones efectivas del lenguaje R

Para python también hay conferencias dedicadas:

Inicio | Conferencia SciPy 2015

PyData

A algunas personas les gusta R, alguna pitón. No hay superioridad brillante aquí … 🙂

Este es el tipo de pregunta que realmente necesita reformularse o simplemente arreglarse.

¿Qué quieres decir con “brillantemente superior”? R está completo, lo que sea que se te ocurra, puedes programarlo en R (si es algo diferente).

¿Por qué R es mejor en estadística? Debido a que R ES el lenguaje para los estadísticos, tiene toda la funcionalidad que un investigador que maneja datos estadísticos podría necesitar y más. Las personas que publican resultados sobre estadísticas se sienten cómodas con sus bibliotecas listas para usar, con su funcionalidad integrada (intente programar FIML o LIML). Las personas que necesitan R son científicos que no tienen que estar interesados ​​en ML. Del mismo modo, Python proporciona una sintaxis corta, que es más fácil de usar (en mi experiencia) en comparación con R al escribir su propio código.

Diferentes necesidades, diferentes herramientas. ¿Por qué C es tan brillantemente superior a BrainFuck? Quién sabe…

La bioestadística, especialmente la investigación del cáncer, está muy sesgada hacia R. Hasta el punto de que la base de datos de genética de NCBI GEO utiliza el análisis R como su línea de base.

Sobre GEO2R – GEO – NCBI

Dependencia de ruta, en su mayoría. La misma razón por la que tenemos un teclado QWERTY, o por qué aún necesitamos intercambiar archivos de palabras. El éxito de cualquier producto o invención es en gran medida el resultado de circunstancias pasadas que ya no son relevantes; Piense en ello como una resaca histórica.

Dependencia del camino – Wikipedia

Si comenzáramos desde cero, no estaríamos usando ninguno de los idiomas para las tareas de ciencia de datos. La historia de la que emerge cada idioma explica las diferencias en la comunidad. Pero, sinceramente, las peculiaridades en cualquier idioma realmente no son tan malas y hay tantos paquetes que corrigen problemas pasados ​​que los costos de cambio simplemente no valen la pena.

La evidencia proporcionada en los detalles de la pregunta no apunta necesariamente a la superioridad de los idiomas para ciertos campos.

Cuando los desarrolladores o investigadores abordan un problema, la elección del lenguaje de programación a menudo está influenciada principalmente por los idiomas con los que ya está familiarizado y por qué idioma puede contratar fácilmente más programadores.

Supongamos que en algún momento alguien usó algo de R para un documento médico o ensayo o algo así. Su razón para elegir R podría ser que es el único idioma que conocen (tal vez se introdujo en el curso de estadística que tomaron). Alguien que intenta resolver un problema similar ahora puede adaptar ese código R para sus propósitos en lugar de escribir algo completamente nuevo en Python. Dado un tiempo, una comunidad de personas que entienden la medicina y la R crece, por lo que para cada proyecto hay un grupo de talentos que pueden ayudarlo a resolverlo con R. Entonces, alguna compañía podría querer incluir una interfaz para hacer análisis de datos en su dispositivo de escaneo cerebral . Se les incentivará a proporcionar los datos en un formato que pueda importarse fácilmente para su análisis con herramientas estándar de R.

Para el aprendizaje automático, hay tantas herramientas de Python y tutoriales de Python que sería una locura elegir R sobre Python cuando comience a aprender sobre máquinas. Eso es completamente independiente de cualquier diferencia entre los idiomas reales.

Comunidad.

Creo que no se trata de lo que el software puede o no puede hacer. SAS fue requerido por las autoridades para algunos estudios médicos, algunos laboratorios todavía confían solo en esto. R fue desarrollado por estadísticos. Y ampliamente utilizado por bioestadísticos.

Pero SAS es un dolor para programar. O bien es un proceso para hacer lo que quieres, o bien es un simple dolor. Y R está completamente en memoria, eso significa que no es bueno para grandes conjuntos de datos.

Por el contrario, ningún matemático usaría R. Mathlab, tal vez. Luego, la informática y las matemáticas se acercaron, y Python, con numpy, se usó más ampliamente.

¿Python maneja la memoria mejor que R? Lo siento, soy un verdadero principiante en Python.

Python no es brillantemente superior a R. Por el contrario, R es brillantemente superior a Python para el aprendizaje automático. Python es un lenguaje feo. Sus bibliotecas no están cerca de los paquetes de R.

La premisa de la pregunta es falsa. Python no es “brillantemente superior a R en el aprendizaje automático”.

La mayoría de los paquetes de Python ML son solo una copia de R; R estuvo allí primero.

Por el contrario, R es brillantemente superior a Python. Python no está cerca de R para el trabajo de análisis y ciencia de datos.

More Interesting

¿Qué es mejor para una implementación de juego de 20 preguntas, redes neuronales o árboles de decisión?

¿Es esencial un Msc / PHD en Machine Learning para comenzar una carrera o hacer investigación? ¿Algún consejo?

¿Cuáles son los mejores materiales de física estadística para redes neuronales profundas?

¿Cómo comienzo en la teoría y la programación del aprendizaje automático?

En el aprendizaje profundo, ¿cómo convertir una oración o documento en un vector binario (flujo de 0 y 1)?

¿Debo obtener una MacBook Pro con 16 GB de RAM (máximo) para el trabajo de aprendizaje automático, a pesar de que puedo llevar cosas intensas a una instancia de Google Cloud?

¿Son útiles los procesos jerárquicos de Dirichlet en la práctica?

¿Por qué confiamos en la aleatoriedad de la búsqueda aleatoria en la optimización de hiperparámetros?

¿Qué piensa Vijay Balasubramaniyan del aprendizaje automático Adversarial?

¿Cuál es una buena definición de big data?

¿Qué compañías con sede en Dallas están desarrollando y / o invirtiendo en tecnologías de Inteligencia Artificial / Aprendizaje Automático?

¿Es posible utilizar el aprendizaje automático para hacer un programa que pueda programar?

¿Por qué están recibiendo tanta atención Machine Learning + Big Data?

¿Cuál es la solución del ejercicio 1.3 del libro Machine Learning de Tom M. Mitchell?

¿Por qué se requieren conocimientos de aprendizaje automático para un periodista de datos? ¿Por qué la exploración y visualización de datos por sí sola no es suficiente para el periodismo de datos?