¿Utiliza bibliotecas o código usted mismo cuando usa un algoritmo de aprendizaje automático? ¿Qué hace un científico de datos con esto en su trabajo?

Utiliza bibliotecas para todo lo que puede e inventa las cosas que no están disponibles en las bibliotecas. Hay personas que maldecirán con la codificación manual, pero las ventajas que le brinda generalmente son pálidas en comparación con el código de mayor calidad que proporcionará una buena biblioteca, así como todos los otros ojos que nunca podrán ver su código, pero que han ayudado a las bibliotecas a fortalecerse. Particularmente si estás haciendo trabajo comercial; siempre debe esforzarse por poner su energía en su ventaja competitiva. Si el código existe en una biblioteca, es casi seguro que no sea su área de ventaja competitiva.
Todo lo que he dicho hasta ahora se aplica a cualquier código de computadora, pero con el aprendizaje automático hay una razón aún más convincente para usar bibliotecas: en el caso de ML, su ventaja competitiva puede no ser el código, sino el corpus que usa y el características que has elegido. Concéntrese en dónde puede agregar el mayor valor: en ML se trata de construir su entorno de capacitación y conjuntos de datos.

Implementar un algoritmo por su cuenta es la manera perfecta de aprender realmente sobre el algoritmo. Sin embargo, es mejor dejarlo como ejercicio académico. Si un algoritmo está disponible dentro de una biblioteca existente como scikit-learn o GPy, es probable que el código dentro de estos módulos haya sido rigurosamente probado para detectar errores y funcione de manera muy eficiente. Entonces, en la práctica, ve con la biblioteca. Tenga en cuenta que esto le permite centrar su atención en detalles más importantes, como la selección de funciones.

Hola,
Puede diseñar y codificar el algoritmo usted mismo, tratando de entender cómo funciona realmente. Esto puede llevar tiempo, quise decir mucho tiempo. Hay muchos científicos que saben qué hacer con los algoritmos más que saber cómo funciona realmente. Entonces, mi consejo sería aprender haciendo, explorar la biblioteca, modificarla, algún día lo descubrirás sobre la marcha.

Puedes pensarlo en dos fases.

1. Fase de aprendizaje

Elija un algoritmo que planea usar y codifíquelo usted mismo. Esto le ayuda a comprender cómo funciona y qué posibles limitaciones puede tener.

Repita esto para cada nuevo algoritmo que desee usar.

2. Fase de uso práctico

Según lo que sabe, elija una biblioteca adecuada que implemente bien el algoritmo y úselo. Debe tener un código de mayor calidad ya que muchas personas lo han usado, y no tiene que reinventar la rueda. Ocasionalmente, la biblioteca existente puede no satisfacer sus necesidades, y puede escribir la suya en ese momento.

Desde el tiempo que pasé aprendiendo / jugando con Machine Learning, generalmente uso bibliotecas, pero cuando algo no está disponible, termino teniendo que codificarlo yo mismo.