gpt4 book ai didi

python - 如何使用sklearn.datasets.make_classification生成给定范围内的合成数据?

转载 作者:太空宇宙 更新时间:2023-11-04 11:09:38 34 4
gpt4 key购买 nike

我想为分类问题创建合成数据。我正在使用 sklearn.datasetsmake_classification 方法。我希望数据在特定范围内,比方说 [80, 155],但它生成的是负数。

我已经尝试了很多 scaleclass_sep 参数的组合,但没有得到想要的输出。

import pandas as pd
from sklearn.datasets import make_classification
weight = [0.2, 0.37, 0.21, 0.04, 0.11, 0.05, 0.02]

X, y = make_classification(n_samples=100, n_features=3,
n_informative=3, n_redundant=0, n_repeated=0,
n_classes=7, n_clusters_per_class=1, weights=weight,
class_sep=1,shuffle=True, random_state=41, scale= 1)

pd.DataFrame(X).describe()

输出

输出应该在一个特定的范围内,但它会选择标准差约为 1.33 的随机值。

最佳答案

您可以使用 MinMaxScaler(请参阅 docs)。

只需运行:

from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler(feature_range=(80, 155))
X = scaler.fit_transform(X)
y = scaler.fit_transform(y)

请注意,此缩放器将为 X 训练一次,为 y 训练一次。

关于python - 如何使用sklearn.datasets.make_classification生成给定范围内的合成数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58626438/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com