写在开头的话:在学习《机器学习实战》的过程中发现书中很多代码并没有注释,这对新入门的同学是一个挑战,特此贴出我对代码做出的注释,仅供参考,欢迎指正。
1、进行文本分类
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] #ddf
return postingList, classVec
#功能:创建不重复词的列表
#输入:数据集
#输出:不重复词的列表
def createVocabList(dataSet):
vocabSet = set([])#创建空集合
for document in dataSet:
vocabSet = vocabSet | set(document)#或操作表示创建并集
return list(vocabSet)
#功能:输入文档中的单词在词汇表中是否出现
#输入:词汇表,输入文档
#输出:文档向量
def setOfWords2Vec(vocabList,