【发布时间】:2015-10-09 11:36:06
【问题描述】:
我正在尝试遵循标题为 如何在 Python 中从头开始实现朴素贝叶斯
的 blog post在博客中,这是定义用于按类类型分隔数据库的函数的代码。
def separateByClass(dataset):
separated = {}
for i in range(len(dataset)):
vector = dataset[i]
if (vector[-1] not in separated):
separated[vector[-1]] = []
separated[vector[-1]].append(vector)
return separated
但是当vector 是int 类型对象时,我无法理解vector[-1] 的正确用法。如果我在函数外一一尝试相同的命令,带有vector[-1] 的代码行显然会抛出TypeError: 'int' object has no attribute '__getitem__'。那么它在函数内部是如何工作的呢?
【问题讨论】:
-
向量通常是整数的元组,具体取决于维数。
-
数据集在您链接的网站上的代码下方定义,
dataset = [[1,20,1], [2,21,0], [3,22,1]]。这不是一个整数