# patternRecord **Repository Path**: jeffreysharp/pattern-record ## Basic Information - **Project Name**: patternRecord - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-01 - **Last Updated**: 2023-12-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 模式识别实验代码即相关记录 老师所布置的所有的链接都是需要做的实验 最后的要求是所有的代码必须能够跑出一个结果来 然后是把实验报告能够提交上去 # 当前发布过的链接与其对应的代码 ## bayes ### 参考网址 https://blog.csdn.net/qq_25948717/article/details/81744277 ### 目录结构 Bayes/ bayes_classfier.py classfication.py generate_attirebute.py ### 相关说明 实验运行结果 对随机参数数据的分类 ### 运行脚本 ```shell python3 Bayes/classfication.py ``` ## parzen KNN ### 参考网址 https://blog.csdn.net/baidu_34045013/article/details/81238753 Parzen窗、k-nn ### 目录结构 KNN/ parzen.py ``` ==========当h=1时============ 样本点[0.5 1. 0. ]属于2类 样本点[ 0.31 1.51 -0.5 ]属于2类 样本点[-0.3 0.44 -0.1 ]属于2类 ``` 这份代码我找的是知乎上面的 所以我还需要清晰得对其进行分析 至少需要知道他是干嘛的 以及这个结果表示着什么 KNN.py ``` float64 float64 [1.17 1.152 1.16 1.029 0.902 0.874 0.65 0.643 1.358 1.165 1.043 1.498 1. 0.978 0.945 1.07 1.29 ] [ 7 6 5 4 14 13 12 3 10 15 1 2 9 0 16 8 11] 7 1 11 0 8 0 {1: 1, 0: 2} 1 1 0 2 test class 0 其他类型 ``` 这个好像是我上学期机器学习的代码? ### 运行脚本 ```shell python3 KNN/KNN.py python3 KNN/parzen.py ``` ## SVM ### 参考网址 https://blog.csdn.net/YunduanBeichen/article/details/121391709 ### 目录结构 SVM/ SVM1.py SVM2.py 这就是我上学期机器学习的代码 那就直接用对应的实验报告了 ### 相关说明 没有测试数据 我使用的上学期机器学习的代码 这样就能避免测试数据的问题 ### 运行脚本 ```shell python3 SVM/SVM1.py python3 SVM/SVM2.py ``` ## SMO ### 参考网址 https://blog.csdn.net/qq_45856698/article/details/130250794 ### 目录结构 SMO/ linearSMO.py nonlinearDataSMO.py nonliearSMO.py ### 相关说明 这里我使用的是网上所搜索到的代码 他最后会生成一堆png放到项目的根目录下 ### 运行脚本 ```python python3 SMO/linearSMO.py python3 SMO/nonlinearDataSMO.py python3 SMO/nonlearSMO.py ``` ## BP Net ### 参考网址 https://blog.csdn.net/Vertira/article/details/122348288 ### 目录结构 BPNet/ BP.py network.py mnist_loader.py test.py ### 相关说明 这里我直接利用的是这篇博客中的内容 这篇博客使用的python2 所以我进行了适当的修改 使得现在的代码能在python3上面跑了 注意这个测试最后没有什么输出 可能需要自己添加 或者就这样。。。 ### 如何运行 ```shell python3 BPNetwork/test.py ``` ## KL变换 ### 参考网址 https://blog.csdn.net/sunboyiris/article/details/21441165 https://blog.csdn.net/weixin_42845306/article/details/120972529 ### 目录结构 ### 相关说明 KL变换的两个实验代码用的都是matlab 所以这里也还是使用matlab而非python 其中有个链接的的matlab代码是用于人脸识别的 也就是说给定一个一堆照片和一张照片 我首先去计算这张照片通过KL变换后得到的系数矩阵 再去计算这一堆照片的系数矩阵 最后算距离 选择最小的那个作为我的结果 ### 如何运行 ```shell python KL/KLnew.py ``` 由于网络问题,我只能在ubuntu上运行这个重新,windows上没有这个数据集。 ## C均值 c-mean直接使用的是skfuzzy里面的c-mean函数 skfuzzy需要通过pip下载 c-mean是模糊c均值,直接搜索可能会出现k-mean的方法 ```shell python C-Mean/c-mean.py ``` ## 总体均值 总体均值需要我们去对聚类和分类算法进行评价,直接用sklearn里面的评价模型方法就好了 数据集用的是win和ubuntu都有的iris ```shell python Evaluation/classify-evaluation.py python Evaluation/cluster-evaluation.py ``` # 总结 bayes 已做 done KNN 需要弄清楚是在干嘛 KNN相关的内容到时候写清楚即可 KNN还是得写得清楚一点 BPNetwork 弄清楚是在干嘛 done SMO 弄清楚是在干嘛 这里可以直接参考我上学期写的word SVM 用机器学习的实验报告 done KL变换 C均值 总体均值 分类算法用准确度来评价模型的性能 聚类算法用# 同质性: 每个簇只包含一个类的成员 完整性:给定类的所有成员都分配给同一个簇 V-measure:前面两个值的调和平均数来评价模型的性能 bayes的和他给的不一样 没法通过修改搞定,只能再跑一次程序了 bayes的程序搞定了 windows下的命令 当然仅供参考 ```cmd & f:/pythonProject/venv/Scripts/python.exe f:/pythonProject/pattern-record/Bayes/bayesNew.py ``` parzen窗和KNN 这个可以把parzen的实验内容给去掉,然后直接写KNN的,就可以兼容了 SVM好像只要自己实现就行,不用改 BP这个也可以删除第二部分的内容,也就是采用scikit-learn 库的神经网络分类方法,实现库中提供的手写数字集digits分类 然后又来了一个KNN,这个只需要自己实现代码,直接抄就完了 之后就是今天的KL变换了,正常写就行了 编写C-均值算法程序,先生成若干不同参数高斯分布的数据集(也可使用iris数据集,不考虑类别标签),然后聚类: 1.改变初始类中心,观察对聚类结果的影响; 2.改变类别数C,比较其对类内距离平方和的大小的影响。总结影响C-均值算法结果的因素。并指出C-均值算法适用于什么情况。 1.选取具有代表性的分类方法及数据集,利用n重交叉验证方法,评价不同分类方法的性能。 2.选择不同的聚类算法,对比评价聚类质量和结果。