Codifico en Java. ¿Necesito aprender Python para aprender aprendizaje automático?

No, no es necesario que aprendas Python. Si eres Java Developer, puedes escribir tu propio código en java. No hay ningún problema. Al venir a Python, es fácil de leer, ya que Python es el lenguaje más sencillo, incluso un promedio. El candidato puede entender a Python.

Entonces, si está cómodo con Java, puede continuar con Java. Pero si aprendes Python, también puede dar más flexibilidad a otros Desarrolladores.

Eso es .

Mi mismo, estoy usando Java y Python, pero principalmente Python porque necesita menos líneas en comparación con Java. El cliente también se siente feliz con algunas líneas de código.

Así que puedes empezar a aprender Aprendizaje automático con Java Knowledge.

Te sugeriré los mejores cursos de aprendizaje automático en línea

Aprendizaje automático AZ ™: práctica en Python & R en Data Science

Este curso ha sido diseñado por dos científicos de datos profesionales para que podamos compartir nuestro conocimiento y ayudarlo a aprender teorías complejas, algoritmos y bibliotecas de codificación de manera sencilla.

  • Parte 1 – Preprocesamiento de datos
  • Parte 2 – Regresión: Regresión lineal simple, Regresión lineal múltiple, Regresión polinomial, RVS, Regresión del árbol de decisión, Regresión aleatoria de bosques
  • Parte 3 – Clasificación: Regresión logística, K-NN, SVM, SVM del núcleo, Bayes ingenuos, Clasificación del árbol de decisión, Clasificación de bosques aleatorios
  • Parte 4 – Agrupación en clúster: K-medias, agrupación jerárquica
  • Parte 5 – Aprendizaje de reglas de asociación: Apriori, Eclat
  • Parte 6: Aprendizaje por refuerzo: confianza superior, muestreo de Thompson
  • Parte 7 – Procesamiento de lenguaje natural: modelo de bolsa de palabras y algoritmos para PNL
  • Parte 8 – Aprendizaje profundo: redes neuronales artificiales, redes neuronales convolucionales
  • Parte 9 – Reducción de la dimensionalidad: PCA, LDA, PCA de núcleo
  • Parte 10 – Selección de modelo y realce: validación cruzada en k-fold, ajuste de parámetros, búsqueda de cuadrícula, XGBoost

Además, el curso está lleno de ejercicios prácticos que se basan en ejemplos en vivo. Así que no solo aprenderá la teoría, sino que también obtendrá práctica práctica en la construcción de sus propios modelos.

Recursos adicionales: – [Mejora tus habilidades]

  • Python para Data Science y Machine Learning Bootcamp
  • De principiante a avanzado: aprendizaje automático y redes neuronales.

Todo lo mejor .

Si realmente desea abandonar Java solo para aprendizaje automático, porque le encanta el idioma, no es necesario , lo hará muy bien como las personas que utilizan cualquier otro lenguaje de aprendizaje automático (python o R). La curva de aprendizaje inicial de estos idiomas es mucho más alta que la de Java y, por lo tanto, la popularidad y el soporte.

En la práctica, se trata del idioma en el que se siente cómodo en la codificación y que cuenta con un soporte de comunidad de código abierto activo para las bibliotecas de ML (si su trabajo requiere principalmente el uso de bibliotecas ya escritas).

En cuanto a su comodidad, supongo que está de acuerdo con Java y sobre la contribución de código abierto también, eche un vistazo, pocas bibliotecas muy famosas y bien escritas en Java:

El grupo de procesamiento de lenguaje natural de Stanford
Fuente abierta, aprendizaje profundo distribuido para la JVM.
Minería de datos con software de aprendizaje de código abierto de máquina en Java

MLlib | Apache Spark (marca ML en lugar de ML-Lib)

Y otras bibliotecas aquí:
Herramientas y bibliotecas de aprendizaje automático de Java

El lenguaje Scala se construye sobre Java y se considera la gran novedad en el aprendizaje automático a gran escala, considerando que la chispa está escrita en él. Intenta jugar con él y las bibliotecas ML (o ML-Lib) en spark.

Realmente la mayoría (no todos) de las personas, utilizan Python (o R) como lenguaje de desarrollo completo para desarrollar algoritmos, en lugar de usarlo como lenguajes de scripting junto con las famosas bibliotecas de aprendizaje automático (scikit learn, etc.). Y la razón principal detrás de esto es la rápida curva de aprendizaje inicial de estos lenguajes de alto nivel como Python y R sobre lenguajes de bajo nivel como C, C ++ y Java. Pero si alguien es realmente bueno con estos idiomas, está bien como cualquier otro.

Pero todo dicho y hecho, un programador / programador realmente bueno siempre estará preparado para aprender nuevos idiomas, porque cada idioma es hermoso en sí mismo y tiene algún propósito asociado con él. Prueba Python y R cuando tengas tiempo, también te enamorarás de ellos.

También vea TensorFlow, es algo que se construye sobre python, pero eventualmente la mayoría de los científicos de datos se están moviendo hacia esto, debido a la belleza del lenguaje. Un algoritmo de Perceptron de juguete puede escribirse en 3-4 líneas en él :).
Si no me equivoco, los chicos de Databrick también están recibiendo algún tipo de soporte para Tensorflow con Spark.

Feliz codificación y feliz aprendizaje !!

Python es bueno para aprender para el ML pero no es absolutamente necesario.

El curso ML de Andrew Ng requiere que las tareas se realicen en MATLAB / Octave (Octave [0] es esencialmente la versión de código abierto de MATLAB, aunque hay algunas diferencias que no son pertinentes para esta discusión, así que las usaré indistintamente). La razón que da para esto es que MATLAB es adecuado para la creación de prototipos de algoritmos ML rápidamente . Para Python y Java, tendría que usar bibliotecas integradas como scikit-learn (Python) o Weka (Java) o codificar los algoritmos desde cero, lo que implica una curva de aprendizaje ligeramente más pronunciada que la interfaz nativa de MATLAB.

Así que si quieres seguir el curso de Ng, te recomiendo que te cepilles el MATLAB. Hay una sesión introductoria para el curso en el material de la primera semana. Pero siempre puede implementar simultáneamente los mismos algoritmos (regresión lineal, regresión logística, etc.) en Python, Java o incluso R.

La ventaja de Python sobre Java es que es mucho menos detallado pero aún así se puede leer y es fácil de implementar. También es muy rápido de aprender y hay muchos recursos [1,2,3] para ayudarte a aprenderlo y trabajar con él [4]. Hay un gran auge en su uso para Data Science / ML que lo ha traído cuello con cuello con R (que fue / es posiblemente el idioma más popular, al menos estadístico, preferido para el análisis de datos) en los últimos años [5].

¡Buena suerte!

0. Una guía del programador para la octava

  1. Pitón
  2. Una introducción suave a la programación usando Python
  3. Aprende Python por el camino difícil
  4. Preguntas más recientes sobre ‘python’
  5. R vs Python para Data Science: el ganador es …

Python no es una obligación. Sin embargo, hay una razón por la cual mucha gente elige usar Python en ML. Creo que es debido a la simplicidad que trae Python. Python es uno de los idiomas más fáciles de aprender. Ya que usted también conoce Java, ¡no sería fácil para usted! ¡Créeme!

Así que sigue adelante y comienza a aprender Python. Personalmente prefiero estudiar desde aquí. Aquí está mi elección para ti:

  1. Tutorial de Python para principiantes: aprende en 7 días Este enlace te llevará a un blog donde puedes aprender Python de forma gratuita. La enseñanza se realiza a través del contenido basado en texto y se espera que practiques por tu cuenta.
  2. Puedes ver este curso en línea en Python. Un tutorial completo sobre programación en Python | ChalkStreet Esto ha sido creado por un equipo formado por los graduados de Stanford, IIT, IIM Alumni. Ellos han construido este curso para principiantes absolutos y este curso viene con una certificación. Creo que también hay una introducción al Aprendizaje Automático en este curso. Por lo tanto, esto sería muy relevante para usted.
  3. Dirígete a Coursera. Cursos de programación en Python | Coursera Aunque todo el contenido del video es gratuito, la certificación se paga. La ventaja es que puedes estudiar gratis.

Creo que la respuesta debe ser breve y directa: no es necesario que aprendas Python para aprender aprendizaje automático.

Al igual que un programador de Python, no necesita aprender Java para aprender MVC. Puede comenzar con, diga django, y una vez que construye algunas aplicaciones y obtiene los conceptos de MVC, puede evaluar SpringMVC, Django, Flask, etc. Si encuentra evidencia convincente de cómo Spring es mejor para la mayoría de sus MVC del día a día. aplicaciones, él puede elegir aprender Java a lo largo del tiempo (lo que podría estar pensando que es una tarea muy difícil para el programador de Python).

Lo que estoy tratando de transmitir es que debes mantener tu enfoque en los conceptos de LD y resolver algunos problemas del mundo real (por tu cuenta, no tutoriales guiados) utilizando ML. Java tiene suficientes bibliotecas (por ejemplo, aprendizaje profundo de código abierto y distribuido para la JVM) para que pueda comenzar hasta el nivel experto / empresarial.

PS (soy un programador de python)

No es una necesidad, pero definitivamente es el arma adecuada para enfrentar los problemas de LD.
Como desarrollador, Java es mi lenguaje, pero crear prototipos es muy difícil. Además, el aprendizaje automático requiere una manipulación de datos eficiente y operaciones matemáticas complejas (especialmente operaciones matriciales). Java carece de estos dos aspectos.
Además de esto, debe comprender que la forma correcta de abordar un problema de LD es mediante un prototipado rápido seguido de un refinamiento iterativo del algoritmo. En los puntos, puede que incluso tenga que comenzar desde la casilla uno, ya que el enfoque que tomó puede carecer de precisión en los resultados. Por lo tanto, es mejor implementar el algoritmo una vez que se aseguren los resultados. Esto nos permite utilizar diferentes prototipos y lenguajes de desarrollo.

Las mejores opciones son:
R

ventajas: creación rápida de prototipos, fácil para la visualización de datos, funciones matemáticas complejas integradas, basadas en funciones

contras: curva de aprendizaje empinada

MATLAB

ventajas: modelado rápido de datos, funciones matemáticas complejas integradas, prototipos extremadamente rápidos

contras: no es exactamente un lenguaje de programación

OCTAVA

pros: similar a matlab, fácil de aprender, excelente para visualizar datos, el curso de Andrew usa esto

contras: solo bueno para prototipado

Pitón

pros: procesamiento rápido, creación rápida de prototipos, biblioteca matemática especializada – NumPy, biblioteca especializada en aprendizaje automático – SciKit, muchas otras bibliotecas, la mejor característica es que python también se puede usar como lenguaje de desarrollo y no solo como lenguaje de creación de prototipos

En mi humilde opinión debería perseguir al menos una de estas opciones para la creación de prototipos y usar java o python para el desarrollo de la aplicación.

¿Es necesario aprender? No

¿Es bueno aprender? Si

Por ejemplo, considere leer un simple archivo CSV (valores separados por comas).

Java

importar java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

clase pública CSVReader {

public static void main (String [] args) {

String csvFile = “test.csv”;
Línea de cadena = “”;
String cvsSplitBy = “,”;

try (BufferedReader br = new BufferedReader (new FileReader (csvFile))) {

while ((line = br.readLine ())! = null) {

// usa la coma como separador
String [] data = line.split (cvsSplitBy);

}

} captura (IOException e) {
e.printStackTrace ();
}

}

}

Pitón

importar pandas como pd
datos = pd.read_csv (‘test.csv’)

Usted obtiene la diferencia.

Según una encuesta reciente, Python está superando a R, que es otro lenguaje popular para la ciencia de datos.

Aquí otros pueden incluir Java también. Aunque Java tiene sus propias ventajas, con el propósito de aprender es bueno seguir adelante con Python.

Y oye, Python es simple y fácil de aprender.

¿Qué hay de tomar Analytics Edge por MIT en edX? Lo encontré más orientado a la práctica. El lenguaje R, que se usa básicamente en la ciencia de datos, se usa en el curso. El curso de Andrew NG puede aburrirte ya que se enfoca más en la teoría antes de saltar a lo práctico (Hecho en octava).

Analytics Edge Link: The Analytics Edge

Básicamente, el punto principal considerado por el desarrollador de Java durante el desarrollo del compilador de Java es la seguridad y el desarrollo de aplicaciones. Y, prestan menos atención a la IA. Pero más tarde o pronto, el mercado de la IA fue floreciendo. Oracle introducirá bibliotecas ricas.

Sin embargo, en la perspectiva actual, Python es más adecuado para el aprendizaje automático debido a que es fácil de escribir y tiene menos restricciones. Sentí que los java tienen bibliotecas vastas y complejas. Incluso yo también en el camino para aprender AI y hacer investigaciones sobre.

¿Qué idioma es el adecuado para ello?

Hasta ahora he encontrado que Python tiene más ventaja que Java. Solo sabía java no python. Todavía estoy investigando sobre el lenguaje.

Tomé ese curso hace dos años y, francamente, no creo que haya requisitos previos para el mismo. El curso es un poco matemático, por lo que el conocimiento de cálculo, probabilidad y estadística ayudaría. Hará las asignaciones en el software llamado octava para que aprender Python no sea necesario, aunque aprenderlo ayude. También le sugiero que tome un curso de aprendizaje estadístico de la Universidad de Stanford junto con este curso para una comprensión completa de la materia. Los mejores deseos.

Absolutamente no, pero ¿por qué no? Es un lenguaje hermoso. Si está haciendo ciencia de datos y aprendizaje automático, ¿por qué no aprender los conceptos básicos de Scala, Python y R, así como Java, para ampliar su horizonte y hacer que su experiencia profesional sea más diversa?