Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
CreateML-TextClassifier.playground Add files via upload Sep 28, 2018
Data Add files via upload Sep 28, 2018
iOS App Add files via upload Sep 28, 2018
README.MD Update README.MD Sep 28, 2018

README.MD

Create ML. Tutorial − MLTextClassifier

Xcode Swift Mojave

Segundo artículo de la serie dedicada a Create ML. En este caso generamos un clasificador de texto y lo importamos a una app iOS que clasifica las reseñas que escribe un usuario.

Este repositorio está dividio en tres carpetas

  1. Data Contiene los archivos json con los que entrenar el modelo
  2. Playground Al descargar el respositorio a disco veremos que es un Playground de Swift
  3. Python ETL El proceso de extracción de datos con los que alimentar el modelo.

Los Datos

Para entrenar el modelo en esta segunda entrega he aligerado el juego de datos y también balanceado la cantidad de reseñas por categoría. Ahora el archivo tiene 40.000 reseñas, 8.000 para cada categoría.

Las entidades json tienen los siguiente campos

Campo Tipo Descripción
content String Contenido completo de la reseña
rating String Valoración de la app. Entre 1 y 5

El Playground

Debe ejecutarse sobre Xcode 10 en un Mac con macOS Mojave instalado. Al abrir el playground se verá que está compuesto por 2 páginas, una tiene la creación por defecto de un MLTextClassifier y el otro su creación pero con MLTextClassifier.ModelParameters

La App iOS

Para simplificar la lectura y seguimiento de código no he añadido la lógica de negocio en un target aparte, por lo que está todo dentro del target de la app.

  • La carpeta Model contiene el archivo .mlmodel generado con Create ML.
  • En Entities está la enumeración Rate que usaremos para facilitar la presentación de la clasficación de la reseña

El resto contiene las vistas y controladores además de archivos de recursos habituales de cualquier aplicación iOS.

Contacto

Si tienes dudas o preguntas seguro que me encuentras en mi cuenta de twitter @fitomad