Advertisement

kNN分析 Iris 数据集-利用交叉验证确定最佳 k值

阅读量:

基本流程概述

1、计算测试样本与训练集中每一个样本之间的距离;
2、将所有计算得到的距离值进行排序,确定距离最近的k个样本;
3、统计这k个邻近样本对应的结果类别,并进行排序,最终输出出现频率最高的类别作为预测结果。

交叉验证:

针对每个k值,通过验证集进行计算并统计对应的错误次数,最终选择错误次数最少的k值作为最优解

iris鸢尾花数据集

网络平台上存在大量可供下载的
http://archive.ics.uci.edu/ml/machine-learning-databases/iris/

代码

复制代码
    # -*- coding: utf-8 -*-
    import os
    import pandas as pd
    import matplotlib.pyplot as plt
    import math
    import operator
    
    #按照8:2的比例分割数据
    #testSetIndex : 第几组为测试样本,取值范围0 - 4
    def splitData(trainSet, testSet, testSetIndex):
    #data = pd.read_csv('iris.txt', skiprows=0, skipfooter=0

全部评论 (0)

还没有任何评论哟~