기계 학습 실전의 kn 알고리즘 판다스 실현

1781 단어 기계 학습
머신러닝 실전이라는 책을 배우기 시작했고, 다 보고 나서 주지화의 머신러닝을 돌아볼 생각이다.기계 학습 실전의 코드는numpy로 작성되어 좀 번거롭기 때문에pandas로 코드를 실현하는 것을 고려하고 이전에 배웠던python으로 데이터 분석을 되돌아볼 수 있다.현재 장과 절의 테스트 방법이 너무 엉망인 것 같아서 남겨 두었다가 나중에 더 많이 배운 다음에 다시 쓴다.
# 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  #            


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    

좋은 웹페이지 즐겨찾기