2024-05-16 01:26:20 发布
网友
我正在尝试将OneVsAll分类输出放入训练数据中,输出行加起来等于1。在
一种可能的方法是读取所有行,找出哪个列的值最高,并为训练准备数据。在
例如:y = [[0.2,0.8,0],[0,1,0],[0,0.3,0.7]]可以简化为y = [b,b,c],分别考虑{}作为列{}的对应类。在
y = [[0.2,0.8,0],[0,1,0],[0,0.3,0.7]]
y = [b,b,c]
scikit learn中是否有一个函数可以帮助实现这种转换?在
此代码执行您想要的操作:
import numpy as np import string y = np.array([[0.2,0.8,0],[0,1,0],[0,0.3,0.7]]) def transform(y,labels): f = np.vectorize(lambda i : string.letters[i]) y = f(y.argmax(axis=1)) return y y = transform(y,'abc')
编辑:使用alko的注释,我让它更一般化,让用户为转换函数提供标签。在
此代码执行您想要的操作:
编辑:使用alko的注释,我让它更一般化,让用户为转换函数提供标签。在
相关问题 更多 >
编程相关推荐