gpt4 book ai didi

python - 如何在scikit learn中进行欠采样?

转载 作者:太空狗 更新时间:2023-10-29 20:39:33 25 4
gpt4 key购买 nike

我们有一个视网膜数据集,其中患病眼睛信息占信息的 70%,而未患病眼睛占剩余的 30%。我们想要一个数据集,其中患病和未患病样本的数量应该相等。是否有任何可用的功能可以帮助我们做同样的事情?

最佳答案

我会选择用 Pandas DataFrame 来做到这一点和 numpy.random.choice .通过这种方式,很容易进行随机抽样以产生大小相同的数据集。一个例子:

import pandas as pd
import numpy as np

data = pd.DataFrame(np.random.randn(7, 4))
data['Healthy'] = [1, 1, 0, 0, 1, 1, 1]

此数据有两个不健康样本和五个健康样本。从健康人群中随机抽取两个样本:

healthy_indices = data[data.Healthy == 1].index
random_indices = np.random.choice(healthy_indices, 2, replace=False)
healthy_sample = data.loc[random_indices]

要自动选择与非健康组大小相同的子样本,您可以执行以下操作:

sample_size = sum(data.Healthy == 0)  # Equivalent to len(data[data.Healthy == 0])
random_indices = np.random.choice(healthy_indices, sample_size, replace=False)

关于python - 如何在scikit learn中进行欠采样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29204005/

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