Какие генераторы данных? - PullRequest
7 голосов
/ 22 августа 2009

Я собираюсь выпустить генератор данных FOSS, который может генерировать случайные, но значимые данные в формате CSV. Скорее, с запозданием, я думаю, мне нужно опросить современное состояние для таких продуктов - потому что, если есть хорошо известный и полезный существующий инструмент, я могу списать свою работу на опыт. Мне известно о нескольких инструментах, специфичных для SQL Server, но у меня нет базы данных.

Итак, ссылки? И если вы использовали такой продукт, какие функции вы обнаружили, что он отсутствовал?

Редактировать: чтобы добавить немного больше информации о моем инструменте (ооо, Матрон!), Он предназначен для генерации произвольных данных любого типа из существующих файлов данных, и поддерживает взвешивание. Он основан на XML (извините, ребята) и позволяет вам говорить что-то вроде:

<pick distribute="20,80" >
  <datafile  file="femalenames.dat"/>
  <datafile  file="malenames.dat"/>
<pick/>

для выбора женских имен примерно в 20% случаев и мужских имен в 80% случаев.

Но цель этого вопроса - не описать мой продукт, а получить информацию о других инструментах.

Последнее: Если кому-то интересно, они могут получить альфа моего генератора данных на http://code.google.com/p/csvtest

Ответы [ 2 ]

1 голос
/ 23 августа 2009

Я задавал похожий вопрос несколько месяцев назад:

Инструменты для генерации фиктивных данных?

Я получил несколько искренних предложений, но большинство из них не подходили для моих нужд. Либо дорогое (несвободное) программное обеспечение, либо недостаточно гибкое w.r.t. типы данных и структура базы данных, или диапазон ложных данных, или слишком медленные (например, решение Rails ActiveRecord).

Особенности, которые я искал, были:

  • Создание фиктивных данных для заполнения существующих таблиц базы данных
  • Быстрое создание> 1 миллиона строк
  • Создание либо формата сценария SQL, либо плоского файла, подходящего для импорта
  • Интерфейс командной строки с поддержкой скриптов, а не GUI
  • Не зависит от среды Microsoft Windows

Приятные функции:

  • Расширяемая / конфигурируемый
  • С открытым исходным кодом, бесплатная лицензия
  • Написано на динамическом языке, таком как Perl / PHP / Python
  • Направьте его на базу данных и дайте ему «обнаружить» метаданные
  • Интегрирован с инструментами тестирования (например, DbUnit)
  • Возможность заполнения непосредственно в базе данных при генерации данных

Ответ, который я принял как Databene Benerator . Хотя с тех пор, как задал вопрос, я признаю, что не очень часто его использовал.

Я был удивлен, что даже когда спрашивал сообщество, спектр инструментов для генерации фиктивных данных был настолько мал. Это похоже на нишу, ожидающую своего заполнения! Мне будет интересно посмотреть, что вы отпустите.

1 голос
/ 22 августа 2009

Это может быть одна строка в R , где я использую littler интерфейс сценариев:

# generate the data as a one-liner from the command-line
# we set the RNG seed, and draw from a bunch of distributions
# indented just to fit the box here
edd@ron:~$ r -e'set.seed(42); write.csv(data.frame(y=runif(10), x1=rnorm(10),    
                x2=rt(10,4), x3=rpois(10, 0.4)), file="/tmp/neil.csv", 
                quote=FALSE, row.names=FALSE)'
edd@ron:~$ cat /tmp/neil.csv
y,x1,x2,x3
0.914806043496355,-0.106124516091484,0.830735621223563,0
0.937075413297862,1.51152199743894,1.6707628713402,0
0.286139534786344,-0.0946590384130976,-0.282485683052060,0
0.830447626067325,2.01842371387704,0.714442314565005,0
0.641745518893003,-0.062714099052421,-1.08008578470128,0
0.519095949130133,1.30486965422349,2.28674786332467,0
0.736588314641267,2.28664539270111,-0.73270267483628,1
0.134666597237810,-1.38886070111234,-1.45317770550920,1
0.656992290401831,-0.278788766817371,-1.01676025893376,1
0.70506478403695,-0.133321336393658,0.404860813371462,0
edd@ron:~$

Вы не сказали ничего о своем процессе генерации данных, но будьте уверены, что R, вероятно, справится практически с любым требованием, включая многовариантное нормальное, t, skew-t и многое другое. (Шесть различных) генераторов случайных чисел в R также очень высокого качества.

R также может записывать в БД или считывать параметры из него, и если он должен быть установлен в Windoze, то вместо меньшего можно использовать интерфейс Rscript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...