【问题标题】:Implementation of Hierarchical Sampling for Active Learning用于主动学习的分层抽样的实现
【发布时间】:2017-09-20 08:17:14
【问题描述】:

我正在从事一个个人机器学习项目,当类极度不平衡时,我试图将数据分类为二进制类。我最初试图实现Hierarchical Sampling for Active Learning by S Dasgupta 中提出的方法,它利用数据集的集群结构来帮助主动学习者。

但是,我正在努力实现文章中提出的算法。到目前为止我已经写了这个,但是不确定如何继续:

from scipy.spatial.distance import pdist, squareform
from scipy.cluster.hierarchy import linkage, dendrogram
data_dist = pdist(X) # computing the distance
data_link = linkage(data_dist) # computing the linkage

数据存储在X 中,正确的分类存储在y 中。样本数据集:

X = np.array([[0.3,0.7],[0.5,0.5] ,[0.2,0.8], [0.1,0.9]])
y = np.array([[0], [1], [0], [1]])

(注意实际数据集大约大 500 倍)

【问题讨论】:

  • 嘿@JDOE 你能实现这个吗?我现在被困在同一个问题上......
  • @snazziii 它现在包含在libact 中。见this

标签: numpy machine-learning hierarchical-clustering


【解决方案1】:

S Dasgupta 提出的用于主动学习的分层采样现在在 Python 主动学习库 libact 中实现。源码见link

示例(来自文档):

   from libact.query_strategies import UncertaintySampling
   from libact.query_strategies.multiclass import HierarchicalSampling
   sub_qs = UncertaintySampling(
       dataset, method='sm', model=SVM(decision_function_shape='ovr'))
   qs = HierarchicalSampling(
            dataset, # Dataset object
            dataset.get_num_of_labels(),
            active_selecting=True,
            subsample_qs=sub_qs
        )

【讨论】:

    猜你喜欢
    • 2014-12-23
    • 2020-07-01
    • 2016-08-28
    • 2023-01-29
    • 1970-01-01
    • 1970-01-01
    • 2021-02-19
    • 2017-10-22
    • 2017-10-31
    相关资源
    最近更新 更多