Генерация синтетических данных с использованием NumPy и scikit-learn

Чтобы сгенерировать синтетические данные с помощью NumPy и scikit-learn, доступно несколько методов. Вот некоторые распространенные приемы с примерами кода:

  1. Генерация случайных данных:
    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)
  2. Данные синтетической классификации:
    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
    )
  3. Данные синтетической регрессии.
    Для создания наборов данных синтетической регрессии вы можете использовать функцию 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
    )
  4. Синтетические данные кластеризации:
    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
    )