资源简介
这是我发表的第一篇论文《一种基于层次分析法的改进KNN算法》的代码文档。这里面包含了AHP-KNN算法、FCD-KNN算法和论文实验代码,以及相关论文。
代码片段和文件信息
#!/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
- 下一篇:计算机系统概论第二版练习题答案
相关资源
- 机器学习 Jason Brownlee
- Pattern Recognition and Machine Learning 课后习
- 斯坦福大学机器学习所有习题及答案
- 评估机器学习的模型
- 中科大机器学习期末试卷
- 国科大中科院模式识别与机器学习期
- 2019年北航机器学习研究生期末考试往
- Science 杂志综述长文——Machine learni
- XGBoost论文原文+翻译
- 机器学习实验(Lasso求解算法预测波士
- UCI数据集
- 机器学习ppt
- BAT机器学习面试1000题系列
- machine learning ex4
- 阿里云机器学习组件PAI用户手册
- 斯坦福大学机器学习课程
- PDF已勘误经典书籍PRML马春鹏译版_模式
- PRML最最最完整版答案
- 北航机器学习期末考试往年试题
- 模式识别与机器学习 国科大 黄庆明
- Algorithms for Reinforcement Learning 强化学习
- 网络安全中的数据挖掘方法与机器学
- 异常检测与机器学习
- cs229原版讲义
- 线性回归预测PM2.5包括代码详解
- 时空建模分析及应用
- Applied Logistic Regression (3rd Edition)
- 机器学习的课件哈工大
- Optimization for Machine Learning 机器学习优
- stm32单片机knn算法手写数字识别
评论
共有 条评论