Торговля доменными именами - это большой бизнес. Одним из наиболее полезных инструментов для торговли доменными именами является инструмент автоматической оценки, позволяющий легко оценить, сколько стоит данный домен. К сожалению, многие службы автоматической оценки требуют членства / подписки для использования. В этом задании вы напишите простой инструмент оценки, который может приблизительно оценить значения доменов .com.
Ввод, вывод
В качестве входных данных ваша программа должна взять список доменных имен, по одному на строку. Каждое доменное имя будет соответствовать регулярному выражению ^[a-z0-9][a-z0-9-]*[a-z0-9]$
, что означает, что оно состоит из строчных букв, цифр и дефисов. Каждый домен имеет длину не менее двух символов и не начинается и не заканчивается дефисом. Значение .com
опускается в каждом домене, поскольку оно подразумевается.
В качестве альтернативной формы ввода вы можете принять доменное имя в виде массива целых чисел, а не строки символов, если вы указываете желаемое преобразование символа в целое число.
Ваша программа должна вывести список целых чисел, по одному на строку, в котором указаны оценочные цены соответствующих доменов.
Интернет и дополнительные файлы
Ваша программа может иметь доступ к дополнительным файлам, если вы предоставите эти файлы как часть вашего ответа. Ваша программа также имеет доступ к файлу словаря (список допустимых слов, которые вы не должны предоставлять).
(Изменить) Я решил расширить эту задачу, чтобы позволить вашей программе получить доступ к Интернету. Есть пара ограничений: ваша программа не может искать цены (или историю цен) каких-либо доменов и использует только ранее существующие сервисы (последний скрывает некоторые лазейки).
Единственное ограничение на общий размер - это ограничение размера ответа, установленное SE.
Пример ввода
Это несколько недавно проданных доменов. Отказ от ответственности: хотя ни один из этих сайтов не выглядит вредоносным, я не знаю, кто их контролирует, и поэтому советую не посещать их.
6d3
buyspydrones
arcader
counselar
ubme
7483688
buy-bikes
learningmusicproduction
Пример вывода
Эти цифры реальны.
635
31
2000
1
2001
5
160
1
счет
Оценка будет основана на «разнице логарифмов». Например, если домен продан за 300 долларов, а ваша программа оценила его в 500 долларов, ваш счет для этого домена будет равен abs (ln (500) -ln (300)) = 0,5108. Ни один домен не будет иметь цену менее $ 1. Ваш общий балл - это ваш средний балл для набора доменов, с более низкими баллами.
Чтобы получить представление о том, каких результатов вы должны ожидать, просто угадав константу 36
для приведенных ниже данных о тренировках, вы получите оценку около 1.6883
. Успешный алгоритм имеет оценку меньше, чем это.
Я решил использовать логарифмы, потому что значения охватывают несколько порядков, и данные будут заполнены выбросами. Использование абсолютной разности вместо квадрата разницы поможет уменьшить влияние выбросов в оценке. (Также обратите внимание, что я использую натуральный логарифм, а не основание 2 или основание 10.)
Источник данных
Я просмотрел список из более чем 1400 недавно проданных доменов .com с Flippa , веб-сайта аукциона доменов. Эти данные составят набор обучающих данных. После того, как период подачи заявок закончится, я подожду еще месяц, чтобы создать тестовый набор данных, с помощью которого будут оцениваться заявки. Я мог бы также выбрать сбор данных из других источников, чтобы увеличить размер учебных / тестовых наборов.
Данные об обучении доступны по следующей теме. (Отказ от ответственности: хотя я использовал некоторую простую фильтрацию для удаления некоторых явных доменов NSFW, некоторые из них все еще могут содержаться в этом списке. Кроме того, я не советую посещать любой домен, который вы не узнаете .) Цифры справа настоящие цены. https://gist.github.com/PhiNotPi/46ca47247fe85f82767c82c820d730b5
Вот график распределения цен на обучающий набор данных. Ось X - натуральный логарифм цены с осью Y, считая. Каждая полоса имеет ширину 0,5. Пики слева соответствуют 1 и 6 долл. США, поскольку исходному веб-сайту требуются ставки, чтобы увеличить их как минимум на 5 долл. США. Тестовые данные могут иметь немного другое распределение.
Вот ссылка на тот же график с шириной бара 0,2. На этом графике вы можете увидеть пики в $ 11 и $ 16.