Il trading di nomi di dominio è un grande business. Uno degli strumenti più utili per il trading di nomi di dominio è uno strumento di valutazione automatica, in modo da poter facilmente stimare quanto vale un determinato dominio. Sfortunatamente, molti servizi di valutazione automatica richiedono l'utilizzo di un abbonamento / abbonamento. In questa sfida, dovrai scrivere un semplice strumento di valutazione in grado di stimare approssimativamente i valori dei domini .com.
Input Output
Come input, il tuo programma dovrebbe prendere un elenco di nomi di dominio, uno per riga. Ogni nome di dominio corrisponderà al regex ^[a-z0-9][a-z0-9-]*[a-z0-9]$
, il che significa che è composto da lettere minuscole, cifre e trattini. Ogni dominio ha almeno due caratteri e non inizia né termina con un trattino. Il .com
è omesso da ogni dominio, dal momento che è implicita.
Come forma alternativa di input, puoi scegliere di accettare un nome di dominio come un array di numeri interi, anziché una stringa di caratteri, purché tu specifichi la conversione da carattere a intero desiderata.
Il tuo programma dovrebbe generare un elenco di numeri interi, uno per riga, che fornisce i prezzi stimati dei domini corrispondenti.
Internet e file aggiuntivi
Il tuo programma potrebbe avere accesso a file aggiuntivi, purché tu fornisca questi file come parte della tua risposta. Il tuo programma è anche autorizzato ad accedere a un file di dizionario (un elenco di parole valide, che non devi fornire).
(Modifica) Ho deciso di espandere questa sfida per consentire al programma di accedere a Internet. Ci sono un paio di restrizioni, dato che il tuo programma non può cercare i prezzi (o la cronologia dei prezzi) di alcun dominio e che utilizza solo servizi preesistenti (quest'ultimo per coprire alcune lacune).
L'unico limite alla dimensione totale è il limite della dimensione della risposta imposto da SE.
Esempio di input
Questi sono alcuni domini venduti di recente. Disclaimer: Sebbene nessuno di questi siti sembri dannoso, non so chi li controlli e quindi sconsiglio di visitarli.
6d3
buyspydrones
arcader
counselar
ubme
7483688
buy-bikes
learningmusicproduction
Esempio di output
Questi numeri sono reali.
635
31
2000
1
2001
5
160
1
punteggio
Il punteggio si baserà sulla "differenza dei logaritmi". Ad esempio, se un dominio è stato venduto a $ 300 e il tuo programma lo ha valutato a $ 500, il tuo punteggio per quel dominio è abs (ln (500) -ln (300)) = 0,5108. Nessun dominio avrà un prezzo inferiore a $ 1. Il tuo punteggio complessivo è il punteggio medio per l'insieme di domini, con punteggi più bassi migliori.
Per avere un'idea di quali punteggi dovresti aspettarti, semplicemente indovinando una costante 36
per i dati di allenamento di seguito si ottiene un punteggio di circa 1.6883
. Un algoritmo di successo ha un punteggio inferiore a questo.
Ho scelto di usare i logaritmi perché i valori si estendono su diversi ordini di grandezza e i dati saranno riempiti con valori anomali. L'uso della differenza assoluta al posto della differenza quadrata contribuirà a ridurre l'effetto dei valori anomali nel punteggio. (Nota anche che sto usando il logaritmo naturale, non la base 2 o la base 10.)
Fonte di dati
Ho sfogliato un elenco di oltre 1.400 domini .com venduti di recente da Flippa , un sito Web di aste di domini. Questi dati costituiranno il set di dati di allenamento. Al termine del periodo di invio, aspetterò un mese in più per creare un set di dati di test, con il quale verranno assegnati i punteggi. Potrei anche scegliere di raccogliere dati da altre fonti per aumentare le dimensioni dei set di addestramento / test.
I dati di allenamento sono disponibili al seguente punto. (Dichiarazione di non responsabilità: anche se ho usato alcuni semplici filtri per rimuovere alcuni domini palesemente NSFW, molti potrebbero essere ancora contenuti in questo elenco. Inoltre, sconsiglio di visitare qualsiasi dominio che non riconosci .) I numeri sul lato destro sono i veri prezzi. https://gist.github.com/PhiNotPi/46ca47247fe85f82767c82c820d730b5
Ecco un grafico della distribuzione dei prezzi del set di dati di addestramento. L'asse x è il registro naturale del prezzo, con l'asse y conteggiato. Ogni barra ha una larghezza di 0,5. I picchi a sinistra corrispondono a $ 1 e $ 6 poiché il sito Web di origine richiede che le offerte aumentino di almeno $ 5. I dati del test possono avere una distribuzione leggermente diversa.
Ecco un link allo stesso grafico con una larghezza della barra di 0,2. In quel grafico puoi vedere picchi a $ 11 e $ 16.