Le commerce de noms de domaine est une grosse affaire. L'un des outils les plus utiles pour le commerce de noms de domaine est un outil d'évaluation automatique, afin que vous puissiez facilement estimer la valeur d'un domaine donné. Malheureusement, de nombreux services d'évaluation automatique nécessitent un abonnement / abonnement pour être utilisés. Dans ce défi, vous écrirez un outil d'évaluation simple qui peut approximativement estimer les valeurs des domaines .com.
Entrée sortie
En entrée, votre programme doit prendre une liste de noms de domaine, un par ligne. Chaque nom de domaine correspondra à l'expression rationnelle ^[a-z0-9][a-z0-9-]*[a-z0-9]$
, ce qui signifie qu'il est composé de lettres minuscules, de chiffres et de tirets. Chaque domaine comprend au moins deux caractères et ne commence ni ne se termine par un tiret. Le .com
est omis de chaque domaine, car il est implicite.
Comme autre forme d'entrée, vous pouvez choisir d'accepter un nom de domaine comme un tableau d'entiers, au lieu d'une chaîne de caractères, tant que vous spécifiez la conversion de caractère en entier souhaitée.
Votre programme doit produire une liste d'entiers, un par ligne, qui donne les prix estimés des domaines correspondants.
Internet et fichiers supplémentaires
Votre programme peut avoir accès à des fichiers supplémentaires, tant que vous fournissez ces fichiers dans le cadre de votre réponse. Votre programme est également autorisé à accéder à un fichier de dictionnaire (une liste de mots valides que vous n'avez pas à fournir).
(Edit) J'ai décidé d'étendre ce défi pour permettre à votre programme d'accéder à Internet. Il y a quelques restrictions, étant donné que votre programme ne peut pas rechercher les prix (ou l'historique des prix) d'aucun domaine, et qu'il utilise uniquement des services préexistants (ce dernier pour combler certaines lacunes).
La seule limite sur la taille totale est la limite de taille de réponse imposée par SE.
Exemple d'entrée
Ce sont des domaines récemment vendus. Avertissement: Bien qu'aucun de ces sites ne semble malveillant, je ne sais pas qui les contrôle et déconseille donc de les visiter.
6d3
buyspydrones
arcader
counselar
ubme
7483688
buy-bikes
learningmusicproduction
Exemple de sortie
Ces chiffres sont réels.
635
31
2000
1
2001
5
160
1
Notation
La notation sera basée sur la "différence de logarithmes". Par exemple, si un domaine s'est vendu 300 $ et que votre programme l'a évalué à 500 $, votre score pour ce domaine est abs (ln (500) -ln (300)) = 0,5108. Aucun domaine n'aura un prix inférieur à 1 $. Votre score global est votre score moyen pour l'ensemble des domaines, avec des scores inférieurs meilleurs.
Pour avoir une idée des scores auxquels vous devez vous attendre, il suffit de deviner une constante 36
pour les données d'entraînement ci-dessous pour obtenir un score d'environ 1.6883
. Un algorithme réussi a un score inférieur à celui-ci.
J'ai choisi d'utiliser des logarithmes car les valeurs s'étendent sur plusieurs ordres de grandeur et les données seront remplies de valeurs aberrantes. L'utilisation de la différence absolue au lieu de la différence au carré aidera à réduire l'effet des valeurs aberrantes dans la notation. (Notez également que j'utilise le logarithme naturel, pas la base 2 ou la base 10.)
La source de données
J'ai parcouru une liste de plus de 1 400 domaines .com récemment vendus de Flippa , un site Web d'enchères de domaine. Ces données constitueront l'ensemble de données d'entraînement. Une fois la période de soumission terminée, j'attendrai un mois supplémentaire pour créer un ensemble de données de test, avec lequel les soumissions seront notées. Je pourrais également choisir de collecter des données à partir d'autres sources pour augmenter la taille des ensembles de formation / test.
Les données d'entraînement sont disponibles à l'essentiel suivant. (Avertissement: Bien que j'aie utilisé un filtrage simple pour supprimer certains domaines NSFW de manière flagrante, plusieurs peuvent encore être contenus dans cette liste. En outre, je déconseille de visiter un domaine que vous ne reconnaissez pas .) Les chiffres sur le côté droit sont les vrais prix. https://gist.github.com/PhiNotPi/46ca47247fe85f82767c82c820d730b5
Voici un graphique de la distribution des prix de l'ensemble de données de formation. L'axe des x représente le logarithme naturel du prix, l'axe des y étant compté. Chaque barre a une largeur de 0,5. Les pics à gauche correspondent à 1 $ et 6 $, car le site Web source requiert des enchères pour augmenter d'au moins 5 $. Les données de test peuvent avoir une distribution légèrement différente.
Voici un lien vers le même graphique avec une largeur de barre de 0,2. Dans ce graphique, vous pouvez voir des pics à 11 $ et 16 $.