¿Cómo se implementan los algoritmos de aprendizaje automático en un entorno empresarial?

Gracias por hacer esta pregunta! Haría todo lo posible para describir cómo puede usar Machine Learning en el entorno empresarial.

Prefiero darle un enfoque más integral, para que tenga mucha inspiración a la que aferrarse.

¿Cómo se ve el trabajo de un ingeniero típico y cómo puede ayudar la ciencia de datos en esas líneas?

  1. Toma de decisiones: en mi trabajo, tengo varias decisiones que tomar y varias acciones que tomar en un día. Además, tengo varias partes interesadas para actualizar, varias personas a las que orientar, varios conjuntos de datos para ver y varias herramientas y máquinas para manejar. Algunas de estas máquinas son máquinas físicas que fabrican cosas, y otras son simplemente programas de computadora y plataformas de software que crean configuraciones para estas máquinas.
  2. Datos: la mayoría de los datos que tenemos están en varios servidores que se distribuyen en varias unidades, o están en alguna unidad compartida, o en alguna unidad de disco duro disponible en un servidor.
  3. Bases de datos: estos servidores de bases de datos se pueden usar para obtener datos con SQL o extracción directa de datos, o tomándolos de alguna manera (por ejemplo, copiando por FTP), a veces incluso copiando manualmente y pegando en Excel, CSV o bloc de notas. Por lo general, tenemos varios métodos para extraer datos directamente de los servidores. Hay varias plataformas SQL como TOAD, Business Intelligence e incluso en plataformas integradas.
    1. SQL se puede aprender fácilmente usando estas plataformas, y uno puede crear muchos scripts SQL.
    2. Incluso puede crear guiones que puedan escribir guiones.
    3. Te inspiraría a aprender SQL, ya que es uno de los lenguajes más utilizados para obtener datos.
  4. Datos nuevamente: los datos en estas bases de datos pueden estar altamente estructurados o algo desestructurados, como comentarios humanos, etc.
    1. Estos datos a menudo pueden tener un número fijo de variables o un número variable de variables.
    2. A veces también pueden faltar datos, y a veces se pueden ingresar incorrectamente en las bases de datos.
      1. Cada vez que se encuentra algo como esto, y se envía una respuesta inmediata a los administradores de bases de datos, y corrigen los errores si hay alguno en el sistema.
      2. Por lo general, antes de configurar un proyecto gigante completo de configuración de una base de datos, varias personas se unen y discuten cómo deberían verse los datos, cómo deberían distribuirse en varias tablas y cómo deberían conectarse las tablas.
      3. Estas personas son verdaderos científicos de datos, ya que saben lo que el usuario final querrá diariamente una y otra vez.
      4. Siempre intentan estructurar los datos tanto como sea posible, porque hace que sea muy fácil manejarlos.
  5. Secuencias de comandos y programación: al utilizar varias secuencias de comandos programadas para ejecutarse en momentos específicos, o a veces configuradas para ejecutarse de manera ad hoc, obtengo y vuelco datos en varias carpetas en una computadora dedicada. Tengo un HDD bastante grande para almacenar muchos datos.
    1. Por lo general, agrego nuevos datos a los conjuntos de datos existentes y elimino los datos más antiguos de manera oportuna.
    2. A veces tengo programas que se ejecutan con comandos de suspensión, que en horarios programados simplemente comprueban algo rápidamente y vuelven a dormir.
  6. Más secuencias de comandos: Además, hay varias secuencias de comandos que se configuran para procesar estos conjuntos de datos y crear un montón de decisiones a partir de ellos.
    1. La limpieza de datos, la creación de valiosas tablas dinámicas y gráficos es uno de los mayores retrasos de tiempo para cualquiera que intente obtener un valor de esto.
    2. Para lograr algo como esto, primero debe comprender sus datos de entrada y salida, y debe ser muy capaz de hacer todo tipo de cálculos manuales, generar hojas de Excel y visualizar datos.
    3. Ciencia: con lo que te inspiraría es que antes de que hagas ciencia de datos, hagas ciencia, aprendas la física detrás de tus datos y los entiendas dentro y fuera. Diga ~ Si trabaja en una industria de camisetas, debe conocer todos los aspectos de un cambio de camiseta dentro y fuera, debe tener acceso a toda la información posible sobre camisetas, y debe saber muy bien lo que quieren los clientes y como, sin siquiera mirar ninguno de los datos.
    4. Sin comprender la ciencia, la ciencia de datos no tiene valor, y tratar de lograr algo con ella puede ser un esfuerzo infructuoso.
    5. Advertencias: he visto a muchas personas sin saber qué planear contra qué.
      1. Lo peor que he visto es que las personas trazan variables entre sí y sacan conclusiones de ellas.
      2. Es cierto que las correlaciones existen en muchas cosas, pero siempre debe saber si hay alguna causalidad.
      3. Ejemplo: existe una correlación significativa entre el número de premios Nobel y el consumo de chocolate per cápita de varios países; ¿Pero es una causalidad? ¡Tal vez no!
  7. Volver a los programas: por lo general, hay una secuencia en la que se ejecutan todos los scripts y se crean todo tipo de tablas y gráficos para ver.
    1. Algunas secuencias de comandos son secuenciales, mientras que algunos programas son simples ejecutables. Los ejecutables generalmente se escriben para la velocidad, y C, C ++, C # etc. se pueden usar para ellos.
    2. Los scripts se pueden escribir en Python, VB, etc.
  8. Toma de decisiones: cuando se cumplen ciertas condiciones {If / Then}, más programas informáticos se disparan automáticamente y ejecutan más análisis de datos.
  9. Ciencia de datos: esto generalmente se desarrolla en muchas estadísticas, clasificación, regresión.
    1. Aquí es donde entra el aprendizaje automático. Uno puede usar lenguajes de programación como Python o R para hacer esto.
    2. Basado en los resultados de los algoritmos de aprendizaje automático, se ejecutan más programas de computadora y se generan más tramas o se activan más programas.
  10. Trazado: en última instancia, muchos trazados se almacenan de manera coherente para que los humanos tomen decisiones.
  11. Informes autosostenibles: los informes son programas autoactivados y autosostenidos que me dicen qué hacer.
  12. La sensación de ser ironman: generalmente miro los resultados de todos los informes en 10 minutos y tomo decisiones sobre qué hacer a continuación durante muchas horas. De vez en cuando miro los informes nuevamente para redefinir las decisiones o cambiarlas sobre la marcha si esto tiene que hacerse.

¿Cuáles son las ventajas de hacer todo esto?

  1. En primer lugar, cuando una computadora hace algo, lo haría a una velocidad mucho más rápida que un humano.
  2. Una computadora lo hará incansablemente y sin cesar.
  3. Los programas de computadora necesitan una cantidad suficiente de capacitación y múltiples niveles de prueba para entradas variables, pero una vez que todo se haya hecho, seguiría haciendo ese trabajo para siempre hasta que el espacio de muestra cambie o algo cambie drásticamente en la entrada.
  4. Al programarlo al nivel en que todo el resultado se configura en un tablero, es muy fácil ver cuál debe ser el orden de los proyectos.

¿Cómo creas ahora valor a partir de algo como esto?

  1. ¡Uno siempre debe estar detrás de la ciencia! y al conocer sus datos lo mejor posible, podrá ordenar la implementación de sus proyectos.
  2. La decisión que tomaría y las acciones que tomaría serían más difíciles, mejores, más rápidas y más fuertes.
  3. Sería capaz de sacar conclusiones y generar algunos proyectos lean sigma.
  4. Podrá actualizar a las partes interesadas con bastante anticipación y estar en la cima de sus proyectos.
  5. Podrías concentrarte solo en el aspecto científico en lugar de solo tratar de crear tramas manualmente.
  6. Podría descubrir tendencias en sus datos más fácilmente y decir las cosas de una forma u otra si los datos le indican que tome decisiones a favor de una opción sobre otra.
  7. Por último, pero no menos importante, puede reducir significativamente los esfuerzos humanos y automatizar todas las cosas por usted.
    1. Incluso tengo scripts que me presionan o completan formularios.
    2. Tengo varios programas de análisis de imágenes que analizan imágenes y toman decisiones sobre la marcha sin que los humanos las miren.

Espero que esta respuesta sea elaborada y te dé una idea de en qué puedes trabajar. Intentaré agregar a esto a medida que más se me ocurra.

Por último, pero no menos importante: con solo conocer SQL, C, Python y R, puedo decirte que realmente puedes distorsionar algo de la realidad. No hay absolutamente ningún límite para esto. Solo que lleva tiempo, paciencia y construir sistemáticamente las cosas una tras otra.

¡Manténgase bendecido e inspírese!

No estoy seguro de cómo puedo comparar con lo que haces, así que describiré cómo hemos realizado algunas implementaciones en Miniclip para que puedas compararlo tú mismo.

Creo que lo primero que debe tener en cuenta al intentar responder a esa pregunta es que el “entorno empresarial”, como lo describió, puede ser muy diferente dependiendo de la industria. En la analítica del juego, las cosas se configuran más o menos así:

Si necesita (o quiere) más información sobre las diversas partes, consulte esta publicación de blog: Entonces, desea tener análisis de juegos, ¿eh? Disculpas por el complemento a mi blog, pero agregarlo aquí haría que la publicación sea enorme.

La parte que le interesa es la de la derecha: el científico, el robot Bender y todas las conexiones. El resultado final está etiquetado como “Productos de datos”, por lo que el aspecto de Bender. Están sucediendo varias cosas que permiten esto.

Ingestión de datos, ETL y almacenamiento

Ingerimos datos de múltiples maneras. La mayor parte es la flecha etiquetada “Datos de eventos”. Esos son los eventos que vienen de nuestros juegos. Mi equipo define los eventos necesarios según el trabajo que se necesita hacer y nuestro equipo de ingeniería de datos se encarga de ingerirlos en los segmentos de “Datos sin procesar” y luego trabaja en los procesos que permiten que ocurran muchas otras cosas, etiquetadas como “ETL “.

El mismo proceso de ingestión también ocurre con otras fuentes de datos, pero estas fuentes de datos no están completamente bajo nuestro control. Pueden ser API, puntos finales, archivos, etc. Pero lo que realmente importa es que al final de estos procesos tenemos conjuntos de datos muy grandes, pero muy ordenados.

Prototipos

Asumiendo que hemos ordenado la parte no técnica de la construcción de un producto de datos, comenzamos a crear prototipos. Esto a menudo significa consultar datos de nuestros datos para obtener conjuntos de datos, crear modelos o aplicaciones. Apuesto a que es muy similar a lo que haces. Tal vez no usemos la misma tecnología, pero al final todo es lo mismo: adquirir, limpiar, explorar y modelar.

Llevándolo a producción

Esta es probablemente la parte que es menos obvia para usted. Ahora que tenemos un modelo, ¿qué hacemos? En este caso, me estoy centrando exclusivamente en productos de datos automatizados. Los interactivos son “simplemente” una aplicación que hace cosas que un tablero común no puede hacer. Si bien hay algunos productos de datos interactivos que tienen modelos predictivos, los realmente jugosos están completamente automatizados.

Técnicamente hablando, lo que hacemos es:

  • Integrar : ponemos el modelo ejecutándose en la nube con la ayuda del equipo de ingeniería de datos. Esto tiene algunas idiosincrasias techy que rara vez son un factor al crear prototipos. Por ejemplo, ¿tenemos que portar a otro lenguaje de programación? ¿Será un modelo por lotes o en tiempo real? Después de que todo está ordenado, el modelo está en la nube funcionando como se esperaba.
  • Validar : el modelo funciona como se esperaba pero ¿se entrega como se esperaba? Si bien presentamos a nuestros modelos nuevos datos mientras hacemos prototipos, queremos asegurarnos de que se comporten como esperamos. Hay muchas razones para esto. Una es pura validación, es decir, ¿REALMENTE se generalizó? La otra es la seguridad, ya que lo más importante para nosotros es la experiencia del usuario y queremos asegurarnos de que lo que hagamos no afecte, por ejemplo, que nuestros juegos sean más lentos. Puede haber más dependiendo del problema y modelo.
  • Evaluación continua : hay muchas razones para que un modelo se vuelva … malo. Nuestra base de usuarios cambia, nuestros juegos cambian. En algún momento, tal vez el producto de datos necesite ser trabajado nuevamente. Para ello, tenemos otro producto de datos que simplemente evalúa los otros productos de datos y cada uno de ellos tiene su propio conjunto de métricas para revisar.

En pocas palabras, así es como integramos modelos predictivos en un entorno empresarial. Espero eso ayude.

¡Hola!

Siento que estas publicaciones pueden responder sus preguntas:

Cómo aplicar el aprendizaje automático a problemas empresariales

Una guía práctica para el aprendizaje automático en los negocios.

Cómo las empresas reales utilizan el aprendizaje automático

Si desea obtener más información sobre cómo estos también pueden trabajar juntos para beneficiar a organizaciones y empresas en diferentes industrias, le recomendaría un curso de Experfy, una empresa con sede en Harvard que ofrece varios cursos en línea relacionados con TI y tecnología. Consulte Machine Learning para Predictive Analytics de Experfy si desea obtener información general sobre cómo se puede aplicar el aprendizaje automático a diferentes áreas, ya que tiene muchos casos y demostraciones del mundo real.

Espero que ayude 🙂

Eric

Data Science for Business es una buena referencia sobre cómo se utilizan el aprendizaje automático y la ciencia de datos en el “mundo real”. Habla específicamente sobre el análisis de rotación, que básicamente determina cuánto tiempo un cliente considerará dar su negocio a una empresa.

Hay toneladas de sitios como Kaggle: Your Home for Data Science que tiene competencias con conjuntos de datos interesantes. Allí mire las competiciones pasadas y encontrará aplicaciones que incluyen búsqueda, marketing, ventas, medicina y comercio electrónico.

Mi proceso típico involucra a alguien que viene a nuestro grupo de análisis con un problema o la necesidad de comprender mejor un proceso. Nos sentamos con esa persona para definir qué es y qué esperan obtener de nuestros conocimientos / cómo esperan utilizar nuestros hallazgos. Luego elijo el método más apropiado dados los datos que tenemos (tamaño de la muestra, métodos de recolección, posibles sesgos …) y los objetivos del proyecto. Luego revisamos los resultados con el solicitante y podemos realizar análisis adicionales basados ​​en nuestros hallazgos. Cuando estamos satisfechos, hacemos recomendaciones sobre cómo implementarlos (cambios operativos, clasificación automatizada o coincidencia dentro de un sistema …).

Un modelo simple de análisis y retención de abandono para mejorar la reducción de abandono en una industria de telecomunicaciones. No es un modelo completo, sino un modelo básico simple para comenzar.

Los conjuntos de datos no tienden a ser tan limpios y los usuarios comerciales no tienden a preocuparse por lo que haces siempre que funcione tu algoritmo. Los plazos también son ajustados.

Es importante establecer una métrica acordada para lo que es un algoritmo “exitoso”. También es importante pensar en cómo producir un algoritmo.

Por ejemplo, algunas empresas son .NET y tendrá que investigar cómo implementar su algoritmo para ser compatible con eso.