knn 数据集准备】的更多相关文章

""" Created on Mon Aug 26 20:57:24 2019 @author: huoqs knn algorithm """ import numpy as np import matplotlib.pyplot as plt def generate_data(num_samples, num_features=2): data_size = (num_samples, num_features) data = np.ran…
由于KNN的计算量太大,还没有使用KD-tree进行优化,所以对于60000训练集,10000测试集的数据计算比较慢.这里只是想测试观察一下KNN的效果而已,不调参. K选择之前看过貌似最好不要超过20,因此,此处选择了K=10,距离为欧式距离.如果需要改进,可以再调整K来选择最好的成绩. 先跑了一遍不经过scale的,也就是直接使用像素灰度值来计算欧式距离进行比较.发现开始基本稳定在95%的正确率上,吓了一跳.因为本来觉得KNN算是没有怎么“学习”的机器学习算法了,猜测它的特点可能会是在任何情…
首先引入需要的包 %matplotlib inline import numpy as np import scipy as sp import pandas as pd import matplotlib.pyplot as plt import sys import os path = os.path.abspath('..') if not path in sys.path: sys.path.append(path) 载入数据集,使数据中心化(减去平均值) from dataset.cl…
基本流程: 1.计算测试实例到所有训练集实例的距离: 2.对所有的距离进行排序,找到k个最近的邻居: 3.对k个近邻对应的结果进行合并,再排序,返回出现次数最多的那个结果. 交叉验证: 对每一个k,使用验证集计算,记录k对应的错误次数,取错误数最小的k # -*- coding: utf-8 -*- import os import pandas as pd import matplotlib.pyplot as plt import math import operator #按照8:2的比例…
目标 在本章中 我们将使用我们在kNN上的知识来构建基本的OCR应用程序. 我们将尝试使用OpenCV自带的数字和字母数据集. 手写数字的OCR 我们的目标是构建一个可以读取手写数字的应用程序.为此,我们需要一些train_data和test_data.OpenCV带有一个图片digits.png(在文件夹opencv/samples/data/中),其中包含5000个手写数字(每个数字500个).每个数字都是20x20的图像.因此,我们的第一步是将图像分割成5000个不同的数字.对于每个数字,…
KNN算法的实现 import pandas as pd from math import dist k = int(input("请输入k值:")) dataTest = pd.read_csv('iristest.csv', header=None).values trainData = pd.read_csv('iristrain.csv', header=None).values # 用于我懒得把测试数据和训练数据封装成不同类,所以就会在成员变量里面同时出现测试数据专有的属性和…
一.问题描述 网上绝大多数作业参考都是在jupyter下运行的,数据集载入过程一般如下: from cs231n.data_utils import load_CIFAR10 #导入数据集,并打印出数据集相关参数以确定是否加载成功 cifar10_dir = 'cs231n/datasets/cifar-10-batches-py' #数据集地址(获取数据集的脚本) #删除以前可能导入的数据,若之前未导入数据,则直接pass #try...except...为解决异常的语句,参见https://…
1. 距离计算,不要通过遍历每个样本来计算和指定样本距离,而是通过对于指定样本进行广播(复制)成为一个shape和全局一致后,再进行整体计算,这里的广播 / 复制采用的是tile函数来实现的: 2. numpy的排序函数argsort,这个函数可以默认按照冒泡排序进行排序:对于一维数组,正序排列正常传入数组即可返回np.argsort(x):如果是逆序则是np.argsort(-x):类似的对于二维数组,需要指定一下axis,如果0代表按照列进行排序,axis=1代表按照行进行排序: 3. 对于…
filename='g:\data\iris.csv' lines=fr.readlines()Mat=zeros((len(lines),4))irisLabels=[]index=0for line in lines: line=line.strip() if len(line)>0: listFromline=line.split(',') irisLabels.append(listFromline[-1]) Mat[index,:]=listFromline[0:4] index=in…
K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结合视频学习和书籍基础的笔记所得.本系列文章将采用理论结合实践方式编写.首先介绍机器学习和深度学习的范畴,然后介绍关于训练集.测试集等介绍.接着分别介绍机器学习常用算法,分别是监督学习之分类(决策树.临近取样.支持向量机.神经网络算法)监督学习之回归(线性回归.非线性回归)非监督学习(K-means聚…