2024-03-29 09:04:16 发布
网友
我有一只熊猫。我正在尝试创建一个带有替换的示例DataFrame,并对其进行分层。在
DataFrame
这样我就可以替换:
df_test = df.sample(n=100, replace=True, random_state=42, axis=0)
然而,我不知道如何也分层。我可以使用weights参数吗?如果可以,如何使用?我要分层的列是字符串。在
weights
这使我可以分层:
然而,没有替代的选择。在
如何既分层又替换?在
据我所知,来自sklearn的默认StratifiedShuffleSplit将与替换一起运行,即非互斥strats。希望我能正确理解你。在
StratifiedShuffleSplit
import numpy as np from sklearn.model_selection import StratifiedShuffleSplit X = np.array([[1, 2], [3, 4], [1, 2], [3, 4], [1, 2], [3, 4]]) y = np.array([0, 0, 0, 1, 1, 1]) sss = StratifiedShuffleSplit(n_splits=5, test_size=0.5, random_state=0) sss.get_n_splits(X, y) print(sss) for train_index, test_index in sss.split(X, y): print("TRAIN:", train_index, "TEST:", test_index) X_train, X_test = X[train_index], X[test_index] y_train, y_test = y[train_index], y[test_index]
产量:
这是一个有点老的问题,但是当我在寻找同样的东西时,google首先把这个问题还给了我,我想把这个留给每个人,包括我未来的自己,会很有用的。在
显然,sklearn在sklearn.utils.resample中提供了此功能:
sklearn
from sklearn import datasets from sklearn.utils import resample X, y = datasets.load_iris(return_X_y=True) X_new, y_new = resample(X, y, stratify=y)
您可以使用n_samples参数控制样本量。默认情况下,它被设置为None,因此您可以通过替换获得X.shape[0]随机样本(因为这是为引导目的而设计的)。希望这对某人有帮助。在
n_samples
None
X.shape[0]
据我所知,来自sklearn的默认
StratifiedShuffleSplit
将与替换一起运行,即非互斥strats。希望我能正确理解你。在产量:
^{pr2}$这是一个有点老的问题,但是当我在寻找同样的东西时,google首先把这个问题还给了我,我想把这个留给每个人,包括我未来的自己,会很有用的。在
显然,
sklearn
在sklearn.utils.resample中提供了此功能:您可以使用
n_samples
参数控制样本量。默认情况下,它被设置为None
,因此您可以通过替换获得X.shape[0]
随机样本(因为这是为引导目的而设计的)。希望这对某人有帮助。在相关问题 更多 >
编程相关推荐