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-мерную задачу.

../_images/sphx_glr_plot_random_dataset_001.png

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

7.3.1.2. Мультилейбл

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

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

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

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

../_images/sphx_glr_plot_random_multilabel_dataset_001.png

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

make_biclusters(shape, n_clusters, *[, ...])

Generate a constant block diagonal structure array for biclustering.

make_checkerboard(shape, n_clusters, *[, ...])

Generate an array with block checkerboard structure for biclustering.

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])

Generate an S curve dataset.

make_swiss_roll([n_samples, noise, ...])

Generate a swiss roll dataset.

7.3.4. Генераторы для декомпозиции

make_low_rank_matrix([n_samples, ...])

Generate a mostly low rank matrix with bell-shaped singular values.

make_sparse_coded_signal(n_samples, *, ...)

Generate a signal as a sparse combination of dictionary elements.

make_spd_matrix(n_dim, *[, random_state])

Generate a random symmetric, positive-definite matrix.

make_sparse_spd_matrix([n_dim, alpha, ...])

Generate a sparse symmetric definite positive matrix.