Advertisement

relief F-algorithm

阅读量:

reliefF算法

import numpy as np
import pandas as pd
from sklearn import datasets

data = datasets.load_iris()
x,y = data.data,data.target
arr = np.hstack((x,y.reshape(len(y),1)))
k = 10

获取某个类别的K个近邻样本

def countNeighborDist(randomSample,randomIndex,label):
dis = {}
chooseKSampleIndex = []
index = np.where(arr[:,-1]==label)[0]
for i in index:
dist = np.sqrt(np.sum((randomSample[0:-1] - arr[i,0:-1])**2))
dis[i] = dist
if randomIndex in index:
del dis[randomIndex]
for j in range(k):
index = min(dis,key=dis.get)
chooseKSampleIndex.append(index)

全部评论 (0)

还没有任何评论哟~