Ciencia de datos

Implementar modelos de aprendizaje automático con ChatGPT

ChatGPT es un modelo de lenguaje desarrollado por OpenAI que puede producir respuestas a las cuestiones que se le plantean de forma similar a como lo haría un humano. Con capacidad de comprender el contexto de las preguntas y seguir una conversación. Por lo que es capaz ampliar o corregir las respuestas generadas anteriormente dentro de una conversación en base a las cuestiones planteadas. Debido a esto, ChatGPT se puede usar para crear chatbots, asistentes virtuales y otras aplicaciones que requieren procesamiento de lenguaje natural. ChatGPT se basa en el modelo GPT-3, que es uno de los modelos de lenguaje más avanzados del mundo. El modelo utiliza una arquitectura transformadora y técnicas de aprendizaje profundo para generar texto de alta calidad. Debido a que el modelo ha sido entrenado con múltiples fuentes tiene un amplio conocimiento de diferentes temas, entre los que se incluye la programación o el aprendizaje automático. Lo que permite crear modelos de aprendizaje automático con ChatGPT, veamos cuales son los resultados.

Creación de una cuenta para hablar con ChatGPT

Aunque, por el momento, ChatGPT se puede usar de forma gratuita, es necesario crear una cuenta en OpenAI. Lo que se puede hacer en el siguiente enlace. Una vez creada la cuenta se deberá ver una pantalla como la siguiente.

Página principal de ChatGPT

Para iniciar una conversación solamente hay que ir al campo situado al fondo de la página.

Preguntas sobre operaciones básicas

La conversación con ChatGPT se puede comenzar pidiendo que nos escriba algún algoritmo básico. Por ejemplo, ¿cómo se puede convertir en Python de grados Fahrenheit a Celsius? Generando la siguiente respuesta.

En primer lugar, explica la fórmula de conversión; luego, tal como se le ha indicado, la implementa en una función de Python; finalmente, muestra un par de casos de ejemplo. El resultado es bastante bueno, no solo ha creado la función, sino que la explica e incluye un par de ejemplos.

Fórmula de conversión de Fahrenheit a Celsius

Una vez hecho esto se le puede preguntar por otro problema similar: la conversión de Celsius a Kelvin. Un problema en el que Tabnine falló. En este caso la respuesta ha sido la siguiente.

Fórmula de conversión de Celsius a Kelvin

Al igual que antes la respuesta no solo es correcta, sino que la explica y muestra un ejemplo.

Creación de modelos de aprendizaje automático con ChatGPT

Ahora se puede plantear una pregunta algo más complicada. ¿Cómo se puede implementar un modelo de regresión lineal en Python? Generando ChatGPT la siguiente respuesta.

Modelo de regresión básico creado con ChatGPT

Una respuesta que podríamos encontrar en un manual o tutoría de Scikit-learn. El siguiente paso sería preguntar sobre cómo se haría el modelo si los datos procediesen de un archivo CSV.

Carga de datos desde un archivo CSV

Obteniendo otra vez una respuesta de manual, aunque bien explicada. En su respuesta comenta que para crear el modelo se debe crear una variable X con las características y otra y con el objetivo. Pero ¿qué pasa si no se conoce el nombre de las características?

Uso de los índices para la creación del modelo

En su respuesta ChatGPT indica que se pueden usar los índices, asumiendo, como suele ser habitual, que la última columna contiene la variable objetivo. El código ya es funcional, salvo la parte de predicción donde sigue siendo un ejemplo. En este punto se le puede preguntar a ChatGPT si no es mejor dividir los datos en un conjunto de entrenamiento y otro de validación.

División de los datos en un conjunto para el entrenamiento del modelo y otro de validación

A lo que responde que esta es una buena idea, explicando el motivo de esto. Añadiendo al código anterior la importación de la función tran_test_split y la creación con ella de un conjunto de entrenamiento y otro de prueba. Explicado además que el modelo se ha creado con el 80% de los datos y la validación se realiza con el 20% restante.

Modelos de aprendizaje automático con ChatGPT en R

Ahora que ya se tiene el código para la creación de un modelo en Python se puede plantear escribir este en R. Si se le plantea la pregunta a ChatGPT se obtiene una respuesta como la siguiente.

Modelo de regresión lineal creado por ChatGPT en R

La respuesta es, como las anteriores, relativamente buena. No solo crea el código, manteniendo las peticiones del anterior, sino que explica el funcionamiento básico de los métodos de R.

Modelos de aprendizaje automático con ChatGPT en Julia

Finalmente se puede plantear portar el modelo a Julia. Obteniendo una respuesta coherente con las anteriores.

Modelo de regresión lineal creado por ChatGPT en Julia

Conclusiones

En esta ocasión se ha visto cómo es posible implementar modelos básicos de aprendizaje automático con ChatGPT. La primera respuesta que se obtiene del chat suele ser un ejemplo de tutoría, pero, a medida que se le pide refinamientos, este ofrece mejores respuestas. Además, como tiene en cuenta el contexto, las respuestas se pueden refinar hasta que estas lleguen a un punto que sea satisfactorio.

El ejercicio demuestra que los modelos en los que está basado ChatGPT pueden ser de ayuda cuando se comienza con una librería o lenguaje nuevo. Pudiendo reemplazar en cierta medida a los totorales. Aunque, dado que solamente ofrece respuestas a las preguntas planteadas, es necesario tener conocimientos del tema. Tal como se ha visto en la discusión, ChatGPT indica que es mejor dividir los datos en un conjunto para el entrenamiento del modelo y otro para validar los resultados, pero solo después de indicarlo. Si no se entiende los fundamentos de los modelos, el código que ofrece ChatGPT puede no ser útil en un caso real.

La conversación con ChatGPT se ha realizado en inglés debido a que funciona mejor en este idioma que en español. Posiblemente en una futura ocasión se pueda evaluar si las respuestas en español son igual de buenas o no.

Image by Mohamed Hassan from Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Data Lake y Data Warehouse: diferencias, usos y cómo se complementan en la era del dato

En la era del dato, las organizaciones se enfrentan al reto de gestionar volúmenes masivos…

2 días ago

Documentar tu API de Express con TypeScript usando OpenAPI (Swagger)

En la serie Creación de una API REST con Express y TypeScript construimos una API…

4 días ago

Curiosidad: El sesgo de supervivencia, o por qué prestar atención sólo a los que “llegaron” puede engañarte

Durante la Segunda Guerra Mundial, la Fuerza Aérea de Estados Unidos quería reforzar sus aviones…

1 semana ago

Cómo abrir una ventana de Chrome con tamaño y posición específicos desde la línea de comandos en Windows

En muchas situaciones —ya sea para grabar un tutorial, tomar capturas de pantalla profesionales, probar…

2 semanas ago

La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento

Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…

2 semanas ago

Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)

En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…

3 semanas ago

This website uses cookies.