El comercio de nombres de dominio es un gran negocio. Una de las herramientas más útiles para el comercio de nombres de dominio es una herramienta de evaluación automática, para que pueda estimar fácilmente cuánto vale un dominio determinado. Desafortunadamente, muchos servicios de evaluación automática requieren una membresía / suscripción para su uso. En este desafío, escribirá una herramienta de evaluación simple que puede estimar aproximadamente los valores de los dominios .com.
De entrada y salida
Como entrada, su programa debe tomar una lista de nombres de dominio, uno por línea. Cada nombre de dominio coincidirá con la expresión regular ^[a-z0-9][a-z0-9-]*[a-z0-9]$
, lo que significa que se compone de letras minúsculas, dígitos y guiones. Cada dominio tiene al menos dos caracteres y no comienza ni termina con un guión. El .com
se omite de cada dominio, ya que está implícito.
Como una forma alternativa de entrada, puede elegir aceptar un nombre de dominio como una matriz de enteros, en lugar de una cadena de caracteres, siempre que especifique la conversión de caracteres a enteros deseada.
Su programa debería generar una lista de enteros, uno por línea, que proporciona los precios de tasación de los dominios correspondientes.
Internet y archivos adicionales
Su programa puede tener acceso a archivos adicionales, siempre que proporcione estos archivos como parte de su respuesta. Su programa también puede acceder a un archivo de diccionario (una lista de palabras válidas, que no tiene que proporcionar).
(Editar) He decidido ampliar este desafío para permitir que su programa acceda a Internet. Hay un par de restricciones, ya que su programa no puede buscar los precios (o historiales de precios) de ningún dominio, y que solo utiliza servicios preexistentes (este último para cubrir algunas lagunas).
El único límite en el tamaño total es el límite de tamaño de respuesta impuesto por SE.
Entrada de ejemplo
Estos son algunos dominios vendidos recientemente. Descargo de responsabilidad: aunque ninguno de estos sitios parece malicioso, no sé quién los controla y, por lo tanto, desaconsejo visitarlos.
6d3
buyspydrones
arcader
counselar
ubme
7483688
buy-bikes
learningmusicproduction
Salida de ejemplo
Estos números son reales.
635
31
2000
1
2001
5
160
1
Tanteo
La puntuación se basará en la "diferencia de logaritmos". Por ejemplo, si un dominio se vendió por $ 300 y su programa lo evaluó en $ 500, su puntaje para ese dominio es abs (ln (500) -ln (300)) = 0.5108. Ningún dominio tendrá un precio inferior a $ 1. Su puntaje general es su puntaje promedio para el conjunto de dominios, con puntajes más bajos mejores.
Para tener una idea de qué puntajes debe esperar, simplemente adivinando una constante 36
para los datos de entrenamiento a continuación se obtiene un puntaje de aproximadamente 1.6883
. Un algoritmo exitoso tiene un puntaje menor que este.
Elegí usar logaritmos porque los valores abarcan varios órdenes de magnitud, y los datos se llenarán de valores atípicos. El uso de la diferencia absoluta en lugar de la diferencia al cuadrado ayudará a reducir el efecto de los valores atípicos en la puntuación. (Además, tenga en cuenta que estoy usando el logaritmo natural, no base 2 o base 10.)
Fuente de datos
He hojeado una lista de más de 1,400 dominios .com vendidos recientemente de Flippa , un sitio web de subastas de dominios. Estos datos conformarán el conjunto de datos de entrenamiento. Una vez finalizado el período de envío, esperaré un mes adicional para crear un conjunto de datos de prueba, con el que se puntuarán los envíos. También podría optar por recopilar datos de otras fuentes para aumentar el tamaño de los conjuntos de entrenamiento / prueba.
Los datos de entrenamiento están disponibles en el siguiente resumen. (Descargo de responsabilidad: aunque he utilizado un filtro simple para eliminar algunos dominios de NSFW descaradamente, aún podrían incluirse varios en esta lista. Además, le aconsejo que no visite ningún dominio que no reconozca ). Los números en el lado derecho son Los precios reales. https://gist.github.com/PhiNotPi/46ca47247fe85f82767c82c820d730b5
Aquí hay un gráfico de la distribución de precios del conjunto de datos de capacitación. El eje x es el logaritmo natural del precio, con el eje y contando. Cada barra tiene un ancho de 0.5. Los picos a la izquierda corresponden a $ 1 y $ 6 ya que el sitio web fuente requiere que las ofertas incrementen al menos $ 5. Los datos de la prueba pueden tener una distribución ligeramente diferente.
Aquí hay un enlace al mismo gráfico con un ancho de barra de 0.2. En ese gráfico puedes ver picos a $ 11 y $ 16.