然后我们转到数据集本身。我们将项目保存到名为items的列表中,其元素是字典(每个项目一个)。这些项目词典的关键是功能名称,以及用于保存项目类的“类”。最后,我们想要对列表中的项目进行随机播放(这是一个安全措施,以防项目处于奇怪的顺序)
items = [];
for i in range(1, len(lines)):
line = lines[i].split(', ');
itemFeatures = {"Class" : line[-1]};
# Iterate through the features
for j in range(len(features)):
# Get the feature at index j
f = features[j];
# The first item in the line
# is the class, skip it
v = float(line[j]);
# Add feature to dict
itemFeatures[f] = v;
# Append temp dict to items
items.append(itemFeatures);
shuffle(items);
为了更快地找到最大距离项,我们将保持列表按升序排序。因此,列表中的最后一项将具有最大距离。我们将用新项目替换它,我们将再次排序。
为了加快这个过程,我们可以实现一个插入排序,我们在列表中插入新项目,而不必对整个列表进行排序。虽然这个代码很长,虽然很简单,但是会让教程陷入困境。








暂无数据