国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現K最近鄰算法

2020-02-22 23:01:23
字體:
來源:轉載
供稿:網友

KNN核心算法函數,具體內容如下

#! /usr/bin/env python3# -*- coding: utf-8 -*-# fileName : KNNdistance.py# author : zoujiameng@aliyun.com.cnimport mathdef getMaxLocate(target): # 查找target中最大值的locate maxValue = float("-inFinIty") for i in range(len(target)):  if maxValue < target[i]:   maxValue = target[i]   flag = i return flagdef KDistance(K, dest, source): destlen = len(dest) source1len = len(source[1]) sourcelen = len(source) KNN = [] locate = source # 準備從source中剔除N-K個最大值 if destlen == source1len:  for i in range(sourcelen):   delta = 0   for j in range(source1len):# 畢達哥拉斯公式    delta += (dest[j] - source[i][j])*(dest[j] - source[i][j])   KNN.append(math.sqrt(delta))  for k in range(sourcelen, K, -1):   flag = getMaxLocate(KNN)   #print("%s 最大元素位置為%d" % (KNN, flag))   KNN.remove(KNN[flag]);   locate.remove(locate[flag])# 移除對應位置的元素   #print(locate)  return locate # 返回最終K個最接近的元素 else:  return None

假設你在伯克利開個小小的面包店,每天都做新鮮面包,需要根據如下一組特征預測當天該烤多少條面包:

a. 天氣指數1~5(1表示天氣很糟,5表示天氣非常好);
b. 是不是周末或節假日(周末或節假日為1,否則為0);
c. 有沒有活動(1表示有,0表示沒有)。

已知

historyA(5, 1, 0) = 300
historyB(3, 1, 1) = 225
historyC(1, 1, 0) = 75
historyD(4, 0, 1) = 200
historyE(4, 0, 0) = 150
historyF(2, 0, 0) = 50

回歸:周末,天氣不錯

Now(4, 1, 0) = ?

#! /usr/bin/env python3# -*- coding: utf-8 -*-# fileName : KNNdistance.py# author : zoujiameng@aliyun.com.cnif __name__ == "__main__": history = {} history[5, 1, 0] = 300 history[3, 1, 1] = 225 history[1, 1, 0] = 75 history[4, 0, 1] = 200 history[4, 0, 0] = 150 history[2, 0, 0] = 50 dest = [4, 1, 0] source = [] for i in history:  source.append(i) print(source) from KNNdistance import KDistance K = 4 locate = KDistance(K, dest, source) avg = 0 for i in range(len(locate)):  avg+=history[locate[i]] avg/=K print("回歸結果:今天應該烤%d個面包" % round(avg))

KNN算法:

創建分類系統 分類(分組),特征抽?。ǖ玫较嗨瞥潭龋? 回歸,即預測數值 KNN算法真的是很有用,堪稱你進入神奇的機器學習領域的領路人!機器學習旨在讓計算機更聰明。你見過一個機器學習的例子:創建推薦系統。 OCR指的是光學字符識別 (optical character recognition),這意味著你可拍攝印刷頁面的照片,計算機將自動識別出其中的文字。Google使用OCR來實現圖書數字化。 一般而言,OCR算法提取線段、點和曲線等特征。 OCR中的特征提取要復雜得多,但再復雜的技術也是基于KNN等簡單理念的。這些理念也可用于語音識別和人臉識別。你將照片上傳到Facebook時,它有時候能夠自動標出照片中的人物,這是機器學習在發揮作用! OCR的第一步是查看大量的數字圖像并提取特征,這被稱為訓練(training)。大多數機器學習算法都包含訓練的步驟:要讓計算機完成任務,必須先訓練它。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 杭锦后旗| 舞阳县| 临高县| 仙桃市| 分宜县| 南丰县| 高安市| 明溪县| 永康市| 山阳县| 西华县| 黔东| 伊川县| 广丰县| 利津县| 大理市| 锡林郭勒盟| 南宫市| 仙桃市| 新蔡县| 青浦区| 浮山县| 临猗县| 清原| 美姑县| 襄城县| 新平| 怀远县| 石柱| 隆子县| 防城港市| 太湖县| 昌乐县| 德阳市| 合水县| 象山县| 灌云县| 北票市| 通道| 咸宁市| 丰宁|