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. Мультилейбл¶
make_multilabel_classification
генерирует случайные выборки с несколькими метками, отражающими
мешок слов, взятых из смеси тем. Количество тем
для каждого документа берется из распределения Пуассона, а
сами темы берутся из фиксированного случайного распределения. Аналогично,
количество слов берется из распределения Пуассона, а слова
- из мультиномиального, где каждая тема задает распределение
вероятности для слов. Упрощения по отношению к истинным смесям мешков слов включают:
Распределения слов по темам строятся независимо, тогда как в реальности все они зависят от разреженного базового распределения и коррелируют между собой.
Для документа, созданного на основе нескольких тем, все темы имеют одинаковый вес при формировании мешка слов.
Документы, не имеющие меток, выбирают слова случайным образом, а не из базового распределения.
7.3.1.3. Бикластеризация¶
|
Generate a constant block diagonal structure array for biclustering. |
|
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. Генераторы для многомерного обучения¶
|
Generate an S curve dataset. |
|
Generate a swiss roll dataset. |
7.3.4. Генераторы для декомпозиции¶
|
Generate a mostly low rank matrix with bell-shaped singular values. |
|
Generate a signal as a sparse combination of dictionary elements. |
|
Generate a random symmetric, positive-definite matrix. |
|
Generate a sparse symmetric definite positive matrix. |