如何解决sklearn:用于预测 MaskedArray 的分类器
我想弄清楚如何处理 numpy 掩码数组(而不是常规 numpy 数组)上的分类器预测。这是我的代码:
# My masked array on which to perform the prediction
>>> type(patch)
numpy.ma.core.MaskedArray
>>> patch.shape
(3,3,14)
# This is how it looks like the first layer in the 3rd dimension.
>>> patch[:,:,0]
masked_array(
data=[[90,28,16],[79,32,--],[41,--,--]],mask=[[False,False,False],[False,True],True,True]],fill_value=999999,dtype=uint16)
在上面的代码中你可以看到第三维的第一层。从 patch.shape
可以看到有 14 层。
它们每个都有位置:(1,2)、(2,1) 和 (2,2) 被屏蔽了!
现在,我使用预训练的 RandomForest 分类器 cl
对 ID 为 1、4、6 的补丁的值进行分类。我希望分类器忽略分类过程的掩码值,但在执行后:
>>> class_pred = cl.predict(patch.reshape(-1,patch.shape[2]))
>>> class_pred = class_pred.reshape(patch[:,0].shape)
我明白了:
>>> class_pred
array([[4,4,4],[4,1],1,1]])
所以 (1,2) 的位置不再被屏蔽,但它们也被分类了。
有没有办法强制分类器在分类过程中忽略屏蔽值?为了获得这样的东西:
masked_array(
data=[[4,dtype=uint16)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。