Python学习笔记-3群18组-杜杜狼-2017.8.18

Lesson 21 KNN

监督学习(Supervised Learning)
从给定标注的训练数据中学习出一个函数,根据这个函数为新数据进行标注

无监督学习(Unsupervised learning)
从给定无标注的训练数据中学习出一个函数,根据这个函数为所有数据标注

分类(Classification)
分类算法通过对一只类别训练数据集的分析,从中发现分类规则,以此预测新数据的类别,分类算法属于监督学习

K近邻分类算法
KNN 算法从训练集中找到和新数据最接近的K条记录,然后根据他们的主要分类来决定新数据的类别

交叉验证(cross validation)
训练集(Training set)
用来训练模型或确定模型参数的数据集
测试集(testing set)
用来验证模型准确性的数据集,但不保证模型的正确性

K折交叉验证
设置K=10, 把原来的数据集随机分成10分,分别为{D1, D2, ..., D10}
接着,使用D1作为测试集,{D2,D3,...,D10}作为训练集,计算得分S1
继续,使用D2作为测试集,{D1,D3,...,D10}作为训练集,计算得分S2
......
最后,使用D10作为测试集,{D1,D2,...D9}作为训练集,计算得分S10

API小结
neighbors.KNeighborsClassifier KNN模型

  • knnModel = neighbors.KNeighborsClassifier(n_neighbors=5)
    n_neighbors: 分类的个数
    return: KNN模型
  • knnModel.fit(tData, tTarget) KNN训练方法
    tData: 训练数据的属性数据
    tTarget: 训练数据的目标数据
  • knnModel.score(sData, sTarget) KNN评分方法
    sData: 测试数据的属性数据
    sTarget: 测试数据的目标数据
  • knnModel.predict(pData) KNN预测方法
    pData: 需要预测的属性数据
    return: 模型预测结果

你可能感兴趣的:(Python学习笔记-3群18组-杜杜狼-2017.8.18)