参考:https://www.cnblogs.com/WiseAdministrator/articles/11354412.html
sklearn介绍
Scikit-learn(sklearn)是机器学习中常用的第三方模块,对常用的机器学习方法进行了封装,包括回归(Regression)、降维(Dimensionality Reduction)、分类(Classfication)、聚类(Clustering)等方法。
数据引入:
1.打包好的数据:sklearn.datasets.load_*
2.分流下载数据: sklearn.datasets.fetch_*
3.随机创建数据:sklearn.datasets.make_*
具体介绍可看 http://www.scikitlearn.com.cn/
K邻近算法
对于一个训练集,对于一个新的输入实例,在训练集中寻找与该实例最邻近的K个邻近,这K个邻近的多数属于某个类,就把该输入实例分类到这个类中。
特点:1.精度高(计算距离)、对异常值不敏感、无数据输入假定
2.空间时间复杂度高
理解可参考:https://zhuanlan.zhihu.com/p/25994179
程序
reshape 将数据重新组织。
random 返回一个随机生成的实数
random.seed() 随机数生成种子,对于同一个参数,每次生成的随机数相同
random.shuffle() 将列表元素随机打乱
sklearn.neighbors.NNeighborsClassifier 构建K最邻近分类器
knn.fit() 根据特征和分类标签得到分类模型
knn.score() 计算预测准确率
scipy 用于数学/科学/工程领域的常用软件包,可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题。
scipy.ndimage n维图像包
import numpy as np
# bmp 图片后缀
import matplotlib.pyplot as plt
from sklearn.neighbors import KNeighborsClassifier
feature = []
target = []
for i in range(0,10