January 04, 2024

Uso de IA para resolver consultas de datos del navegador con el equipo de Google Chrome

EL PROBLEMA

El equipo de relaciones con desarrolladores de Chrome de Google considera que los “cuatro grandes” navegadores son: (sin ningún orden en particular) Chrome, Firefox, Edge y Safari. Se llamó la atención sobre el hecho de que, según statcounter.com, Opera tenía un uso superior al 30% en algunos países, mientras que en todo el mundo era inferior al 5%.

El objetivo es llegar a más del 95% de una población determinada, y si la población objetivo incluye estos países, entonces claramente se debe considerar que Opera es parte de la base principal.

Aunque las razones específicas de este valor atípico quedaron claras con algunas investigaciones, la pregunta persistía: ¿qué más nos estamos perdiendo?

A escala global, es bastante fácil recopilar registros de fuentes publicadas como CDN (redes de distribución de contenido) y determinar cuál es el uso global, pero si su público objetivo no es global, ¿dónde se benefician mejor los esfuerzos de los desarrolladores?

Nota: todas las cifras deben tomarse como dadas, aunque cada una de ellas puede ser discutida fácilmente; Una cadena de agente de usuario se manipula o falsifica fácilmente; recopilar de una única fuente tenderá a ciertos tipos de tráfico repetidos; muchos países tienen redes internas o cerradas, etc.

UNA SOLUCIÓN

No existe una solución única, los datos de origen no son perfectos e incluso si lo fueran, las anomalías a menudo son explicables. La solución presentada fue recopilar estadísticas siempre que fuera posible y aplicar un modelo de aprendizaje para detectar e informar automáticamente datos atípicos: puntos de datos que no encajan perfectamente en el modelo de aprendizaje de datos.

HERRAMIENTAS

Utilizando fuentes disponibles gratuitamente, datos de población mundial de worldmeters.info y uso e historial del navegador de statcounter.com, estos datos se obtuvieron y se ingresaron en el almacenamiento local para su examen.

Uso de las bibliotecas de aprendizaje y manejo de datos de Python:

  • Pandas – Análisis de datos de Python
  • SciPy – Python científico
  • Sklearn – Algoritmos de aprendizaje
  • PyOD - Detección de valores atípicos de Python

Las visualizaciones se generaron usando:

  • Pyplot de Matplotlib

METODOLOGÍA

Utilizando las estadísticas globales como base, los datos se dividen en segmentos, uso del navegador a nivel mundial y por país. Luego, estos datos se cargan en un modelo de detección kNN. kNN es…

Para obtener información sobre nKK, consulte este artículo en medium com

Es posible que otros algoritmos de aprendizaje automático produzcan resultados alternativos y ciertamente podrían considerarse, pero se sabe que kNN sobresale en la clasificación de datos.

Cada punto de datos es el uso percentil de un navegador determinado, por segmento local.

Usando la distancia euclidiana (una forma MUY elegante de decir "una línea recta"), cada punto de datos se clasifica en una... clase. Luego, esta clase es más grande para ingresar los siguientes puntos. Si un punto de datos no puede encajar en uno de los grupos de datos, entonces se considera un valor atípico, un punto de datos extraño, y esto es precisamente lo que estamos buscando.

El modelo mide la distancia a los 5 grupos de vecinos más cercanos. Esto puede considerarse de manera muy aproximada como cada uno de los 4 navegadores principales, más uno más (hay muchos navegadores que nunca se utilizan en un país determinado, por lo que un uso del 0,0% es bastante común).

PyOD suele utilizar un vector de contaminación, un número que se proporciona para indicar qué tan precisos son los datos o cuánto se espera que sean valores atípicos, y para ayudar a suprimirlos. Efectivamente, un cv del 0 % detectará todos los ligeros valores atípicos, mientras que un cv del 99 % apenas detectará nada. Las pruebas iniciales indicaron que el 2% proporcionaba un buen equilibrio.

Un parámetro específico de kNN es el método utilizado para determinar el vecino más cercano, un valor comúnmente utilizado es "media", que utiliza el promedio de todas las k distancias de vecinos, pero en este caso utilizamos "más grande" ya que nuestro objetivo específico es determinar si el uso de un navegador está fuera de lo normal para ese navegador específico, no solo si es anormal en general.

Utilizando estos vectores, los datos se ajustan al modelo, que se clasifica como 0 o 1: encaja en el modelo o no. Por conjunto de datos, se generan una ROC (característica operativa del receptor) y precisión. La ROC se puede utilizar para crear una métrica AUC (área bajo la curva).

Puede encontrar información sobre ROC y AUC en este enlace en Developers for Chrome

La precisión es la cantidad de datos que tenemos se utiliza en una clasificación. Una precisión muy baja significa que una clasificación se basa en muy pocos datos y es poco probable que sea objetiva.

Un AUC es una métrica que indica la probabilidad de una predicción exitosa basada en el modelo: qué tan seguro es que el algoritmo de aprendizaje ubicará con éxito el siguiente punto de datos.

Las métricas de precisión de <0,75 (menos del 75 %) y un AUC de <0,85 (menos del 85 %) generaron una advertencia y no se tuvieron en cuenta para el resultado final.

Puede encontrar más información sobre KNN Precision and Recall aquí

RESULTADOS

Una vez clasificados, se generaron todos los valores atípicos/anomalías y se asignaron a un país con datos adicionales cargados, como la población.

Los errores de falta de variación son muy probables debido a que muchos navegadores son una localización de otro y solo son populares en su país anfitrión. Por lo tanto, muchos navegadores obtienen una puntuación del 0% en muchos países, y se espera y se gestiona esta excepción de modelado de datos potencialmente fatal.

*AUTOR: Matt Collier en Node

Ponerse en contacto

Envíanos un mensaje y nos comunicaremos contigo.

Gracias por tu mensaje. Estaremos en contacto.

Regresar a la página principal
¡Ups! Algo salió mal al enviar el formulario. Por favor intenta desde: Página de contacto.

Try 7 different AI ChatBot models

AI got a big boost in attention when ChatGPT-3 was launched. For some it was the marking of a new era in pushing the boundaries of tech and seemed OpenAI’s product had taken the market by surprise.

In fact, other developers are actively producing what would be the competition, or in some cases a varied, different model suited to a different application or scenario.

We see that AI is far from perfect and test out 7 alternative models. You may switch between them on the right and try for yourself, see if this “virtual assistant” could be of help or hinderance.

Watch this space as we will soon publish some further information on the models and the differences between them (plus practical application). For now, please do enjoy playing with our AI Chatbot :)

Model selected: