前置条件环境准备如下所示:Pycharm python3.6 sklearn face_recognition dlib
Step1:KNN算法简介
K最近邻(k-Nearest Neighbor,KNN)分类算法的核心思想是如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法可用于多分类,KNN算法不仅可以用于分类,还可以用于回归。通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,作为预测值。
KNeighborsClassifier在scikit-learn在sklearn.neighbors包之中。
KNeighborsClassifier使用很简单,三步:
1)创建KNeighborsClassifier对象
2)调用fit函数
3)调用predict函数进行预测。
Step2:看看项目的目录结构如下
Step3:看看训练数据
Step4:看看测试数据
Step5:看看模型计算出来的考勤数据
打开后如下图所示:
Step6:两个核心的py文件解析
KNN_Recognition_easy.py 通过模型去统计考勤的py文件。
KNN_Train_easy.py 通过训练数据生成模型的py文件。代码如下:
程序入口:
调用main()
往下依次调用有:
predict()
getvalueToKey()
strTotime()
prase_filename_date()
writeExcel()
,