Чтобы сгенерировать синтетические данные с помощью NumPy и scikit-learn, доступно несколько методов. Вот некоторые распространенные приемы с примерами кода:
-
Генерация случайных данных:
NumPy предоставляет различные функции для генерации случайных данных. Вы можете использовать эти функции для создания массивов случайных чисел, которые могут служить синтетическими данными. Например, вы можете генерировать случайные числа из нормального распределения, используя функциюnumpy.random.normal:import numpy as np # Generate synthetic data from a normal distribution mean = 0 std_dev = 1 size = 1000 synthetic_data = np.random.normal(mean, std_dev, size) -
Данные синтетической классификации:
scikit-learn предоставляет функциюmake_classificationдля создания наборов данных синтетической классификации с заданными характеристиками. Вы можете контролировать количество образцов, количество функций, количество классов и другие параметры. Вот пример:from sklearn.datasets import make_classification # Generate synthetic classification data n_samples = 1000 n_features = 10 n_classes = 3 synthetic_data, synthetic_labels = make_classification( n_samples=n_samples, n_features=n_features, n_classes=n_classes ) -
Данные синтетической регрессии.
Для создания наборов данных синтетической регрессии вы можете использовать функциюmake_reгрессия, предоставляемую scikit-learn. Это позволяет вам контролировать количество выборок, количество функций и другие параметры. Вот пример:from sklearn.datasets import make_regression # Generate synthetic regression data n_samples = 1000 n_features = 5 synthetic_data, synthetic_target = make_regression( n_samples=n_samples, n_features=n_features ) -
Синтетические данные кластеризации:
scikit-learn также предлагает функциюmake_blobs, которая генерирует синтетические данные для задач кластеризации. Это позволяет вам контролировать количество выборок, количество функций и количество кластеров, а также другие параметры. Вот пример:from sklearn.datasets import make_blobs # Generate synthetic clustering data n_samples = 1000 n_features = 2 n_clusters = 4 synthetic_data, synthetic_labels = make_blobs( n_samples=n_samples, n_features=n_features, centers=n_clusters )