91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python實現K最近鄰算法

發布時間:2020-08-21 15:17:28 來源:腳本之家 閱讀:169 作者:zoujm-hust12 欄目:開發技術

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

#! /usr/bin/env python3
# -*- coding: utf-8 -*-
# fileName : KNNdistance.py
# author : zoujiameng@aliyun.com.cn

import math

def getMaxLocate(target): # 查找target中最大值的locate
 maxValue = float("-inFinIty")
 for i in range(len(target)):
  if maxValue < target[i]:
   maxValue = target[i]
   flag = i
 return flag

def 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.cn

if __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)。大多數機器學習算法都包含訓練的步驟:要讓計算機完成任務,必須先訓練它。

samples:

a. 垃圾郵件過濾器, 使用一種簡單算法——樸素貝葉斯分類器(Naive Bayes classifier)
b. 預測股票市場, 使用機器學習來預測股票市場的漲跌真的很難。對于股票市場,如何挑選合適的特征呢?股票昨天漲了,今天也會漲,這樣的特征合適嗎?又或者每年五月份股票市場都以綠盤報收,這樣的預測可行嗎?在根據以往的數據來預測未來方面,沒有萬無一失的方法。未來很難預測,由于涉及的變量太多,這幾乎是不可能完成的任務。

conclude:

機器學習是個很有趣的領域,只要下定決心,你就能很深入地了解它。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金川县| 兴和县| 利川市| 乐业县| 广饶县| 沙洋县| 关岭| 台北县| 大同市| 林口县| 太谷县| 温泉县| 成武县| 乌海市| 兴义市| 扬中市| 巩留县| 鲁甸县| 来安县| 泸定县| 温宿县| 新野县| 革吉县| 寿阳县| 昔阳县| 鄂托克前旗| 余庆县| 牟定县| 青海省| 靖州| 延庆县| 安图县| 全椒县| 福海县| 吴旗县| 武功县| 堆龙德庆县| 宝坻区| 美姑县| 襄汾县| 金秀|