7.3. Сгенерированные наборы данных

Кроме того, scikit-learn включает в себя различные генераторы случайных выборок, которые можно использовать для создания искусственных наборов данных контролируемого размера и сложности.

7.3.1. Генераторы для классификации и кластеризации

Эти генераторы создают матрицу функций и соответствующих дискретных целей.

7.3.1.1. Одна этикетка

Оба make_blobs и  make_classification создают многоклассовые наборы данных, выделяя каждому классу один или несколько нормально распределенных кластеров точек. make_blobs обеспечивает больший контроль относительно центров и стандартных отклонений каждого кластера и используется для демонстрации кластеризации. make_classification специализируется на внесении шума посредством: коррелированных, избыточных и неинформативных признаков; несколько гауссовских кластеров на класс; и линейные преобразования пространства признаков.

make_gaussian_quantiles делит один гауссовский кластер на классы почти одинакового размера, разделенные концентрическими гиперсферами. make_hastie_10_2 генерирует аналогичную бинарную 10-мерную задачу.

make_circles и  make_moons генерировать наборы данных двухмерной двоичной классификации, которые затрудняют выполнение определенных алгоритмов (например, кластеризацию на основе центроидов или линейную классификацию), включая необязательный гауссов шум. Они полезны для визуализации. make_circles производит гауссовские данные со сферической границей решения для двоичной классификации, а make_moons производит два чередующихся полукруга.

7.3.1.2. Multilabel

make_multilabel_classification генерирует случайные выборки с несколькими ярлыками, отражая набор слов, взятых из смеси тем. Количество тем для каждого документа берется из распределения Пуассона, а сами темы выбираются из фиксированного случайного распределения. Точно так же количество слов берется из Пуассона, а слова извлекаются из полинома, где каждая тема определяет распределение вероятностей по словам. Упрощения по отношению к истинным смесям из набора слов включают:

  • Распределение слов по темам составляется независимо, в то время как на самом деле все будет зависеть от разреженного базового распределения и будет коррелировано.
  • Для документа, созданного из нескольких тем, все темы имеют одинаковый вес при создании своего пакета слов.
  • Документы без надписей словами наугад, а не из базового дистрибутива.

7.3.1.3. Бикластеризация

make_biclusters(форма, n_clusters, * [,…])Сгенерируйте массив с постоянной блочно-диагональной структурой для бикластеризации.
make_checkerboard(форма, n_clusters, * [,…])Сгенерируйте массив с блочной шахматной структурой для бикластеризации.

7.3.2. Генераторы регрессии

make_regression создает цели регрессии как необязательно разреженную случайную линейную комбинацию случайных признаков с шумом. Его информативные характеристики могут быть некоррелированными или иметь низкий ранг (большая часть дисперсии приходится на несколько характеристик).

Другие генераторы регрессии детерминированно генерируют функции из рандомизированных функций. make_sparse_uncorrelated создает цель как линейную комбинацию четырех функций с фиксированными коэффициентами. Другие кодируют явно нелинейные отношения: make_friedman1 связаны полиномиальными и синусоидальными преобразованиями; make_friedman2 включает умножение признаков и взаимное обращение; и make_friedman3 аналогично арктановому преобразованию цели.

7.3.3. Генераторы для многообразного обучения

make_s_curve([n_samples, noise, random_state])Создайте набор данных S-образной кривой.
make_swiss_roll([n_samples, noise, random_state])Создайте набор данных швейцарских рулонов.

7.3.4. Генераторы для разложения

make_low_rank_matrix([n_samples,…])Сгенерируйте матрицу в основном низкого ранга с колоколообразными сингулярными значениями.
make_sparse_coded_signal(n_samples, *,…)Сгенерируйте сигнал как разреженную комбинацию элементов словаря.
make_spd_matrix(n_dim, * [, random_state])Создайте случайную симметричную положительно определенную матрицу.
make_sparse_spd_matrix([тусклый, альфа,…])Сгенерируйте разреженную симметричную определенную положительную матрицу.