资源简介
这是我发表的第一篇论文《一种基于层次分析法的改进KNN算法》的代码文档。这里面包含了AHP-KNN算法、FCD-KNN算法和论文实验代码,以及相关论文。
![](http://www.nz998.com/pic/55943.jpg)
代码片段和文件信息
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2017/6/1 19:28
# @Author : Dai PuWei
# @Site : 计通303实验室
# @File : FCD_KNN.py
# @Software: PyCharm Community Edition
import numpy as np
import operator
class AHP_KNN:
def __init__(selftrain_datatrain_labelweight):
“““
这是AHP_KNN算法的构造函数
:param train_data: 训练数据集
:param train_label: 训练数据集标签
:param weight: 属性权重
“““
self.Train_data = train_data
self.Train_label = train_label
self.Weight = weight
def predict(selftest_datak):
“““
这是AHP-KNN算法中测试一组数据的函数
:param test_data: 测试数据
:param k: 邻居数
“““
# 计算测试数据与训练数据之间的欧氏距离
dataSetSize = np.shape(self.Train_data)[0]
diffMat = np.tile(test_data (dataSetSize 1)) - self.Train_data
sqDiffMat = diffMat ** 2
sqDiffMat = sqDiffMat*self.Weight
sqDistances = sqDiffMat.sum(axis=1)
distances = sqDistances ** 0.5
# 对分类标签进行统计,找出对测试数据最合适的K个分类
sortedDistIndicies = distances.argsort()
classCount = {}
for i in range(k):
voteIlabel = self.Train_label[sortedDistIndicies[i]]
classCount[voteIlabel] = classCount.get(voteIlabel 0) + 1
sortedClassCount = sorted(classCount.items() key=operator.itemgetter(1) reverse=True)
return sortedClassCount[0][0]
def Test(selfTest_datak):
“““
这是AHP-KNN算法的测试函数
:param test_data: 测试数据集
:param test_label: 测试数据集标签
:param k: 邻居数
“““
result = [] #存储预测结果
size = np.shape(Test_data)[0]
for i in range(size):
result.append(self.predict(Test_data[i]k))
result = np.array(result)
return result
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-08-14 15:44 一种基于层次分析法的改进KNN算法\
目录 0 2018-08-14 15:44 一种基于层次分析法的改进KNN算法\.idea\
文件 185 2018-08-13 13:54 一种基于层次分析法的改进KNN算法\.idea\misc.xm
文件 342 2018-08-13 13:53 一种基于层次分析法的改进KNN算法\.idea\modules.xm
文件 20088 2018-08-14 15:44 一种基于层次分析法的改进KNN算法\.idea\workspace.xm
文件 455 2018-08-13 13:54 一种基于层次分析法的改进KNN算法\.idea\一种基于层次分析法的改进KNN算法.iml
目录 0 2018-08-14 15:53 一种基于层次分析法的改进KNN算法\AHP_KNN\
文件 2091 2018-08-13 14:13 一种基于层次分析法的改进KNN算法\AHP_KNN\AHP_KNN.py
文件 304 2018-08-13 13:54 一种基于层次分析法的改进KNN算法\AHP_KNN\__init__.py
目录 0 2018-08-14 15:44 一种基于层次分析法的改进KNN算法\AHP_KNN\__pycache__\
文件 1878 2018-08-13 15:57 一种基于层次分析法的改进KNN算法\AHP_KNN\__pycache__\AHP_KNN.cpython-36.pyc
文件 5433 2018-08-14 15:50 一种基于层次分析法的改进KNN算法\AHP_KNN\实验.py
目录 0 2018-08-14 15:45 一种基于层次分析法的改进KNN算法\FCD_KNN\
文件 4322 2018-08-13 14:05 一种基于层次分析法的改进KNN算法\FCD_KNN\FCD_KNN.py
文件 304 2018-08-13 13:54 一种基于层次分析法的改进KNN算法\FCD_KNN\__init__.py
目录 0 2018-08-14 15:44 一种基于层次分析法的改进KNN算法\FCD_KNN\__pycache__\
文件 3222 2018-08-13 14:08 一种基于层次分析法的改进KNN算法\FCD_KNN\__pycache__\FCD_KNN.cpython-36.pyc
文件 317 2018-08-13 15:57 一种基于层次分析法的改进KNN算法\FCD_KNN\__pycache__\__init__.cpython-36.pyc
目录 0 2018-08-14 15:45 一种基于层次分析法的改进KNN算法\KNN\
文件 1785 2018-08-13 14:05 一种基于层次分析法的改进KNN算法\KNN\KNN.py
文件 304 2018-08-13 13:53 一种基于层次分析法的改进KNN算法\KNN\__init__.py
目录 0 2018-08-14 15:44 一种基于层次分析法的改进KNN算法\KNN\__pycache__\
文件 1615 2018-08-13 15:57 一种基于层次分析法的改进KNN算法\KNN\__pycache__\KNN.cpython-36.pyc
文件 313 2018-08-13 15:57 一种基于层次分析法的改进KNN算法\KNN\__pycache__\__init__.cpython-36.pyc
目录 0 2018-08-14 15:46 一种基于层次分析法的改进KNN算法\论文\
文件 1559345 2018-08-13 11:32 一种基于层次分析法的改进KNN算法\论文\一种基于层次分析法的改进KNN算法.pdf
文件 287684 2018-08-13 12:20 一种基于层次分析法的改进KNN算法\论文\基于属性值相关距离的KNN算法的改进研究.pdf
- 上一篇:大学课程《人工智能》课后习题及答案.pdf
- 下一篇:计算机系统概论第二版练习题答案
相关资源
- ppt 机器学习.ppt
- Logistic回归总结非常好的机器学习总结
- Convex Analysis and Optimization (Bertsekas
- 机器学习个人笔记完整版v5.2-A4打印版
- JUNIOR:粒子物理学中无监督机器学习
- 语料库.zip
- 中国科学技术大学 研究生课程 机器学
- 遗传算法越野小车unity5.5
- 吴恩达机器学习编程题
- shape_predictor_68_face_landmarks.dat.bz2 68个标
- 机器学习实战高清pdf,中文版+英文版
- 李宏毅-机器学习(视频2017完整)
- 机器学习深度学习 PPT
- 麻省理工:深度学习介绍PPT-1
- Wikipedia机器学习迷你电子书之四《D
- Learning From Data Yaser S. Abu-Mostafa
- 北大林宙辰:机器学习一阶算法的优
- 李宏毅深度学习ppt
- 机器学习方法R实现-用决策树、神经网
- 数字金融反欺诈白皮书
- 机器学习班PPT原件全邹博
- 机器学习实战(源码和数据样本)
- 计算广告含有目录 刘鹏版
- 数据挖掘导论完整版PPT及课后习题答
- kaggle信用卡欺诈数据
- 机器学习技法原始讲义和课程笔记
- 机器学习数学 陈希孺《 概率论与数理
- 概率论与数理统计陈希孺
- 哈尔滨工业大学深圳 机器学习 2017 考
- [概率论与数理统计]陈希孺带目录
评论
共有 条评论