我正在尝试标记我的数据,我希望将所有数据标记为1或-1。 我有一段代码,以前很好用。在
#iris-setosa
train_t = df.iloc[0:120, 4].values
validation_t = df.iloc[121: , 4].values
train_t1 = np.where(train_t == 'Iris-setosa', -1, 1)
validation_t1 = np.where(validation_t == 'Iris-setosa', -1, 1)
然后我有另一组数据他们的标签不是字符串, 所以我把代码改成了:
^{pr2}$它没有正确标记我的数据,而是将它们全部标记为0!在
然后我试图用if
代替{
#iris-setosa
train_t = df.iloc[0:120, 4].values
validation_t = df.iloc[121: , 4].values
classNum = 20
for i in range (1000):
if (train_t[i] == classNum):
train_t[i] = 1
else:
train_t[i] = -1
if (validation_t[i] == classNum):
validation_t[i] = 1
else:
validation_t[i] = -1
我得到这个错误TypeError: 'int' object is not subscriptable
更新:显然这个错误是无缘无故地消失了,相反,我所有的数据都被标记为-1,这不是我想要的结果。在
似乎您的训练或验证在某个时刻得到了一个int值。在
错误
在使用像list这样的int时发生
例如
^{pr2}$您可能选择了错误的轴,因为它与使用
'Iris-setosa'
时相同。改变轴应该能解决你的问题。在相关问题 更多 >
编程相关推荐