Implementar modelos de aprendizaje automático con ChatGPT

Publicado el 15 febrero 2023 por Daniel Rodríguez @analyticslane

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.

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.

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.

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.

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.

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?

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.

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.

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.

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