¡Hola de nuevo!

No voy a extenderme demasiado con lo poco que publico, etc., pero sigo por aquí… :), ahora que es semana santa tengo algo de tiempo y he aprovechado para hacer un experimento y compartirlo con vosotros…

Concretamente le he estado dando vueltas al tema del aprendizaje automático y el SEO, me ha dado por pensar si con la ayuda de los algoritmos de aprendizaje, puedo “inferir” algún resultado de SEO, la idea no es mala, pero la verdad es que cuesta darle forma. A continuación os cuento un primer experimento que he realizado en la plataforma Azure Machine Learning, muy entretenido… 🙂

Empezamos, la idea que se me ha ocurrido para empezar es coger datos relacionados con una palabra clave, pillar el TOP100, sacar sus métricas y con esto darle datos al algoritmo de aprendizaje con el objetivo de que me calcule otro dato.. por ejemplo el MOZ PA, ¿qué PA debo tener para que mi página tenga un “buen” resultado para esa palabra clave teniendo en cuenta el resto de métricas?

Bueno, como experimento al menos será divertido…

¡Adelante!

Seo gratis parece una buena idea, para empezar… volumen razonable, buen CPC…

Bien, pues ahí tenemos los 10 primeros resultados y si los exporto los 100… Semrush es muy bueno para esto…

Exporto los datos a csv, que es buen formato para manejar datos…

Copio los datos…

Y uso URL Profiler, por ejemplo.

Con esa tool, pretendo obtener las métricas para “jugar” con los datos.

¡Ejecuto! y ya tengo el csv.

Ahora toca importanlo en Azure, realmente he tenido que cambiar los ; por , para que los lea bien, pero vamos, detalles sin importancia… Me creo un dataset (no voy a entrar en detalles, porque sería un curso de Azure y no es la idea…):

 

Bien, una vez que tengo los datos creo el experimento, imagen global, la de la portada:

Como se ve, es gráfico, pero hay que saber más o menos lo que se hace. La idea es coger los datos, separar el 80% para que el algoritmo aprenda, y que el 20% lo use para calcular predicciones que podemos comparar con la realidad y ver si es efectivo…

Lo primero seleccionar los datos que voy a utilizar:

Me quedo con 14 columnas, la de la imagen… creo que son las que tienen datos interesante, del Topical Trust Flow de Majestic voy a pasar, no me interesan las temáticas en estos momentos, pero sí el resto de métricas… si a Google le gusta, a mí también…

Ahora vamos a la zona donde “Split Data” y me quedo con el 80% para que el algoritmo aprenda…

Después ya solo queda guardar y ejecutar, comentar que he seleccionado un algoritmo de regresion lineal (tema estadístico algo pesado) porque es el primero que he visto y me ha parecido adecuado. Sería cuestión de probar con otros algoritmos y ver cual es más efectivo, pero para el primer experimento me vale…

Veamos el resultado:

En la última columna, Scored Labels se ve el resultado del algoritmo (se me olvidó comentar que previamente seleccioné la columna del MOZ PA como objetivo del experimento). A simple vista se puede ver que el resultado es bastante bueno… ¡se aproxima mucho a la realidad!, ¡funciona!

¡Puedo predecir el PA que una web debe tener para una palabra dada y teniendo el resto de métricas! ¿Interesante?

Sí, al menos es divertido, ¿no?

He añadido una función que evalúa el modelo pare ver los resultados:

Y como se puede ver, sin entrar en detalles, el coeficiente de determinación es de 0,95. A más cerca de 1, mejor, digamos que acierta al 95% … ¡bastante bueno!

Para seguir, he creado un web service:

Donde testear el modelo.

 

Url: https://services.azureml.net/subscriptions/693c7bc8-eecb-42eb-ab44-1d0d37d3861a/resourceGroups/ExperimentosR/providers/Microsoft.MachineLearning/webServices/PrediccinVisitas.2017.4.13.15.40.43.528/test

Tiene también una sección “batch” donde subir datos con Excel…

Este modelo solo va a vale para deducir el PA de una web para “seo gratis”, pero mola…

¡Hago pruebas!

Y observo como para este resultado:

(Seogratis.es juntito a Chuiso, que cosas… 🙂 )

El PA de mi web es 14 y el modelo me prevé 13,9… para Chuiso lo clava…

Voy a hacerle alguna perrería, le voy a poner a mano que el PA de mi web es 1 y veamos el resultado, a ver si el modelo lo adivina igual, que es de lo que se trata…

En efecto:

Me sigue diciendo que mi PA debe ser 13,9, es decir 14 para la métricas que tengo y para que coordine con esos resultados…

Conclusiones interesantes… ¿se puede precedir en parte el algoritmo de Google gracias al aprendizaje automático? Si he realizado esto en una tarde y no soy ningún experto…

¡Ahí lo dejo! 🙂