deepmg 1.0.32

pip встановити deepmg Скопіюйте інструкції PIP

pypi

Випущено: 15 квітня 2020 р

Пакет Python для візуалізації/підготовки/прогнозування даних за допомогою алгоритмів машинного/глибокого навчання

Навігація

Посилання на проекти

Статистика

Переглядайте статистику цього проекту на Libraries.io або за допомогою нашого загальнодоступного набору даних у Google BigQuery

Ліцензія: Загальна публічна ліцензія GNU (GPL) (GPLv3 +)

Супровідники

Класифікатори

  • Ліцензія
    • Затверджено OSI: Загальна публічна ліцензія GNU (GPL)
  • Операційна система
    • Незалежна ОС
  • Мова програмування
    • Python: 3

Опис проекту

Met2Img (deepmg) - це обчислювальна основа для метагеномічного аналізу з використанням глибокого навчання та класичних алгоритмів навчання: (перетворено на python3 з 26 квітня 2019 р. (з версії 1.0.0))

Будь ласка, цитуйте Met2Img (deepmg) у своїх публікаціях, якщо це допомогло вашим дослідженням. Дуже дякую!

Передумови

  • Будь ласка, встановіть, якщо у вас немає: python3.6
  • Щоб використовувати пакети для пояснення навченої мережі, завантажте та встановіть:

Встановіть або завантажте пакет Met2Img

Для того, щоб встановити пакет

Для того, щоб завантажити пакет

Як користуватися Met2Img

Вхідні дані:

  • обов’язково: файли CSV, що містять дані (* _x.csv) та мітки (* _y.csv)
  • необов’язково: якщо використовується зовнішній набір перевірки: дані (* z_x.csv) та мітки (* z_y.csv)) поміщаються в дані, що піддаються обробці з параметрами --orginal_data_folder).

Наприклад, cirphy_x.csv та cirphy_y.csv для набору даних про цироз у [MetAML] (https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1004977) ТІЛЬКИ для внутрішніх перевірок; та ibdtrainHS_UCr_x.csv ibdtrainHS_UCr_y.csv ibdtrainHS_UCrz_x.csv ibdtrainHS_UCrz_y.csv для набору даних у [Sokol's] (https://www.ncbi.nlm.nih.gov/pubmed/26843508) набори даних, що містять зовнішні набори даних.

Вихідні дані:

images: Met2Img генерує зображення та зберігає їх у [images/name_dataset_parameters_to_generate_image /] (images /) (можна змінювати з параметрами --parent_folder_img)

результати: інформація про ефективність/навчання/тестування кожного згину та підсумкові результати поміщаються в [results/name_dataset_parameters_to_generate_image /] (results /) (можна змінювати з параметрами --батьківські_папки_результати), містить більше 5 файлів:

* file_sum.txt: параметри, що використовуються для запуску, продуктивність у кожному згині. Останні рядки показують результати навчання/тестування в ACC, AUC, час виконання та інші показники експерименту. Коли експеримент закінчується, суфікс "_ok" (можна змінювати з параметрами --suff_fini) додається до назви маркування файлу, яким експеримент закінчується.

* file_eachfold.txt (якщо --save_folds = y): результати кожного згину з точністю, аукціон, mcc, втрата тренувань та тестування.

* file_mean_acc.txt (якщо --save_avg_run = y): якщо експеримент включає n повторень, повторених незалежно, отже, файл включає середню ефективність по k-складкам кожного циклу, виміряну точність і виконання часу під час навчання/тестування початку, навчання/тестування після закінчення.

* file_mean_auc.txt (якщо --save_avg_run = y): якщо експеримент включає n повторень, повторених незалежно, отже, файл включає середню ефективність по k-складкам кожного циклу, виміряну AUC при тренуванні/тестуванні початку, тренуванні/тестуванні після закінчення.

Якщо --save_para = y: файл конфігурації для повторення експерименту

Якщо використовувати --save_w = y (зберегти ваги навчених мереж) та/або --save_entire_w = y, --save_d = y, тоді буде створено 2 папки:

results/name_dataset_parameters_to_generate_image/models /: включає * weightmodel * .json містить структуру моделі * weightmodel * .h5 зберігає ваги.

results/name_dataset_parameters_to_generate_image/details/* weight _ *. txt: містить точність та втрату навчання та тестування кожні епохи --save_d = y. Якщо --save_rf = y, тоді ми матимемо важливі бали, генеровані з RF для кожного циклу.

Отримайте допомогу, щоб побачити параметри в пакеті:

Деякі приклади, як показано нижче:

Доступні набори даних

Фреймворк, за замовчуванням, запускається 10 разів із 10-стратифікованою перехресною перевіркою

  1. Виберіть запуск на графічному процесорі, встановіть cudaid у (0,1,2,3) (ідентифікатор графічного процесора на машині, означає використання процесора). Примітка: ваші обчислювальні вузли повинні підтримуватися графічним процесором та встановленим графічним процесором Tensorflow.
  2. Виберіть набір даних із параметром '-i', наприклад. '-i cirphy' (набір даних про філогенетичний цироз)
  3. Виберіть модель із параметром '--model', наприклад. '--model model_cnn'. За замовчуванням: модель з однією моделлю повністю зв’язаного шару (FC)
  4. Інші параметри, можна звернутися до функції para_cmd ()

Код для запуску експерименту (для необроблених даних)

Параметри: -n: кількість згорткових шарів, -f: кількість фільтрів, -t: тип вбудовувань (підтримка raw-1D та зображень 2D, таких як fillup, t-sne, isomap, lda.)

Код для запуску експерименту (для заповнення сірими зображеннями)

використовувати QTF (з функцією bq)

Код для запуску експерименту (для заповнення кольоровими зображеннями)

Код для запуску експерименту з візуалізаціями на основі різноманітного навчання, наприклад, t-sne (змінено параметр '-t' на 'tsne')

Ми також можемо протестувати ще одне вбудовування, наприклад, ізомапу, lle. Ми використовуємо зображення розміром 24x24 (--fig_size 24) і прозорою швидкістю (alpha_v = 0,5)

Сценарії (* .sh), деталізовані в утилізаціях/скриптах із:

Сценарії в основному використовуються для наборів даних групи A (якщо не вказано), включаючи прогнозування цирозу, колоректального, IBD, ожиріння, T2D (і набору даних WT2D). Заголовкова частина кожного файлу складається з інформації про пам'ять, кількість ядер, час роботи на стіні, електронну пошту тощо, що використовується в планувальниках завдань. Ці параметри слід змінювати залежно від наявних ресурсів. Кожен файл запускає безліч моделей для одного набору даних.

Скрипти для 6 наборів даних (файли: cirphy_ * (cirphy_x.csv для даних та cirphy_y.csv для міток, для запуску тренувань на цьому наборі даних встановіть параметр -i, наприклад "-i cirphy"), colphy_ *, ibdphy_ *, obephy_ *, t2dphy_ *, wt2dphy_ *) у групі A [MetAML] (https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1004977):

  • 1d: сценарії для запуску моделей з 1D-даними
  • manifold_iso: тренування чисельності видів за допомогою візуалізації на основі Isomap.
  • manifold_mds: навчання чисельності видів за допомогою візуалізації на основі MDS.
  • manifold_nmf: тренування чисельності видів за допомогою візуалізації на основі NMF.
  • manifold_pca: навчання чисельності видів за допомогою візуалізації на основі PCA.
  • manifold_lda1,2,3,4,5,6: навчання чисельності видів за допомогою візуалізації на основі LDA (під наглядом) з мітками з використанням різних рівнів OTU (1: Царство, 2: Тип, 3: Клас, 4: Порядок, 5: Сім'я і 6: рід).
  • phy0_24_cmap_r: дослідити величезну кількість кольорових карт (viridis, веселка, струмінь)
  • phyfill0_vgg: дослідити різні параметри архітектур VGG.
  • fill0cnn: запускати експерименти, використовуючи заповнення з різними гіперпараметрами CNN.
  • phyfill0_rnd: експерименти з використанням заповнення із випадковим упорядкуванням функцій

Набори навчальних скриптів для інших груп:

  • gene_fill: тренування достатку сімей генів (імена: cirgene, colgene, ibdgene, obegene, t2dgene, wt2dgene) з Fill-up і machine_learning_gene: навчання кількості генів сімей за допомогою алгоритмів навчання stardard (SVM, RF).
  • phyfill0_CRC: експерименти на наборах даних (yu, feng, zeller, vogtmann, crc) у статті Багатокогортовий аналіз метагеному раку прямої кишки виявив змінені бактерії в різних популяціях та універсальні бактеріальні
  • phyfill0_phcnn: експерименти з наборами даних (файли: ibdtrainHS_CDf, ibdtrainHS_CDr, ibdtrainHS_iCDf, ibdtrainHS_iCDr, ibdtrainHS_UCf, ibdtrainHS_UCr) у статті Філогенетична конволюційна нейромережа в метагенних нейрологічних мережах
  • balance_phyfill0 (для кольорових зображень) і balance_phygrayfill0 (для сірих зображень): експерименти з наборами даних (hiv, crohn) у статті Ваги: нова перспектива для аналізу мікробіомів

Візуалізуйте моделі за ASCII

Просто додайте "-v 1", щоб візуалізувати мережу. Для того, щоб скористатися цією функцією, встановіть "keras_sequential_ascii"

Юпітер: Візуалізація уявлень

Будь ласка, перейдіть до ./ utils/jupyter / для візуалізації уявлень на основі зображень:

  • compare_manifolds.ipynb: візуалізації, створені в результаті різноманітного навчання, таких як t-SNE, LDA, Isomap
  • plot_distribution_taxa_levels_colormaps.ipynb: показати, як працює заповнення, та візуалізувати важливі функції за допомогою заповнення
  • visual_fillup_colormaps.ipynb: ілюструє різні кольорові карти
  • vis_explanation_cnn_LIME_GRAD.ipynb: виставити пояснення Saliency, LIME та Grad-Cam

Деякі інструменти доступні в цьому проекті (./utils/read_results) підтримка збору даних, фільтрування результатів та видалення незавершених експериментів