-
大小: 1.65MB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2023-09-02
- 語言: 其他
- 標(biāo)簽: 機器學(xué)習(xí)??KNN算法??
資源簡介
這是我發(fā)表的第一篇論文《一種基于層次分析法的改進(jìn)KNN算法》的代碼文檔。這里面包含了AHP-KNN算法、FCD-KNN算法和論文實驗代碼,以及相關(guān)論文。

代碼片段和文件信息
#!/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算法的構(gòu)造函數(shù)
????????:param?train_data:?訓(xùn)練數(shù)據(jù)集
????????:param?train_label:?訓(xùn)練數(shù)據(jù)集標(biāo)簽
????????:param?weight:?屬性權(quán)重
????????“““
????????self.Train_data?=?train_data
????????self.Train_label?=?train_label
????????self.Weight?=?weight
????def?predict(selftest_datak):
????????“““
????????這是AHP-KNN算法中測試一組數(shù)據(jù)的函數(shù)
????????:param?test_data:?測試數(shù)據(jù)
????????:param?k:?鄰居數(shù)
????????“““
????????#?計算測試數(shù)據(jù)與訓(xùn)練數(shù)據(jù)之間的歐氏距離
????????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
????????#?對分類標(biāo)簽進(jìn)行統(tǒng)計,找出對測試數(shù)據(jù)最合適的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算法的測試函數(shù)
????????:param?test_data:?測試數(shù)據(jù)集
????????:param?test_label:?測試數(shù)據(jù)集標(biāo)簽
????????:param?k:?鄰居數(shù)
????????“““
????????result?=?[]?????????#存儲預(yù)測結(jié)果
????????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??一種基于層次分析法的改進(jìn)KNN算法\
?????目錄???????????0??2018-08-14?15:44??一種基于層次分析法的改進(jìn)KNN算法\.idea\
?????文件?????????185??2018-08-13?13:54??一種基于層次分析法的改進(jìn)KNN算法\.idea\misc.xm
?????文件?????????342??2018-08-13?13:53??一種基于層次分析法的改進(jìn)KNN算法\.idea\modules.xm
?????文件???????20088??2018-08-14?15:44??一種基于層次分析法的改進(jìn)KNN算法\.idea\workspace.xm
?????文件?????????455??2018-08-13?13:54??一種基于層次分析法的改進(jìn)KNN算法\.idea\一種基于層次分析法的改進(jìn)KNN算法.iml
?????目錄???????????0??2018-08-14?15:53??一種基于層次分析法的改進(jìn)KNN算法\AHP_KNN\
?????文件????????2091??2018-08-13?14:13??一種基于層次分析法的改進(jìn)KNN算法\AHP_KNN\AHP_KNN.py
?????文件?????????304??2018-08-13?13:54??一種基于層次分析法的改進(jìn)KNN算法\AHP_KNN\__init__.py
?????目錄???????????0??2018-08-14?15:44??一種基于層次分析法的改進(jìn)KNN算法\AHP_KNN\__pycache__\
?????文件????????1878??2018-08-13?15:57??一種基于層次分析法的改進(jìn)KNN算法\AHP_KNN\__pycache__\AHP_KNN.cpython-36.pyc
?????文件????????5433??2018-08-14?15:50??一種基于層次分析法的改進(jìn)KNN算法\AHP_KNN\實驗.py
?????目錄???????????0??2018-08-14?15:45??一種基于層次分析法的改進(jìn)KNN算法\FCD_KNN\
?????文件????????4322??2018-08-13?14:05??一種基于層次分析法的改進(jìn)KNN算法\FCD_KNN\FCD_KNN.py
?????文件?????????304??2018-08-13?13:54??一種基于層次分析法的改進(jìn)KNN算法\FCD_KNN\__init__.py
?????目錄???????????0??2018-08-14?15:44??一種基于層次分析法的改進(jìn)KNN算法\FCD_KNN\__pycache__\
?????文件????????3222??2018-08-13?14:08??一種基于層次分析法的改進(jìn)KNN算法\FCD_KNN\__pycache__\FCD_KNN.cpython-36.pyc
?????文件?????????317??2018-08-13?15:57??一種基于層次分析法的改進(jìn)KNN算法\FCD_KNN\__pycache__\__init__.cpython-36.pyc
?????目錄???????????0??2018-08-14?15:45??一種基于層次分析法的改進(jìn)KNN算法\KNN\
?????文件????????1785??2018-08-13?14:05??一種基于層次分析法的改進(jìn)KNN算法\KNN\KNN.py
?????文件?????????304??2018-08-13?13:53??一種基于層次分析法的改進(jìn)KNN算法\KNN\__init__.py
?????目錄???????????0??2018-08-14?15:44??一種基于層次分析法的改進(jìn)KNN算法\KNN\__pycache__\
?????文件????????1615??2018-08-13?15:57??一種基于層次分析法的改進(jìn)KNN算法\KNN\__pycache__\KNN.cpython-36.pyc
?????文件?????????313??2018-08-13?15:57??一種基于層次分析法的改進(jìn)KNN算法\KNN\__pycache__\__init__.cpython-36.pyc
?????目錄???????????0??2018-08-14?15:46??一種基于層次分析法的改進(jìn)KNN算法\論文\
?????文件?????1559345??2018-08-13?11:32??一種基于層次分析法的改進(jìn)KNN算法\論文\一種基于層次分析法的改進(jìn)KNN算法.pdf
?????文件??????287684??2018-08-13?12:20??一種基于層次分析法的改進(jìn)KNN算法\論文\基于屬性值相關(guān)距離的KNN算法的改進(jìn)研究.pdf
評論
共有 條評論