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)
还没有任何评论哟~
