偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

用Madlib學習『機器學習』之KNN

原創(chuàng)
人工智能 機器學習
本文介紹用Madlib學習『機器學習』之KNN。機器學習(ML)分為:監(jiān)督學習,無監(jiān)督學習,半監(jiān)督學習等。

前言

機器學習(ML)分為:監(jiān)督學習,無監(jiān)督學習,半監(jiān)督學習等。

1.1 監(jiān)督學習(supervised learning)

監(jiān)督學習是訓練神經網(wǎng)絡和決策樹的常見技術,高度依賴事先確定的分類系統(tǒng)給出的信息,對于神經網(wǎng)絡,分類系統(tǒng)利用信息判斷網(wǎng)絡的錯誤,然后不斷調整網(wǎng)絡參數(shù)。對于決策樹,分類系統(tǒng)用它來判斷哪些屬性提供了最多的信息。

從給定的訓練數(shù)據(jù)集中學習出一個函數(shù),當新的數(shù)據(jù)到來時,可以根據(jù)這個函數(shù)預測結果。

監(jiān)督學習的訓練集要求包括輸入輸出,也可以說是特征和目標,訓練集中的目標是由人標注的。

常見的有監(jiān)督學習算法:回歸分析和統(tǒng)計分類,最典型的算法是KNN和SVM。

有監(jiān)督學習最常見的就是:regression & classification

Regression:Y是實數(shù)向量,回歸問題,就是擬合(x,y)的一條曲線,使得價值函數(shù)(cost function) L最小。

Classification:Y是一個有窮數(shù)(finite number),可以看做類標號,分類問題首先要給定有l(wèi)abel的數(shù)據(jù)訓練分類器,故屬于有監(jiān)督學習過程,分類過程中cost function l(X,Y)是X屬于類Y的概率的負對數(shù)。

其中fi(X)=P(Y=i/X)。

有監(jiān)督學習方法必須要有訓練集與測試樣本,在訓練集中找規(guī)律,而對測試樣本使用這種規(guī)律。

有監(jiān)督學習的方法就是識別事物,識別的結果表現(xiàn)在給待識別數(shù)據(jù)加上了標簽,因此訓練樣本集必須由帶標簽的樣本組成。

1.2 名詞KNN

k-Nearest Neighbors

在一個給定的數(shù)據(jù)點上找出k個最近的數(shù)據(jù)點,在分類的情況下輸出輸出類的多數(shù)投票值,以及在回歸情況下目標值的平均值。

擼袖子

2.1 新新相映

軟件是基于***的postgresql 10.0加上***的madlib 1.12。

為了操作方便,我這里使用基于docker的ubuntu 16.04安裝madlib,這樣以后就可以拿著這個鏡像到處嗨了,以下操作就是在MAC里面進行的。

2.2 查看madlib版本

  1. #select madlib.version();

2.3 導入訓練數(shù)據(jù)

 

  1. DROP TABLE IF EXISTS knn_train_data; 
  2. CREATE TABLE knn_train_data ( 
  3.                     id integer,  
  4.                     data integer[],  
  5.                     label float 
  6.                     ); 

 

 

  1. INSERT INTO knn_train_data VALUES 
  2. (1, '{1,1}', 1.0), 
  3. (2, '{2,2}', 1.0), 
  4. (3, '{3,3}', 1.0), 
  5. (4, '{4,4}', 1.0), 
  6. (5, '{4,5}', 1.0), 
  7. (6, '{20,50}', 0.0), 
  8. (7, '{10,31}', 0.0), 
  9. (8, '{81,13}', 0.0), 
  10. (9, '{1,111}', 0.0);
  1. SELECT * from knn_train_data ORDER BY id; 

2.4 導入測試數(shù)據(jù)

 

  1. DROP TABLE IF EXISTS knn_test_data; 
  2. CREATE TABLE knn_test_data ( 
  3.                     id integer,  
  4.                     data integer[] 
  5.                     ); 

 

 

  1. INSERT INTO knn_test_data VALUES 
  2. (1'{2,1}'), 
  3. (2'{2,6}'), 
  4. (3'{15,40}'), 
  5. (4'{12,1}'), 
  6. (5'{2,90}'), 
  7. (6'{50,45}');
  1. SELECT * from knn_test_data ORDER BY id; 

2.5 分類訓練

 

  1. SELECT * FROM madlib.knn( 
  2.                 'knn_train_data',      -- 訓練數(shù)據(jù)表名 
  3.                 'data',                -- 訓練數(shù)據(jù)所在列 
  4.                 'label',               -- 訓練標簽 
  5.                 'knn_test_data',       -- 測試數(shù)據(jù)表名 
  6.                 'data',                -- 測試數(shù)據(jù)所在列 
  7.                 'id',                  -- 測試數(shù)據(jù)列名id 
  8.                 'madlib_knn_result_classification',  -- 結果輸出 
  9.                 'c',                   -- 分類 
  10.                  3                     -- 最近相鄰數(shù) 
  11.                 );               

 

2.6 查看分類輸出結果

  1. SELECT * from madlib_knn_result_classification ORDER BY id; 

圖形化示例:

2.7 進行回歸

 

  1. DROP TABLE IF EXISTS madlib_knn_result_regression; 
  2. SELECT * FROM madlib.knn( 
  3.                 'knn_train_data',      -- 訓練數(shù)據(jù)表名 
  4.                 'data',                -- 訓練數(shù)據(jù)所在列 
  5.                 'label',               -- 訓練標簽 
  6.                 'knn_test_data',       -- 測試數(shù)據(jù)表名 
  7.                 'data',                -- 測試數(shù)據(jù)所在列 
  8.                 'id',                  -- 測試數(shù)據(jù)列名id 
  9.                 'madlib_knn_result_regression',  --結果輸出 
  10.                 'r',                   -- 回歸 
  11.                  3                     -- 最近相鄰數(shù) 
  12.                 ); 

 

2.8 查看回歸輸出結果

 

  1. SELECT * from madlib_knn_result_regression ORDER BY id; 

圖形化示例:

小結

postgresql提供了對結構化數(shù)據(jù)的存儲和加工的便捷,madlib提供了ML算法的支持,強強聯(lián)手,相得益彰。

【作者簡介】孫輝,DataHunter技術總監(jiān)。曾在索尼等知名公司任職,先后擔任過系統(tǒng)架構、技術總監(jiān)等職位,負責過尚郵,索愛中文輸入法,快牙,mPush(魔推)等知名產品研發(fā)。擁有15年深厚IT技術行業(yè)經驗,熟悉掌控產品研發(fā)各個環(huán)節(jié),有豐富的后端、前端、運維、DBA、測試經驗。

【51CTO原創(chuàng)稿件,合作站點轉載請注明原文作者和出處為51CTO.com】

責任編輯:王雪燕 來源: 51CTO
相關推薦

2020-11-06 09:00:00

機器學習集成學習人工智能

2021-07-29 13:06:29

Python機器學習編程語言

2018-03-15 11:50:53

機器學習入門Tensorflow

2022-08-09 13:44:37

機器學習PySpark M數(shù)據(jù)分析

2017-09-01 13:19:21

機器學習Logostic回歸

2017-07-25 12:09:10

機器學習預測性維護模型

2024-06-13 09:12:38

2022-09-06 08:00:00

機器學習金融數(shù)據(jù)科學

2021-08-21 14:30:58

機器學習bilibili股價

2021-08-23 11:15:20

Python機器學習bilibili

2023-03-30 11:38:56

機器學習邏輯規(guī)則數(shù)量

2017-10-09 12:55:29

機器學習KaggleStacking

2017-04-11 12:05:07

機器學習python矩陣運算

2021-04-21 10:47:48

機器學習邏輯回歸

2015-04-14 10:40:31

云計算機器學習

2022-04-19 09:00:00

機器學習數(shù)據(jù)質量人工智能

2020-12-16 15:56:26

機器學習人工智能Python

2021-03-15 11:35:28

人工智能機器學習

2021-04-12 10:46:15

人工智能機器學習

2018-11-07 09:00:00

機器學習模型Amazon Sage
點贊
收藏

51CTO技術棧公眾號