Der Handel mit Domain-Namen ist ein großes Geschäft. Eines der nützlichsten Tools für den Handel mit Domain-Namen ist ein automatisches Bewertungs-Tool, mit dem Sie leicht abschätzen können, wie viel eine Domain wert ist. Leider erfordern viele automatische Bewertungsdienste eine Mitgliedschaft / ein Abonnement, um verwendet zu werden. In dieser Herausforderung schreiben Sie ein einfaches Bewertungs-Tool, mit dem Sie die Werte von .com-Domains grob schätzen können.
Input-Output
Als Eingabe sollte Ihr Programm eine Liste von Domain-Namen verwenden, einen pro Zeile. Jeder Domainname entspricht dem regulären Ausdruck ^[a-z0-9][a-z0-9-]*[a-z0-9]$
, dh, er besteht aus Kleinbuchstaben, Ziffern und Bindestrichen. Jede Domain ist mindestens zwei Zeichen lang und beginnt und endet nicht mit einem Bindestrich. Das .com
wird in jeder Domain weggelassen, da es impliziert ist.
Als alternative Form der Eingabe können Sie einen Domänennamen als Array von Ganzzahlen anstelle einer Zeichenfolge akzeptieren, sofern Sie die gewünschte Umwandlung von Zeichen in Ganzzahlen angeben.
Ihr Programm sollte eine Liste von ganzen Zahlen ausgeben, eine pro Zeile, die die geschätzten Preise der entsprechenden Domänen angibt.
Internet und zusätzliche Dateien
Ihr Programm hat möglicherweise Zugriff auf zusätzliche Dateien, sofern Sie diese Dateien als Teil Ihrer Antwort bereitstellen. Ihr Programm kann auch auf eine Wörterbuchdatei zugreifen (eine Liste gültiger Wörter, die Sie nicht angeben müssen).
(Bearbeiten) Ich habe beschlossen, diese Herausforderung zu erweitern, damit Ihr Programm auf das Internet zugreifen kann. Es gibt ein paar Einschränkungen: Ihr Programm kann die Preise (oder Preishistorien) von Domains nicht nachschlagen und verwendet nur bereits vorhandene Services (letztere, um einige Lücken zu schließen).
Die einzige Beschränkung der Gesamtgröße ist die von SE festgelegte Beschränkung der Antwortgröße.
Beispiel Eingabe
Dies sind einige kürzlich verkaufte Domains. Haftungsausschluss: Obwohl keine dieser Websites böswillig erscheint, weiß ich nicht, wer sie kontrolliert, und rate daher von einem Besuch ab.
6d3
buyspydrones
arcader
counselar
ubme
7483688
buy-bikes
learningmusicproduction
Beispielausgabe
Diese Zahlen sind real.
635
31
2000
1
2001
5
160
1
Wertung
Die Bewertung basiert auf der "Differenz der Logarithmen". Wenn beispielsweise eine Domain für 300 US-Dollar verkauft wurde und von Ihrem Programm auf 500 US-Dollar geschätzt wurde, beträgt Ihr Score für diese Domain abs (ln (500) -ln (300)) = 0,5108. Keine Domain hat einen Preis von weniger als 1 US-Dollar. Ihre Gesamtpunktzahl ist Ihre Durchschnittspunktzahl für die Domains, wobei niedrigere Punktzahlen besser sind.
Um eine Vorstellung davon zu bekommen, welche Punktzahl Sie erwarten sollten, erhalten Sie 36
eine Punktzahl von ungefähr, wenn Sie eine Konstante für die folgenden Trainingsdaten erraten 1.6883
. Ein erfolgreicher Algorithmus hat eine geringere Punktzahl.
Ich habe mich für die Verwendung von Logarithmen entschieden, da die Werte mehrere Größenordnungen umfassen und die Daten mit Ausreißern gefüllt werden. Die Verwendung der absoluten Differenz anstelle der quadrierten Differenz verringert den Effekt von Ausreißern bei der Bewertung. (Beachten Sie auch, dass ich den natürlichen Logarithmus verwende, nicht Basis 2 oder Basis 10.)
Datenquelle
Ich habe eine Liste von über 1.400 kürzlich verkauften .com-Domains von Flippa , einer Domain-Auktions-Website, überflogen . Diese Daten bilden den Trainingsdatensatz. Nach Ablauf der Einreichungsfrist warte ich einen weiteren Monat, um einen Testdatensatz zu erstellen, mit dem die Einreichungen bewertet werden. Ich könnte auch Daten aus anderen Quellen sammeln, um die Größe der Trainings- / Testsätze zu erhöhen.
Die Trainingsdaten sind im Folgenden aufgeführt. (Haftungsausschluss: Obwohl ich einige offensichtliche NSFW-Domains mit einfachen Filtern entfernt habe, sind möglicherweise noch einige in dieser Liste enthalten. Außerdem rate ich davon ab, Domains zu besuchen, die Sie nicht kennen .) Die Zahlen auf der rechten Seite sind die wahren Preise. https://gist.github.com/PhiNotPi/46ca47247fe85f82767c82c820d730b5
Hier ist ein Diagramm der Preisverteilung des Trainingsdatensatzes. Die x-Achse ist das natürliche Protokoll des Preises, wobei die y-Achse gezählt wird. Jeder Balken hat eine Breite von 0,5. Die Spikes auf der linken Seite entsprechen 1 US-Dollar und 6 US-Dollar, da für die Quell-Website Gebote erforderlich sind, um mindestens 5 US-Dollar zu erhöhen. Die Testdaten können leicht unterschiedlich verteilt sein.
Hier ist ein Link zum selben Diagramm mit einer Balkenbreite von 0,2. In diesem Diagramm sehen Sie Spitzen bei 11 und 16 US-Dollar.