欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

機器學(xué)習(xí)實戰(zhàn)之knn算法pandas

 更新時間:2019年06月22日 09:01:40   作者:等風(fēng)來ing  
這篇文章主要為大家詳細介紹了機器學(xué)習(xí)實戰(zhàn)之knn算法pandas,具有一定的參考價值,感興趣的小伙伴們可以參考一下

機器學(xué)習(xí)實戰(zhàn)之knn算法pandas,供大家參考,具體內(nèi)容如下

開始學(xué)習(xí)機器學(xué)習(xí)實戰(zhàn)這本書,打算看完了再回頭看 周志華的 機器學(xué)習(xí)。機器學(xué)習(xí)實戰(zhàn)的代碼都是用numpy寫的,有些麻煩,所以考慮用pandas來實現(xiàn)代碼,也能回顧之前學(xué)的 用python進行數(shù)據(jù)分析。感覺目前章節(jié)的測試方法太渣,留著以后學(xué)了更多再回頭寫。

# coding: gbk
import pandas as pd
import numpy as np


def getdata(path):
 data = pd.read_csv(path, header=None, 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 normal_chara, label # 獲得歸一化特征值和標(biāo)記


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算法分類

小編為大家分享一段代碼:機器學(xué)習(xí)--KNN基本實現(xiàn)

# _*_ 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("dataset.txt",dtype=np.str,delimiter=",")
 
 predict = [2,2]
 label = knnclassifer(dataset,predict,3)
 print(label)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論