機器學習實戰之knn演算法pandas,供大家參考,具體內容如下
開始學習機器學習實戰這本書,打算看完了再回頭看 周志華的 機器學習。機器學習實戰的**都是用numpy寫的,有些麻煩,所以考慮用pandas來實現**,也能回顧之前學的 用python進行資料分析。感覺目前章節的測試方法太渣,留著以後學了更多再回頭寫。
# coding: gbk
import pandas as pd
import numpy as np
def getdata(path):
data = pd.read_csv(path, header sep='\t')
character = data.iloc[:, :-1]
label = data.iloc[:, -1]
chara_max = character.max()
chara_min = character.min()
chara_range = chara_max - chara_min
normal_chara = (character - chara_min) / chara_range
return gfeaxmnormal_chara, label # 獲得歸一化特徵值和標記
def knn(inx, normal_chara, label, k):
data_sub = normal_chara - inx
data_square = data_sub.applymap(np.square)
data_sum = data_square.sum(axis=1)
data_sqrt = data_sum.map(np.sqrt)
dis_sort = data_sqrt.argsort()
k_label = label[dis_sort[:k]]
label_sort = k_label.value_counts()
res_label = label_sort.index[0]
return res_label # knn演算法分類
小編為大家分享一段**:機器學習--knn基本實現
# _*_ coding _*_
import numpy as np
import math
import operator
def get_data(dataset):
x = dataset[:,:-1].astype(np.float)
y = dataset[:,-1]
return x,y
# def cal_dis(a,b):
# x1,y1 = a[:]
# x2,y2 = b[:]
# dist = math.sqrt(math.pow(2,x2)-math.pow(2,x1))
def knnclassifer(dataset,predict,k=3):
x,y = get_data(dataset)
dic = {}
distince = np.sum((predict-x)**2,axis=1)**0.5
sorted_dict = np.argsort(distince)#[2 1 0 3 4]
countlabel = {}
for i in range(k):
label = y[sorted_dict[i]]
# print(i,sorted_dict[i],label)
countlabel[label] = countlabel.get(label,0)+1
new_dic = sorted(countlabel,key=operator.itemgetter(0),reverse=true)
return new_dic[0][0]
if __name__ == '__main__':
dataset = np.loadtxt("datgfeaxmasetgfeaxm.txt",dtype=np.str,delimiter=",")
predict = [2,2]
label = knnclassifer(dataset,predict,3)
print(label)
本文標題: 機器學習實戰之knn演算法pandas
本文位址:
機器學習實戰之knn演算法
程式 author xiaoyun from numpy import import operator def createdataset group array 1.0,0.9 1.0,1.0 0.1,0.2 0.0,0.1 labels a a b b return group,labels d...
機器學習實戰之KNN演算法
1 knn分類演算法介紹 演算法實現原理 存在乙個樣本資料集,將需要分類的輸入值與樣本資料集計算歐式距離,將歐式距離由小到大進行排序,取前k次最小距離對應的樣本資料集,對該樣本資料集的類別進行統計,其 現次數最多的類別為輸入值的預判類別。歐式距離計算公式 假設a點座標為 x1,y1 b點座標為 x2...
《機器學習實戰》之knn演算法
買了王斌老師翻譯的 機器學習實戰 一書,裡面全是乾貨,既可以練python,又可以學習機器學習演算法知識,挺不錯的,學習一些東西這裡分享下。k 近鄰演算法 knn 它的核心思想就一句話,如果兩個東西各方面屬性都很相似,那麼這兩個東西屬於同一類。k的意思是有很多東西和你要判斷的東西相似 稱作x 那麼找...