【问题标题】:How can i generate random n-dimensional dataset for my regression task?如何为我的回归任务生成随机 n 维数据集?
【发布时间】:2021-02-27 05:18:15
【问题描述】:

我需要生成一个具有 m 个元组的随机 n 维数据集。前四个维度预计与地面实况向量y相关,其余维度将任意生成。我将使用 Scikit-learn 将数据集用于我的回归任务。如何生成这些数据?

例如: 一个数据集,其中 元组大小(m)=10000 和 维度大小(n)=100

之后,我需要拆分数据集,使随机选择的 70% 元组用于训练,而 30% 元组用于测试。

PS:我在 sci-kit learn 中找到了这段代码,但我不确定我是否可以使用它。如何将其转化为我的问题?

x, y, coef = datasets.make_regression(n_samples=100,#number of samples
                                  n_features=1,#number of features
                                  n_informative=1,#number of useful features 
                                  noise=10,#bias and standard deviation of the guassian noise
                                  coef=True,#true coefficient used to generated the data
                                  random_state=0) #set for same data points for each run

【问题讨论】:

    标签: python scikit-learn regression


    【解决方案1】:

    make_regression 确实可以完成您的工作:

    from sklearn import datasets
    
    # your example values:
    m = 10000
    n = 100
    random_seed = 42 # for reproducibility, exact value does not matter
    
    X, y = datasets.make_regression(n_samples=m, n_features=n, n_informative=4, random_state = random_seed)
    

    还有train_test_split进行拆分:

    from sklearn.model_selection import train_test_split
    
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=random_seed) #  does not need to be the same random_seed
    

    在这两种方法中,random_seed 仅设置为可重现性 - 它的确切值无关紧要,两者都不需要相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-20
      • 2021-06-04
      • 2014-12-05
      • 2018-09-11
      • 2022-05-29
      相关资源
      最近更新 更多