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: 模型预测结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容