缩进有点问题吧,另外,我根据gpt的回答,整理了一下,你看下是否可以解决问题:
您提供的代码中,loadDateSet() 函数返回了一个包含文档列表 postingList 和类别向量 classVec 的元组。然后,createVocabList() 函数使用 dataSet 参数作为输入,并通过迭代文档列表来创建一个词汇表 vocabSet。
在您的代码中,createVocabList() 函数中标记为 ** 加粗的行 ** 是关键部分。该部分使用集合操作符 | 将每个文档中出现的单词添加到 vocabSet 中。最后,将 vocabSet 转换为列表并返回。
以下是修正后的代码示例:
def loadDataSet():
postingList = [['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'],
['maybe', 'not', 'take', 'him', 'to', 'dog', 'park', 'stupid'],
['my', 'dalmation', 'is', 'so', 'cute', 'I', 'love', 'him'],
['stop', 'posting', 'stupid', 'worthless', 'garbage'],
['mr', 'licks', 'ate', 'my', 'steak', 'how', 'to', 'stop', 'him'],
['quit', 'buying', 'worthless', 'dog', 'food', 'stupid']]
classVec = [0, 1, 0, 1, 0, 1]
return postingList, classVec
def createVocabList(dataSet):
vocabSet = set([])
for document in dataSet:
vocabSet = vocabSet | set(document)
return list(vocabSet)
listOPosts, listClasses = loadDataSet()
myVocabList = createVocabList(listOPosts)
print(myVocabList)
现在,myVocabList 将包含词汇表的列表,并打印输出结果。请注意,修正后的代码中,createVocabList() 函数的返回缩进已更正,以确保在循环结束后才返回词汇表。