




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第9章機(jī)器學(xué)習(xí)入門《Python數(shù)據(jù)分析與應(yīng)用:從數(shù)據(jù)獲取到可視化(第2版)》學(xué)習(xí)目標(biāo)/Target
了解機(jī)器學(xué)習(xí),能夠說出什么是機(jī)器學(xué)習(xí)
熟悉機(jī)器學(xué)習(xí)的基本概念,能夠歸納機(jī)器學(xué)習(xí)涉及的基本概念
了解機(jī)器學(xué)習(xí)算法的分類,能夠區(qū)分監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)學(xué)習(xí)目標(biāo)/Target
了解機(jī)器學(xué)習(xí)解決問題的流程,能夠說出機(jī)器學(xué)習(xí)解決問題的流程
熟悉機(jī)器學(xué)習(xí)庫scikit-learn,能夠列舉至少3個(gè)scikit-learn模塊和數(shù)據(jù)集
掌握KNN算法,能夠使用scikit-learn的API實(shí)現(xiàn)KNN算法章節(jié)概述/Summary在這個(gè)數(shù)據(jù)為王的時(shí)代,海量數(shù)據(jù)已經(jīng)遠(yuǎn)遠(yuǎn)超出了直接計(jì)算的可能性,我們?nèi)粝胍獜暮A康臄?shù)據(jù)中高效地提取有價(jià)值的信息,需要用到專門的學(xué)習(xí)算法,這就是機(jī)器學(xué)習(xí)的作用所在。本章為大家介紹機(jī)器學(xué)習(xí)的相關(guān)內(nèi)容,相信你們會(huì)驚嘆機(jī)器學(xué)習(xí)的神奇并為之著迷的。目錄/Contents01機(jī)器學(xué)習(xí)簡(jiǎn)介02KNN算法03案例:預(yù)測(cè)簽到位置機(jī)器學(xué)習(xí)簡(jiǎn)介9.19.1.1
什么是機(jī)器學(xué)習(xí)了解機(jī)器學(xué)習(xí),能夠說出什么是機(jī)器學(xué)習(xí)學(xué)習(xí)目標(biāo)9.1.1
什么是機(jī)器學(xué)習(xí)機(jī)器學(xué)習(xí)(MachineLearning,簡(jiǎn)稱ML),從字面意思來看,就是讓機(jī)器(包括計(jì)算機(jī)、電子計(jì)算機(jī)、中子計(jì)算機(jī)、光子計(jì)算機(jī)、神經(jīng)計(jì)算機(jī)等)具備和人類一樣的學(xué)習(xí)能力,包括決策、推理、認(rèn)知、識(shí)別等智能行為。概念9.1.1
什么是機(jī)器學(xué)習(xí)所謂的“學(xué)習(xí)”是什么意思呢?學(xué)習(xí)的定義9.1.1
什么是機(jī)器學(xué)習(xí)湯姆·米切爾(TomMichaelMitchell)于1997年提供了一個(gè)簡(jiǎn)潔的定義:對(duì)于某類任務(wù)T和性能度量P,一個(gè)計(jì)算機(jī)程序被認(rèn)為可以從經(jīng)驗(yàn)E中學(xué)習(xí),通過經(jīng)驗(yàn)E改進(jìn)后,它在任務(wù)T上由性能度量衡量的性能有所提升。學(xué)習(xí)的定義9.1.1
什么是機(jī)器學(xué)習(xí)學(xué)習(xí)的3個(gè)要素湯姆·米切爾(TomMichaelMitchell)定義“學(xué)習(xí)”時(shí),提到三個(gè)概念,分別是任務(wù)T、訓(xùn)練經(jīng)驗(yàn)E和性能目標(biāo)P,這三個(gè)概念是構(gòu)建機(jī)器學(xué)習(xí)算法的核心要素。概念中國象棋程序任務(wù)T人機(jī)對(duì)弈性能目標(biāo)P比賽中擊敗對(duì)手的概率訓(xùn)練經(jīng)驗(yàn)E和機(jī)器對(duì)弈9.1.2
機(jī)器學(xué)習(xí)的基本概念熟悉機(jī)器學(xué)習(xí)的基本概念,能夠歸納機(jī)器學(xué)習(xí)涉及的基本概念學(xué)習(xí)目標(biāo)9.1.2
機(jī)器學(xué)習(xí)的基本概念鳶尾花數(shù)據(jù)集在機(jī)器學(xué)習(xí)領(lǐng)域有一個(gè)著名的鳶尾花數(shù)據(jù)集,該數(shù)據(jù)集記錄了三類鳶尾花,分別是變色鳶尾花(IrisVersicolour)、山鳶尾花(IrisSetosa)和維吉尼亞鳶尾花(IrisVirginica)。9.1.2
機(jī)器學(xué)習(xí)的基本概念鳶尾花數(shù)據(jù)集在鳶尾花數(shù)據(jù)中,每一類鳶尾花收集了50條記錄,每條記錄代表的是一朵花的數(shù)據(jù),整個(gè)鳶尾花數(shù)據(jù)集共150條記錄。每一條記錄包括4個(gè)屬性,分別是萼片長度、萼片寬度、花瓣長度和花瓣寬度。萼片長度(cm)萼片寬度(cm)花瓣長度(cm)花瓣寬度(cm)種類4.931.40.206.13.24.71.415.935.11.820、1、2分別代表山鳶尾花、變色鳶尾花和維吉尼亞鳶尾花。9.1.2
機(jī)器學(xué)習(xí)的基本概念基本概念簡(jiǎn)單來說,就是數(shù)據(jù)的集合。例如,鳶尾花數(shù)據(jù)集就是150個(gè)鳶尾花卉植物不同部分測(cè)量結(jié)果的集合。大部分機(jī)器學(xué)習(xí)算法的經(jīng)驗(yàn)就是從數(shù)據(jù)集上獲取的。1.
數(shù)據(jù)集(dataset)數(shù)據(jù)集的每一行數(shù)據(jù)稱為一個(gè)樣本,數(shù)據(jù)集有多少行,就代表有多少個(gè)樣本。2.
樣本(sample)9.1.2
機(jī)器學(xué)習(xí)的基本概念基本概念
3.
特征(feature)9.1.2
機(jī)器學(xué)習(xí)的基本概念基本概念
4.
標(biāo)簽(label)9.1.2
機(jī)器學(xué)習(xí)的基本概念基本概念分別以每個(gè)特征作為一個(gè)坐標(biāo)軸,所有特征所在坐標(biāo)軸組成的一個(gè)用于描述不同樣本的空間,稱為特征空間。5.
特征空間(featurespace)9.1.2
機(jī)器學(xué)習(xí)的基本概念基本概念在特征空間中,每個(gè)樣本對(duì)應(yīng)空間中的一個(gè)點(diǎn),也稱為樣本點(diǎn),每個(gè)樣本點(diǎn)對(duì)應(yīng)特征空間的一個(gè)向量,稱為特征向量。通常情況下,特征向量是一個(gè)列向量。6.
特征向量9.1.3
機(jī)器學(xué)習(xí)算法的分類了解機(jī)器學(xué)習(xí)算法的分類,能夠區(qū)分監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)學(xué)習(xí)目標(biāo)9.1.3
機(jī)器學(xué)習(xí)算法的分類3個(gè)分類根據(jù)數(shù)據(jù)集組成不同,可以把機(jī)器學(xué)習(xí)的算法主要分為監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。9.1.3
機(jī)器學(xué)習(xí)算法的分類監(jiān)督學(xué)習(xí)監(jiān)督學(xué)習(xí)指的是利用一組已知類別的樣本作為訓(xùn)練集,調(diào)整分類器的參數(shù),使其達(dá)到所要求性能的過程,也稱為監(jiān)督訓(xùn)練。9.1.3
機(jī)器學(xué)習(xí)算法的分類監(jiān)督學(xué)習(xí)在監(jiān)督學(xué)習(xí)中,每個(gè)實(shí)例都是由一個(gè)輸入對(duì)象和一個(gè)期望的輸出值組成的,它是通過分析訓(xùn)練數(shù)據(jù),從而產(chǎn)生一個(gè)推斷功能,其可以用于映射出新的實(shí)例。監(jiān)督學(xué)習(xí)根據(jù)輸出值的不同主要分為回歸和分類兩類問題,若輸出值是一個(gè)連續(xù)值,則屬于回歸問題;若輸出值是一個(gè)離散值,則屬于分類問題。9.1.3
機(jī)器學(xué)習(xí)算法的分類無監(jiān)督學(xué)習(xí)現(xiàn)實(shí)生活中常常有這樣的問題,缺乏足夠的先驗(yàn)知識(shí),難以人工標(biāo)注類別或者進(jìn)行人工類別標(biāo)注的成本太高,很自然的,我們希望計(jì)算機(jī)能代我們完成這些工作,或者至少提供一些幫助。根據(jù)類別未知的訓(xùn)練樣本解決模式識(shí)別中的各類問題,稱為無監(jiān)督學(xué)習(xí)。9.1.3
機(jī)器學(xué)習(xí)算法的分類無監(jiān)督學(xué)習(xí)21聚類針對(duì)數(shù)據(jù)的相似性和差異性將一組數(shù)據(jù)分為幾個(gè)類別,屬于同一個(gè)類別的數(shù)據(jù)間的相似性很大,但不類別之間數(shù)據(jù)的相似性很小,跨類的數(shù)據(jù)關(guān)聯(lián)性很低。聚類問題關(guān)聯(lián)規(guī)則則是隱藏在數(shù)據(jù)項(xiàng)之間的關(guān)聯(lián)或者相互關(guān)系,我們可以通過一個(gè)數(shù)據(jù)項(xiàng)的出現(xiàn)推導(dǎo)出其他數(shù)據(jù)項(xiàng)的出現(xiàn)。關(guān)聯(lián)規(guī)則問題9.1.3
機(jī)器學(xué)習(xí)算法的分類強(qiáng)化學(xué)習(xí)強(qiáng)化學(xué)習(xí)又稱再勵(lì)學(xué)習(xí)、評(píng)價(jià)學(xué)習(xí),是一種重要的機(jī)器學(xué)習(xí)方法,它是從動(dòng)物學(xué)習(xí)、參數(shù)擾動(dòng)自適應(yīng)控制等理論發(fā)展而來。9.1.3
機(jī)器學(xué)習(xí)算法的分類強(qiáng)化學(xué)習(xí)圖中涉及五個(gè)元素,分別是Agent、環(huán)境、狀態(tài)、動(dòng)作、獎(jiǎng)賞,其中Agent選擇一個(gè)動(dòng)作用于環(huán)境,環(huán)境接收該動(dòng)作后狀態(tài)發(fā)生變化,同時(shí)產(chǎn)生一個(gè)強(qiáng)化信號(hào)反饋給Agnet,Agent根據(jù)強(qiáng)化信號(hào)和環(huán)境當(dāng)前的狀態(tài)再選擇下一個(gè)動(dòng)作,選擇的原則是使受到獎(jiǎng)勵(lì)的概率增大。強(qiáng)化學(xué)習(xí)的基本原理9.1.3
機(jī)器學(xué)習(xí)算法的分類強(qiáng)化學(xué)習(xí)Agent環(huán)境獎(jiǎng)勵(lì)9.1.4
機(jī)器學(xué)習(xí)解決問題的流程了解機(jī)器學(xué)習(xí)解決問題的流程,能夠說出機(jī)器學(xué)習(xí)解決問題的流程學(xué)習(xí)目標(biāo)9.1.4
機(jī)器學(xué)習(xí)解決問題的流程隨著大數(shù)據(jù)時(shí)代的到來,機(jī)器學(xué)習(xí)成為解決問題的一種重要而且關(guān)鍵的工具。對(duì)于任何一個(gè)打算由機(jī)器學(xué)習(xí)來解決的問題,都存在一種“套路”,只要我們按照這種“套路”執(zhí)行,必然會(huì)得到一個(gè)結(jié)果。9.1.4
機(jī)器學(xué)習(xí)解決問題的流程工作流程數(shù)據(jù)搜集的數(shù)量越多,后期所做出的預(yù)測(cè)或者判斷會(huì)更精準(zhǔn)9.1.4
機(jī)器學(xué)習(xí)解決問題的流程工作流程這個(gè)過程包括特征選擇、特征構(gòu)建、特征提取和特征選擇等模塊。9.1.4
機(jī)器學(xué)習(xí)解決問題的流程工作流程“模型”可以簡(jiǎn)單理解為函數(shù)9.1.4
機(jī)器學(xué)習(xí)解決問題的流程注意事項(xiàng)我們搜集的原始數(shù)據(jù)最好分為兩部分,其中80%的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),保留20%的數(shù)據(jù)作為驗(yàn)證數(shù)據(jù)。9.1.4
機(jī)器學(xué)習(xí)解決問題的流程多學(xué)一招:過擬合和欠擬合當(dāng)模型設(shè)計(jì)過于復(fù)雜時(shí),由于擬合過程中過度考慮數(shù)據(jù)中的細(xì)節(jié),甚至使用了許多噪聲,使得模型過分依賴訓(xùn)練數(shù)據(jù),導(dǎo)致模型在新數(shù)據(jù)集上的表現(xiàn)很差,這種情況稱為過擬合的現(xiàn)象。9.1.4
機(jī)器學(xué)習(xí)解決問題的流程多學(xué)一招:過擬合和欠擬合當(dāng)模型設(shè)計(jì)過于簡(jiǎn)單時(shí),由于沒有充分考慮數(shù)據(jù)集中的特征,使得模型的擬合能力不強(qiáng),導(dǎo)致模型在訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集上表現(xiàn)都很差,這種情況稱為欠擬合的現(xiàn)象。9.1.5
認(rèn)識(shí)機(jī)器學(xué)習(xí)庫scikit-learn熟悉機(jī)器學(xué)習(xí)庫scikit-learn,能夠列舉至少3個(gè)scikit-learn的模塊和數(shù)據(jù)集學(xué)習(xí)目標(biāo)9.1.5
認(rèn)識(shí)機(jī)器學(xué)習(xí)庫scikit-learnscikit-learn(也稱為sklearn)是機(jī)器學(xué)習(xí)領(lǐng)域中非常熱門的基于Python語言的開源庫,它依賴于NumPy、pandas、sciPy、matplotlib等一些擴(kuò)展庫,不僅涵蓋了一些有助于初學(xué)者學(xué)習(xí)機(jī)器學(xué)習(xí)的經(jīng)典樣例數(shù)據(jù)集,而且擁有很多用于回歸、分類、聚類等問題的高效算法,包括支持向量機(jī)、隨機(jī)森林、梯度提升、k均值和DBSCAN等,同時(shí)還提供了預(yù)處理、模型擬合、模型評(píng)估等一些功能,功能十分強(qiáng)大。概念9.1.5
認(rèn)識(shí)機(jī)器學(xué)習(xí)庫scikit-learn常用模塊模塊名說明base包含所有估計(jì)器的基類和常用函數(shù)calibration包含一些用于預(yù)測(cè)概率校準(zhǔn)的類和函數(shù)cluster包含常用的無監(jiān)督聚類算法實(shí)現(xiàn)covariance包含用于估計(jì)給定點(diǎn)集協(xié)方差的算法實(shí)現(xiàn)cross_decomposition主要包含偏最小二乘法和經(jīng)典相關(guān)分析算法的實(shí)現(xiàn)datasets包含加載常用參考數(shù)據(jù)集和生成模擬數(shù)據(jù)的工具decomposition包含矩陣分解算法的實(shí)現(xiàn),比如主成分分析(PCA)、非負(fù)矩陣分解(NMF)、獨(dú)立成分分析(ICA)等discriminant_analysis主要包含線型判別分析(LDA)和二次判別分析(QDA)算法dummy包含使用簡(jiǎn)單規(guī)則的分類器和回歸器,可以作為比較其他真實(shí)分類器和回歸器好壞的基線,不直接用于實(shí)際問題ensemble包含用于分類、回歸和異常檢測(cè)的集成方法9.1.5
認(rèn)識(shí)機(jī)器學(xué)習(xí)庫scikit-learn常用模塊模塊名說明feature_selection包含特征選擇算法的實(shí)現(xiàn),目前有單變量過濾選擇方法和遞歸特征消除算法kernel_approximation實(shí)現(xiàn)了幾個(gè)基于傅里葉變換的近似核特征映射kernel_ridge實(shí)現(xiàn)了核嶺回歸(KRR)metrics包含評(píng)分函數(shù)、性能度量、成對(duì)度量和距離計(jì)算model_selection實(shí)現(xiàn)了多個(gè)交叉驗(yàn)證器類,以及用于學(xué)習(xí)曲線、數(shù)據(jù)集分割的函數(shù)naive_bayes實(shí)現(xiàn)了樸素貝葉斯算法neighbors
實(shí)現(xiàn)了K近鄰算法inspection包含用于模型檢測(cè)的工具svm實(shí)現(xiàn)了支持向量機(jī)算法utils包含一些常用工具,比如查找所有正數(shù)中最小值的函數(shù)、計(jì)算稀疏向量密度的函數(shù)9.1.5
認(rèn)識(shí)機(jī)器學(xué)習(xí)庫scikit-learn常用數(shù)據(jù)集數(shù)據(jù)集說明load_breast_cancer腫瘤數(shù)據(jù)集,特征為連續(xù)值變量,標(biāo)簽為0或1的二分類任務(wù)load_iris鳶尾花數(shù)據(jù)集,特征為連續(xù)值變量,標(biāo)簽為0、1、2的三分類任務(wù),且各類樣本數(shù)量均衡,均為50個(gè)load_wine紅酒數(shù)據(jù)集,與鳶尾花數(shù)據(jù)集的特點(diǎn)類似,也適用于連續(xù)特征的3分類任務(wù),不同之處在于各類樣本數(shù)量輕微不均衡load_digits小型手寫數(shù)字?jǐn)?shù)據(jù)集,特征是離散值變量,包含0~9共10種標(biāo)簽,各類樣本數(shù)量均衡load_boston波士頓房?jī)r(jià)數(shù)據(jù)集,連續(xù)特征擬合房?jī)r(jià),適用于回歸任務(wù)KNN算法9.29.2.1
KNN算法的思想掌握KNN算法的思想,能夠復(fù)述出KNN算法的實(shí)現(xiàn)思想學(xué)習(xí)目標(biāo)9.2.1
KNN算法的思想KNN(K-NearestNeighbor)算法又稱為K近鄰算法,它思想簡(jiǎn)單、應(yīng)用數(shù)學(xué)知識(shí)少,非常適合作為初學(xué)者接觸機(jī)器學(xué)習(xí)的入門算法,通常被應(yīng)用在分類或回歸的場(chǎng)景中。概念如果一個(gè)樣本在特征空間中的K個(gè)最相鄰的樣本中,大多數(shù)屬于某個(gè)類別,則該樣本屬于該類別。思想9.2.1
KNN算法的思想診斷腫瘤的場(chǎng)景假設(shè)有一個(gè)描述腫瘤類型的特征空間,該特征空間共有9個(gè)腫瘤樣本。9.2.1
KNN算法的思想診斷腫瘤的場(chǎng)景?如果此時(shí)有一個(gè)未知樣本,該如何判斷這個(gè)樣本表示的腫瘤是良性還是惡性呢?9.2.1
KNN算法的思想診斷腫瘤的場(chǎng)景先取一個(gè)K值,假設(shè)K=3,意味著要尋找距離未知樣本最近的3個(gè)樣本。9.2.1
KNN算法的思想診斷腫瘤的場(chǎng)景由于距離未知樣本最近的3個(gè)樣本都是惡性腫瘤,所以KNN算法會(huì)將未知樣本劃分為惡性腫瘤。9.2.1
KNN算法的思想診斷腫瘤的場(chǎng)景如果再次出現(xiàn)了一個(gè)未知樣本,這個(gè)樣本表示的腫瘤是良性還是惡性呢??9.2.1
KNN算法的思想診斷腫瘤的場(chǎng)景?K=3同樣使K=3,離未知樣本最近的有2個(gè)良性腫瘤和1個(gè)惡性腫瘤,KNN算法會(huì)將未知樣本劃分為良性腫瘤。9.2.2
使用sklearn實(shí)現(xiàn)KNN算法掌握KNeighborsClassifier類的功能,能夠通過KNeighborsClassifier類的功能實(shí)現(xiàn)KNN算法學(xué)習(xí)目標(biāo)9.2.2
使用sklearn實(shí)現(xiàn)KNN算法語法格式sklearn.neighbors模塊中主要提供了KNeighborsClassifier類,該類封裝了KNN算法的相關(guān)功能。__init__(self,n_neighbors=5,weights='uniform',algorithm='auto',leaf_size=30,p=2,metric='minkowski',metric_params=None,n_jobs=1,**kwargs)n_neighbors:用于指定K值,表示選擇多少個(gè)距離最小的樣本,默認(rèn)值是5。weights:表示距離權(quán)重,可能的取值有'Uniform'和'Distance','Uniform'是默認(rèn)值,表示每個(gè)領(lǐng)域內(nèi)的所有樣本點(diǎn)具有相同的權(quán)重;'Distance'使用距離的倒數(shù)作為權(quán)重,距離越小,權(quán)重越大。除此之外,weights參數(shù)的值還可以是自定義可調(diào)用對(duì)象,接收包含距離的數(shù)組,返回包含權(quán)重的同樣形狀的數(shù)組。9.2.2
使用sklearn實(shí)現(xiàn)KNN算法語法格式sklearn.neighbors模塊中主要提供了KNeighborsClassifier類,該類封裝了KNN算法的相關(guān)功能。__init__(self,n_neighbors=5,weights='uniform',algorithm='auto',leaf_size=30,p=2,metric='minkowski',metric_params=None,n_jobs=1,**kwargs)algorithm:計(jì)算最近鄰使用的算法,可能的取值有'brute'、'ball_tree'、'kd_tree'和'auto',其中'brute'表示計(jì)算未知樣本與所有樣本的距離;'ball_tree'表示通過構(gòu)建球樹加速尋找最近鄰樣本的過程;'kd_tree'表示通過構(gòu)建KD樹加速尋找最近鄰樣本的過程;'auto'表示自動(dòng)選擇最合適的算法。leaf_size:BallTree和KDTree算法中使用的葉子大小,對(duì)構(gòu)造和查詢素材以及存儲(chǔ)樹需要的內(nèi)存空間有影響。9.2.2
使用sklearn實(shí)現(xiàn)KNN算法語法格式sklearn.neighbors模塊中主要提供了KNeighborsClassifier類,該類封裝了KNN算法的相關(guān)功能。__init__(self,n_neighbors=5,weights='uniform',algorithm='auto',leaf_size=30,p=2,metric='minkowski',metric_params=None,n_jobs=1,**kwargs)metric:距離計(jì)算公式,默認(rèn)使用閔可夫斯基距離。p:對(duì)應(yīng)于閔可夫斯基距離計(jì)算公式中的p,若p=1表示曼哈頓距離,若p=2時(shí)表示歐幾里得距離。9.2.3
超參數(shù)掌握KNN算法超參數(shù)的調(diào)優(yōu)方式,能夠?qū)ふ冶容^好的超參數(shù)K、weights以及p學(xué)習(xí)目標(biāo)9.2.3
超參數(shù)大多數(shù)機(jī)器學(xué)習(xí)算法都有超參數(shù)(Hyperparameters),簡(jiǎn)單來說,超參數(shù)指的是在模型訓(xùn)練之前要設(shè)置的參數(shù),用來控制算法行為。概念在KNN算法中,常用的超參數(shù)有三個(gè),分別是K值、距離權(quán)重weights以及閔可夫斯基距離計(jì)算公式中的p,這三個(gè)參數(shù)都在KNeighborsClassifier類的構(gòu)造方法中。常用超參數(shù)9.2.3
超參數(shù)準(zhǔn)備數(shù)據(jù)集導(dǎo)入腫瘤分類數(shù)據(jù)集,并將數(shù)據(jù)集分割為訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集。fromsklearn.datasetsimportload_breast_cancerfromsklearn.model_selectionimporttrain_test_splitfromsklearn.neighborsimportKNeighborsClassifierdata=load_breast_cancer()X=data["data"]y=data["target"]X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,shuffle=False)X_train.shapeX_test.shape9.2.3
超參數(shù)超參數(shù)K先將K設(shè)置為3,看一下模型的準(zhǔn)確率。model=KNeighborsClassifier(n_neighbors=3)model.fit(X_train,y_train)model.score(X_test,y_test)9.2.3
超參數(shù)超參數(shù)K使用最簡(jiǎn)單的循環(huán)方式,計(jì)算K值為1、2、3……10時(shí)的準(zhǔn)確率,從而得到1~10范圍內(nèi)最好的K值及對(duì)應(yīng)的準(zhǔn)確率。best_score=0.0#最高準(zhǔn)確率best_k=-1#最好k值forkinrange(1,11):
knn_model=KNeighborsClassifier(n_neighbors=k)knn_model.fit(X_train,y_train)score=knn_model.score(X_test,y_test)ifscore>best_score:best_k=kbest_score=scoreprint("best_k=",best_k)print("best_score=",best_score)9.2.3
超參數(shù)超參數(shù)K當(dāng)我們搜索最佳參數(shù)時(shí),要考慮邊界值,例如上述計(jì)算K值時(shí),選擇的范圍是1~10,由于不排除K取大于10的某個(gè)值時(shí),模型準(zhǔn)確率會(huì)更高,所以在實(shí)際操作中,我們會(huì)適當(dāng)擴(kuò)展K值的范圍進(jìn)行再次搜索,比如,針對(duì)K為8~20的范圍再次搜索,看看有沒有可能得到更好的超參數(shù)K,這個(gè)過程就是調(diào)參的一個(gè)小技巧,大家了解即可。9.2.3
超參數(shù)超參數(shù)weights情況1K值為4的情況下,距離未知樣本最近的惡性腫瘤和良性腫瘤都是2。情況2在K值為3的情況下,距離未知樣本最近的惡性腫瘤是2個(gè),良性腫瘤是1個(gè),但離良性腫瘤更近。9.2.3
超參數(shù)超參數(shù)weights之所以出現(xiàn)上述問題,是因?yàn)樵诜诸悤r(shí)忽略了樣本的距離權(quán)重。為了解決這種問題,KNN算法引入了考慮距離權(quán)重的超參數(shù)weights,它有Uniform和Distance兩個(gè)選項(xiàng),其中Uniform是默認(rèn)選項(xiàng),表示所有樣本具有相同的距離權(quán)重;Distance使用距離的倒數(shù)作為權(quán)重,距離越小,權(quán)重越大。9.2.3
超參數(shù)超參數(shù)weights良性腫瘤的距離權(quán)重大于惡性腫瘤的距離權(quán)重,未知樣本劃分為良性腫瘤9.2.3
超參數(shù)超參數(shù)weights再次使用循環(huán)遍歷的方式尋找合適的超參數(shù)weights。best_score=0.0best_k=-1best_weight=""forwin["uniform","distance"]:forkinrange(1,11):
knn_model=KNeighborsClassifier(n_neighbors=k,weights=w)knn_model.fit(X_train,y_train)score=knn_model.score(X_test,y_test)ifscore>best_score:best_k=kbest_score=scorebest_weight=w9.2.3
超參數(shù)超參數(shù)p歐幾里得距離的公式曼哈頓距離的公式閔可夫斯基距離的公式超參數(shù)p可以改變我們計(jì)算距離的方式,當(dāng)p的值設(shè)置為1時(shí),表示曼哈頓距離;當(dāng)p的值設(shè)置為2時(shí),表示歐幾里得距離。9.2.3
超參數(shù)超參數(shù)pbest_score=0.0best_k=-1best_p=-1forkinrange(1,11):forpinrange(1,6):knn_model=KNeighborsClassifier(n_neighbors=k,
weights="distance",p=p)knn_model.fit(X_train,y_train)score=knn_model.score(X_test,y_test)ifscore>best_score:best_k=kbest_score=scorebest_p=p使用循環(huán)遍歷的方式繼續(xù)尋找合適的超參數(shù)p。9.2.4
網(wǎng)格搜索與交叉驗(yàn)證掌握網(wǎng)格搜索的方式,能夠通過GridSearchCV類的功能實(shí)現(xiàn)網(wǎng)格搜索學(xué)習(xí)目標(biāo)9.2.4
網(wǎng)格搜索與交叉驗(yàn)證KNN在機(jī)器學(xué)習(xí)中是相對(duì)比較簡(jiǎn)單算法,但是KNN的超參數(shù)并不少。如果我們使用循環(huán)遍歷的方式嘗試尋找所有超參數(shù)的最佳值,每多一個(gè)參數(shù),就要多一層循環(huán),越多的循環(huán)語句只會(huì)讓程序的執(zhí)行效率更慢。幸好sklearn幫我們準(zhǔn)備好了對(duì)應(yīng)的措施,也就是網(wǎng)格搜索。9.2.4
網(wǎng)格搜索與交叉驗(yàn)證網(wǎng)格搜索(GridSearch)是一種窮舉搜索方法,它通過遍歷給定的參數(shù)組合來優(yōu)化模型,其原理類似在數(shù)組里面找最大值的過程。網(wǎng)格搜索概念9.2.4
網(wǎng)格搜索與交叉驗(yàn)證網(wǎng)格搜索調(diào)參方式每一個(gè)格子就是一個(gè)網(wǎng)格,網(wǎng)格搜索就是在每個(gè)網(wǎng)格里面遍歷搜索,嘗試了所有參數(shù)組合后,返回一個(gè)合適的調(diào)參器,自動(dòng)將參數(shù)調(diào)整至最佳參數(shù)組合。9.2.4
網(wǎng)格搜索與交叉驗(yàn)證語法格式sklearn提供了一個(gè)網(wǎng)格搜索工具類GridSearchCV,它可以自動(dòng)調(diào)參,只要把所有的參數(shù)可能性輸入,就會(huì)得到一個(gè)合適的調(diào)參器以及合適參數(shù)。GridSearchCV(estimator,param_grid,*,scoring=None,n_jobs=None,refit=True,cv=None,verbose=0,pre_dispatch='2*n_jobs',error_score=nan,return_train_score=False)estimator:表示使用的分類器。param_grid:表示需要優(yōu)化的參數(shù)取值,值為字典或者列表。scoring:模型評(píng)價(jià)標(biāo)準(zhǔn),默認(rèn)是none,這時(shí)需要使用score函數(shù)。如果為none,則使用estimator的誤差估計(jì)函數(shù)。n_jobs:表示并行數(shù),默認(rèn)為1,當(dāng)n_jobs=-1時(shí),表示使用所有處理器。9.2.4
網(wǎng)格搜索與交叉驗(yàn)證語法格式sklearn提供了一個(gè)網(wǎng)格搜索工具類GridSearchCV,它可以自動(dòng)調(diào)參,只要把所有的參數(shù)可能性輸入,就會(huì)得到一個(gè)合適的調(diào)參器以及合適參數(shù)。GridSearchCV(estimator,param_grid,*,scoring=None,n_jobs=None,refit=True,cv=None,verbose=0,pre_dispatch='2*n_jobs',error_score=nan,return_train_score=False)refit:默認(rèn)為true,程序?qū)?huì)使用交叉驗(yàn)證訓(xùn)練集得到最佳參數(shù),重新對(duì)所有可能的訓(xùn)練集與測(cè)試集進(jìn)行,做完最終用于性能評(píng)估的最佳模型參數(shù),即在搜索參數(shù)結(jié)束后,用最佳參數(shù)結(jié)果再次fit一遍全部數(shù)據(jù)集。cv:表示交叉驗(yàn)證參數(shù),默認(rèn)是None,使用五折交叉驗(yàn)證。9.2.4
網(wǎng)格搜索與交叉驗(yàn)證交叉驗(yàn)證概念交叉驗(yàn)證(CrossValidation)是機(jī)器學(xué)習(xí)建立模型和驗(yàn)證模型參數(shù)常用的一種方法,常見的是K折交叉驗(yàn)證,其做法就是把樣本數(shù)據(jù)分成K份,不重復(fù)地取其中1份做測(cè)試集,用其余k-1份作為訓(xùn)練集訓(xùn)練模型,之后計(jì)算該模型在測(cè)試集的得分,將K次得分的平均分作為訓(xùn)練模型的最終得分。9.2.4
網(wǎng)格搜索與交叉驗(yàn)證K折交叉驗(yàn)證9.2.5
歸一化掌握歸一化的分類,能夠區(qū)分最值歸一化和均值方差歸一化的特點(diǎn)學(xué)習(xí)目標(biāo)9.2.5
歸一化由于樣本的不同特征具有不同的量綱和量綱單位,這樣的情況會(huì)影響最終評(píng)價(jià)結(jié)果,所以,為了消除評(píng)價(jià)指標(biāo)之間的量綱影響,需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理,以解決數(shù)據(jù)指標(biāo)之間的可比性。9.2.5
歸一化樣本腫瘤大?。ɡ迕祝┌l(fā)現(xiàn)時(shí)間(天)樣本12200樣本210100樣本31300量綱影響舉例
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2035年全球及中國親密擦拭行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及發(fā)展前景研究報(bào)告
- 涵管制作工程 現(xiàn)場(chǎng)質(zhì)量檢驗(yàn)報(bào)告單
- 2025年輕油蒸汽轉(zhuǎn)化催化劑項(xiàng)目合作計(jì)劃書
- 民族風(fēng)味小吃培訓(xùn)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 益生菌企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 加蜂王漿天然蜂蜜企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 化肥倉儲(chǔ)服務(wù)企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 冷凍青豆企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 硼礦石企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 綿羊批發(fā)企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- unctad -全球投資趨勢(shì)監(jiān)測(cè) 第 48 期 Global Investment Trends Monitor,No. 48
- 2025年福建省高職單招計(jì)算機(jī)類職業(yè)技能測(cè)試題及答案(供參考)
- 電鍍園區(qū)現(xiàn)場(chǎng)管理
- 學(xué)校在鑄牢中華民族共同體意識(shí)教育工作情況報(bào)告
- 2025年安徽淮北市建投控股集團(tuán)招聘筆試參考題庫含答案解析
- 《孤獨(dú)的小螃蟹》導(dǎo)讀課件
- 城市軌道交通行車組織 課件 項(xiàng)目3 車站行車作業(yè)組織
- 2025年聚焦全國兩會(huì)知識(shí)競(jìng)賽題庫及答案(共100題)
- 《全面績(jī)效管理》課件
- 《清華大學(xué)介紹》課件
- 2025年中國融通資產(chǎn)管理集團(tuán)限公司春季招聘(511人)高頻重點(diǎn)提升(共500題)附帶答案詳解
評(píng)論
0/150
提交評(píng)論