Бухгалтерський облік експериментів та результатів


11

Я є дослідником і мені подобається тестувати життєздатні рішення, тому я, як правило, провожу багато експериментів. Наприклад, якщо я обчислюю оцінку подібності між документами, я, можливо, захочу спробувати багато заходів. Насправді, для кожного заходу мені може знадобитися зробити кілька запусків, щоб перевірити дію деяких параметрів.

Поки що я відстежував вхідні дані та їх результати, виписуючи результати у файли з якомога більше інформації про входи. Проблема полягає в тому, що отримання конкретного результату стає проблемою іноді, навіть якщо я намагаюся додати вхідну інформацію до імені файлу. Я спробував використовувати електронну таблицю з посиланнями на результати, але це не має великої різниці.

Які інструменти / процес ви використовуєте для зберігання своїх експериментів?


1
Я хотів додати теги найкращих практик, але не можу, оскільки не маю 150 балів репутації. Якщо чесно, я не розумію, як новий користувач може ефективно стати учасником сайту з усіма такими правилами. Я бачу багато питань, на які я знаю відповіді, але не можу відповісти або навіть проголосувати, якщо вона вже є.
машина-мудрість

Я думаю, що це скоріше загальне питання програмування, тому StackOverflow може бути кращим. Ви можете включити фрагмент того, що ви намагаєтеся зробити, і чому це повільно, і попросити запропоновані оптимізації.
Шон Оуен

Власне, я думаю, що opendata.stackexchange.com було б краще підходить.
Емре

1
Нещодавно я швидко оглянувся на ринку товарів, які допоможуть у цьому допомогти, і хочу поділитися своїми висновками. Є два SAAS продукти, які можуть допомогти команді Data Science обмінятися аналізами, зробленими в Python та R. Вони обоє мають ноутбук IPython, як IDE, і обидва вони створюють навколо нього безліч функцій для запуску та обміну завданнями. Я вважаю їх обох майже однаковими: [Лабораторія даних Domino] [1] та [Sense.io] [2] [1]: dominodatalab.com [2]: sense.io
машинна мудрість

Для Hadoop також існує середовище машинного навчання, яке відстежує кількість робочих місць; [h2o.ai] [3]. Він не призначений для того, щоб бути інструментом для впорядкування роботи групи даних, але за допомогою ретельних конвенцій про іменування це може допомогти чимало. Цей найбільше підходить [3]: h2o.ai
машинна мудрість

Відповіді:



5

Нещодавно я зіткнувся з подібною проблемою: як керувати вилученням різноманітних функцій з великого набору даних, не знаючи наперед, якими вони будуть. (Навіть обчислення середніх значень неодноразово було б обчислювально дорогим.) Далі, як я можу керувати прогнозами на основі різних наборів функцій? Значить, якщо я додав нову функцію, як я можу знати, у яких моделях тренуватися за новими функціями? Це може швидко сніжним кулькою перетворитися на величезний безлад.

Моє поточне рішення - відстежувати все це у локальній базі даних NoSQL (MongoDB). Наприклад, у мене може бути колекція features, кожен запис якої має ім’я, опис того, як обчислювалася функція, файл python, який здійснював вилучення тощо.

Так само колекція modelsвключає в себе моделі, запущені на даних. Кожен запис може мати назву, перелік функцій, які використовувались для тренування моделі, її можливих параметрів, передбачувані значення на наборі тестового набору, метрики того, як виконувала модель тощо.

З моєї точки зору, це має ряд переваг:

  • Зберігаючи передбачення, я можу їх пізніше використовувати в ансамблевих прогнозах.
  • Оскільки я відстежую, які функції використовувались, я знаю, які з них потрібно перекваліфікувати, оскільки я отримую більше функцій.
  • Зберігаючи описи моделей, я гарантую, що я завжди знаю, що спробував. Мені ніколи не варто замислюватися: "Чи пробував я LASSO з параметрами регуляризації, встановленими резюме для пошуку в сітці?" Я завжди можу це подивитися і побачити, наскільки це було успішно.

З вашого запитання здається, що ви могли адаптувати такий підхід до робочого процесу вашої проблеми. Встановіть Mongo або іншу базу даних за вибором, а потім збережіть кожен експериментальний цикл, його вхідні дані, результати та все, що ви хочете відстежити протягом проекту. Це має бути набагато простіше запиту, ніж принаймні електронну таблицю.


Я хотів би подати заяву, але мене не дозволяють.
машина-мудрість
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.