版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第9章機器學(xué)習(xí)入門《Python數(shù)據(jù)分析與應(yīng)用:從數(shù)據(jù)獲取到可視化(第2版)》學(xué)習(xí)目標(biāo)/Target
了解機器學(xué)習(xí),能夠說出什么是機器學(xué)習(xí)
熟悉機器學(xué)習(xí)的基本概念,能夠歸納機器學(xué)習(xí)涉及的基本概念
了解機器學(xué)習(xí)算法的分類,能夠區(qū)分監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強化學(xué)習(xí)學(xué)習(xí)目標(biāo)/Target
了解機器學(xué)習(xí)解決問題的流程,能夠說出機器學(xué)習(xí)解決問題的流程
熟悉機器學(xué)習(xí)庫scikit-learn,能夠列舉至少3個scikit-learn模塊和數(shù)據(jù)集
掌握KNN算法,能夠使用scikit-learn的API實現(xiàn)KNN算法章節(jié)概述/Summary在這個數(shù)據(jù)為王的時代,海量數(shù)據(jù)已經(jīng)遠遠超出了直接計算的可能性,我們?nèi)粝胍獜暮A康臄?shù)據(jù)中高效地提取有價值的信息,需要用到專門的學(xué)習(xí)算法,這就是機器學(xué)習(xí)的作用所在。本章為大家介紹機器學(xué)習(xí)的相關(guān)內(nèi)容,相信你們會驚嘆機器學(xué)習(xí)的神奇并為之著迷的。目錄/Contents01機器學(xué)習(xí)簡介02KNN算法03案例:預(yù)測簽到位置機器學(xué)習(xí)簡介9.19.1.1
什么是機器學(xué)習(xí)了解機器學(xué)習(xí),能夠說出什么是機器學(xué)習(xí)學(xué)習(xí)目標(biāo)9.1.1
什么是機器學(xué)習(xí)機器學(xué)習(xí)(MachineLearning,簡稱ML),從字面意思來看,就是讓機器(包括計算機、電子計算機、中子計算機、光子計算機、神經(jīng)計算機等)具備和人類一樣的學(xué)習(xí)能力,包括決策、推理、認知、識別等智能行為。概念9.1.1
什么是機器學(xué)習(xí)所謂的“學(xué)習(xí)”是什么意思呢?學(xué)習(xí)的定義9.1.1
什么是機器學(xué)習(xí)湯姆·米切爾(TomMichaelMitchell)于1997年提供了一個簡潔的定義:對于某類任務(wù)T和性能度量P,一個計算機程序被認為可以從經(jīng)驗E中學(xué)習(xí),通過經(jīng)驗E改進后,它在任務(wù)T上由性能度量衡量的性能有所提升。學(xué)習(xí)的定義9.1.1
什么是機器學(xué)習(xí)學(xué)習(xí)的3個要素湯姆·米切爾(TomMichaelMitchell)定義“學(xué)習(xí)”時,提到三個概念,分別是任務(wù)T、訓(xùn)練經(jīng)驗E和性能目標(biāo)P,這三個概念是構(gòu)建機器學(xué)習(xí)算法的核心要素。概念中國象棋程序任務(wù)T人機對弈性能目標(biāo)P比賽中擊敗對手的概率訓(xùn)練經(jīng)驗E和機器對弈9.1.2
機器學(xué)習(xí)的基本概念熟悉機器學(xué)習(xí)的基本概念,能夠歸納機器學(xué)習(xí)涉及的基本概念學(xué)習(xí)目標(biāo)9.1.2
機器學(xué)習(xí)的基本概念鳶尾花數(shù)據(jù)集在機器學(xué)習(xí)領(lǐng)域有一個著名的鳶尾花數(shù)據(jù)集,該數(shù)據(jù)集記錄了三類鳶尾花,分別是變色鳶尾花(IrisVersicolour)、山鳶尾花(IrisSetosa)和維吉尼亞鳶尾花(IrisVirginica)。9.1.2
機器學(xué)習(xí)的基本概念鳶尾花數(shù)據(jù)集在鳶尾花數(shù)據(jù)中,每一類鳶尾花收集了50條記錄,每條記錄代表的是一朵花的數(shù)據(jù),整個鳶尾花數(shù)據(jù)集共150條記錄。每一條記錄包括4個屬性,分別是萼片長度、萼片寬度、花瓣長度和花瓣寬度。萼片長度(cm)萼片寬度(cm)花瓣長度(cm)花瓣寬度(cm)種類4.931.40.206.13.24.71.415.935.11.820、1、2分別代表山鳶尾花、變色鳶尾花和維吉尼亞鳶尾花。9.1.2
機器學(xué)習(xí)的基本概念基本概念簡單來說,就是數(shù)據(jù)的集合。例如,鳶尾花數(shù)據(jù)集就是150個鳶尾花卉植物不同部分測量結(jié)果的集合。大部分機器學(xué)習(xí)算法的經(jīng)驗就是從數(shù)據(jù)集上獲取的。1.
數(shù)據(jù)集(dataset)數(shù)據(jù)集的每一行數(shù)據(jù)稱為一個樣本,數(shù)據(jù)集有多少行,就代表有多少個樣本。2.
樣本(sample)9.1.2
機器學(xué)習(xí)的基本概念基本概念
3.
特征(feature)9.1.2
機器學(xué)習(xí)的基本概念基本概念
4.
標(biāo)簽(label)9.1.2
機器學(xué)習(xí)的基本概念基本概念分別以每個特征作為一個坐標(biāo)軸,所有特征所在坐標(biāo)軸組成的一個用于描述不同樣本的空間,稱為特征空間。5.
特征空間(featurespace)9.1.2
機器學(xué)習(xí)的基本概念基本概念在特征空間中,每個樣本對應(yīng)空間中的一個點,也稱為樣本點,每個樣本點對應(yīng)特征空間的一個向量,稱為特征向量。通常情況下,特征向量是一個列向量。6.
特征向量9.1.3
機器學(xué)習(xí)算法的分類了解機器學(xué)習(xí)算法的分類,能夠區(qū)分監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強化學(xué)習(xí)學(xué)習(xí)目標(biāo)9.1.3
機器學(xué)習(xí)算法的分類3個分類根據(jù)數(shù)據(jù)集組成不同,可以把機器學(xué)習(xí)的算法主要分為監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強化學(xué)習(xí)。9.1.3
機器學(xué)習(xí)算法的分類監(jiān)督學(xué)習(xí)監(jiān)督學(xué)習(xí)指的是利用一組已知類別的樣本作為訓(xùn)練集,調(diào)整分類器的參數(shù),使其達到所要求性能的過程,也稱為監(jiān)督訓(xùn)練。9.1.3
機器學(xué)習(xí)算法的分類監(jiān)督學(xué)習(xí)在監(jiān)督學(xué)習(xí)中,每個實例都是由一個輸入對象和一個期望的輸出值組成的,它是通過分析訓(xùn)練數(shù)據(jù),從而產(chǎn)生一個推斷功能,其可以用于映射出新的實例。監(jiān)督學(xué)習(xí)根據(jù)輸出值的不同主要分為回歸和分類兩類問題,若輸出值是一個連續(xù)值,則屬于回歸問題;若輸出值是一個離散值,則屬于分類問題。9.1.3
機器學(xué)習(xí)算法的分類無監(jiān)督學(xué)習(xí)現(xiàn)實生活中常常有這樣的問題,缺乏足夠的先驗知識,難以人工標(biāo)注類別或者進行人工類別標(biāo)注的成本太高,很自然的,我們希望計算機能代我們完成這些工作,或者至少提供一些幫助。根據(jù)類別未知的訓(xùn)練樣本解決模式識別中的各類問題,稱為無監(jiān)督學(xué)習(xí)。9.1.3
機器學(xué)習(xí)算法的分類無監(jiān)督學(xué)習(xí)21聚類針對數(shù)據(jù)的相似性和差異性將一組數(shù)據(jù)分為幾個類別,屬于同一個類別的數(shù)據(jù)間的相似性很大,但不類別之間數(shù)據(jù)的相似性很小,跨類的數(shù)據(jù)關(guān)聯(lián)性很低。聚類問題關(guān)聯(lián)規(guī)則則是隱藏在數(shù)據(jù)項之間的關(guān)聯(lián)或者相互關(guān)系,我們可以通過一個數(shù)據(jù)項的出現(xiàn)推導(dǎo)出其他數(shù)據(jù)項的出現(xiàn)。關(guān)聯(lián)規(guī)則問題9.1.3
機器學(xué)習(xí)算法的分類強化學(xué)習(xí)強化學(xué)習(xí)又稱再勵學(xué)習(xí)、評價學(xué)習(xí),是一種重要的機器學(xué)習(xí)方法,它是從動物學(xué)習(xí)、參數(shù)擾動自適應(yīng)控制等理論發(fā)展而來。9.1.3
機器學(xué)習(xí)算法的分類強化學(xué)習(xí)圖中涉及五個元素,分別是Agent、環(huán)境、狀態(tài)、動作、獎賞,其中Agent選擇一個動作用于環(huán)境,環(huán)境接收該動作后狀態(tài)發(fā)生變化,同時產(chǎn)生一個強化信號反饋給Agnet,Agent根據(jù)強化信號和環(huán)境當(dāng)前的狀態(tài)再選擇下一個動作,選擇的原則是使受到獎勵的概率增大。強化學(xué)習(xí)的基本原理9.1.3
機器學(xué)習(xí)算法的分類強化學(xué)習(xí)Agent環(huán)境獎勵9.1.4
機器學(xué)習(xí)解決問題的流程了解機器學(xué)習(xí)解決問題的流程,能夠說出機器學(xué)習(xí)解決問題的流程學(xué)習(xí)目標(biāo)9.1.4
機器學(xué)習(xí)解決問題的流程隨著大數(shù)據(jù)時代的到來,機器學(xué)習(xí)成為解決問題的一種重要而且關(guān)鍵的工具。對于任何一個打算由機器學(xué)習(xí)來解決的問題,都存在一種“套路”,只要我們按照這種“套路”執(zhí)行,必然會得到一個結(jié)果。9.1.4
機器學(xué)習(xí)解決問題的流程工作流程數(shù)據(jù)搜集的數(shù)量越多,后期所做出的預(yù)測或者判斷會更精準(zhǔn)9.1.4
機器學(xué)習(xí)解決問題的流程工作流程這個過程包括特征選擇、特征構(gòu)建、特征提取和特征選擇等模塊。9.1.4
機器學(xué)習(xí)解決問題的流程工作流程“模型”可以簡單理解為函數(shù)9.1.4
機器學(xué)習(xí)解決問題的流程注意事項我們搜集的原始數(shù)據(jù)最好分為兩部分,其中80%的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),保留20%的數(shù)據(jù)作為驗證數(shù)據(jù)。9.1.4
機器學(xué)習(xí)解決問題的流程多學(xué)一招:過擬合和欠擬合當(dāng)模型設(shè)計過于復(fù)雜時,由于擬合過程中過度考慮數(shù)據(jù)中的細節(jié),甚至使用了許多噪聲,使得模型過分依賴訓(xùn)練數(shù)據(jù),導(dǎo)致模型在新數(shù)據(jù)集上的表現(xiàn)很差,這種情況稱為過擬合的現(xiàn)象。9.1.4
機器學(xué)習(xí)解決問題的流程多學(xué)一招:過擬合和欠擬合當(dāng)模型設(shè)計過于簡單時,由于沒有充分考慮數(shù)據(jù)集中的特征,使得模型的擬合能力不強,導(dǎo)致模型在訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集上表現(xiàn)都很差,這種情況稱為欠擬合的現(xiàn)象。9.1.5
認識機器學(xué)習(xí)庫scikit-learn熟悉機器學(xué)習(xí)庫scikit-learn,能夠列舉至少3個scikit-learn的模塊和數(shù)據(jù)集學(xué)習(xí)目標(biāo)9.1.5
認識機器學(xué)習(xí)庫scikit-learnscikit-learn(也稱為sklearn)是機器學(xué)習(xí)領(lǐng)域中非常熱門的基于Python語言的開源庫,它依賴于NumPy、pandas、sciPy、matplotlib等一些擴展庫,不僅涵蓋了一些有助于初學(xué)者學(xué)習(xí)機器學(xué)習(xí)的經(jīng)典樣例數(shù)據(jù)集,而且擁有很多用于回歸、分類、聚類等問題的高效算法,包括支持向量機、隨機森林、梯度提升、k均值和DBSCAN等,同時還提供了預(yù)處理、模型擬合、模型評估等一些功能,功能十分強大。概念9.1.5
認識機器學(xué)習(xí)庫scikit-learn常用模塊模塊名說明base包含所有估計器的基類和常用函數(shù)calibration包含一些用于預(yù)測概率校準(zhǔn)的類和函數(shù)cluster包含常用的無監(jiān)督聚類算法實現(xiàn)covariance包含用于估計給定點集協(xié)方差的算法實現(xiàn)cross_decomposition主要包含偏最小二乘法和經(jīng)典相關(guān)分析算法的實現(xiàn)datasets包含加載常用參考數(shù)據(jù)集和生成模擬數(shù)據(jù)的工具decomposition包含矩陣分解算法的實現(xiàn),比如主成分分析(PCA)、非負矩陣分解(NMF)、獨立成分分析(ICA)等discriminant_analysis主要包含線型判別分析(LDA)和二次判別分析(QDA)算法dummy包含使用簡單規(guī)則的分類器和回歸器,可以作為比較其他真實分類器和回歸器好壞的基線,不直接用于實際問題ensemble包含用于分類、回歸和異常檢測的集成方法9.1.5
認識機器學(xué)習(xí)庫scikit-learn常用模塊模塊名說明feature_selection包含特征選擇算法的實現(xiàn),目前有單變量過濾選擇方法和遞歸特征消除算法kernel_approximation實現(xiàn)了幾個基于傅里葉變換的近似核特征映射kernel_ridge實現(xiàn)了核嶺回歸(KRR)metrics包含評分函數(shù)、性能度量、成對度量和距離計算model_selection實現(xiàn)了多個交叉驗證器類,以及用于學(xué)習(xí)曲線、數(shù)據(jù)集分割的函數(shù)naive_bayes實現(xiàn)了樸素貝葉斯算法neighbors
實現(xiàn)了K近鄰算法inspection包含用于模型檢測的工具svm實現(xiàn)了支持向量機算法utils包含一些常用工具,比如查找所有正數(shù)中最小值的函數(shù)、計算稀疏向量密度的函數(shù)9.1.5
認識機器學(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個load_wine紅酒數(shù)據(jù)集,與鳶尾花數(shù)據(jù)集的特點類似,也適用于連續(xù)特征的3分類任務(wù),不同之處在于各類樣本數(shù)量輕微不均衡load_digits小型手寫數(shù)字數(shù)據(jù)集,特征是離散值變量,包含0~9共10種標(biāo)簽,各類樣本數(shù)量均衡load_boston波士頓房價數(shù)據(jù)集,連續(xù)特征擬合房價,適用于回歸任務(wù)KNN算法9.29.2.1
KNN算法的思想掌握KNN算法的思想,能夠復(fù)述出KNN算法的實現(xiàn)思想學(xué)習(xí)目標(biāo)9.2.1
KNN算法的思想KNN(K-NearestNeighbor)算法又稱為K近鄰算法,它思想簡單、應(yīng)用數(shù)學(xué)知識少,非常適合作為初學(xué)者接觸機器學(xué)習(xí)的入門算法,通常被應(yīng)用在分類或回歸的場景中。概念如果一個樣本在特征空間中的K個最相鄰的樣本中,大多數(shù)屬于某個類別,則該樣本屬于該類別。思想9.2.1
KNN算法的思想診斷腫瘤的場景假設(shè)有一個描述腫瘤類型的特征空間,該特征空間共有9個腫瘤樣本。9.2.1
KNN算法的思想診斷腫瘤的場景?如果此時有一個未知樣本,該如何判斷這個樣本表示的腫瘤是良性還是惡性呢?9.2.1
KNN算法的思想診斷腫瘤的場景先取一個K值,假設(shè)K=3,意味著要尋找距離未知樣本最近的3個樣本。9.2.1
KNN算法的思想診斷腫瘤的場景由于距離未知樣本最近的3個樣本都是惡性腫瘤,所以KNN算法會將未知樣本劃分為惡性腫瘤。9.2.1
KNN算法的思想診斷腫瘤的場景如果再次出現(xiàn)了一個未知樣本,這個樣本表示的腫瘤是良性還是惡性呢??9.2.1
KNN算法的思想診斷腫瘤的場景?K=3同樣使K=3,離未知樣本最近的有2個良性腫瘤和1個惡性腫瘤,KNN算法會將未知樣本劃分為良性腫瘤。9.2.2
使用sklearn實現(xiàn)KNN算法掌握KNeighborsClassifier類的功能,能夠通過KNeighborsClassifier類的功能實現(xiàn)KNN算法學(xué)習(xí)目標(biāo)9.2.2
使用sklearn實現(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值,表示選擇多少個距離最小的樣本,默認值是5。weights:表示距離權(quán)重,可能的取值有'Uniform'和'Distance','Uniform'是默認值,表示每個領(lǐng)域內(nèi)的所有樣本點具有相同的權(quán)重;'Distance'使用距離的倒數(shù)作為權(quán)重,距離越小,權(quán)重越大。除此之外,weights參數(shù)的值還可以是自定義可調(diào)用對象,接收包含距離的數(shù)組,返回包含權(quán)重的同樣形狀的數(shù)組。9.2.2
使用sklearn實現(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:計算最近鄰使用的算法,可能的取值有'brute'、'ball_tree'、'kd_tree'和'auto',其中'brute'表示計算未知樣本與所有樣本的距離;'ball_tree'表示通過構(gòu)建球樹加速尋找最近鄰樣本的過程;'kd_tree'表示通過構(gòu)建KD樹加速尋找最近鄰樣本的過程;'auto'表示自動選擇最合適的算法。leaf_size:BallTree和KDTree算法中使用的葉子大小,對構(gòu)造和查詢素材以及存儲樹需要的內(nèi)存空間有影響。9.2.2
使用sklearn實現(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:距離計算公式,默認使用閔可夫斯基距離。p:對應(yīng)于閔可夫斯基距離計算公式中的p,若p=1表示曼哈頓距離,若p=2時表示歐幾里得距離。9.2.3
超參數(shù)掌握KNN算法超參數(shù)的調(diào)優(yōu)方式,能夠?qū)ふ冶容^好的超參數(shù)K、weights以及p學(xué)習(xí)目標(biāo)9.2.3
超參數(shù)大多數(shù)機器學(xué)習(xí)算法都有超參數(shù)(Hyperparameters),簡單來說,超參數(shù)指的是在模型訓(xùn)練之前要設(shè)置的參數(shù),用來控制算法行為。概念在KNN算法中,常用的超參數(shù)有三個,分別是K值、距離權(quán)重weights以及閔可夫斯基距離計算公式中的p,這三個參數(shù)都在KNeighborsClassifier類的構(gòu)造方法中。常用超參數(shù)9.2.3
超參數(shù)準(zhǔn)備數(shù)據(jù)集導(dǎo)入腫瘤分類數(shù)據(jù)集,并將數(shù)據(jù)集分割為訓(xùn)練數(shù)據(jù)集和測試數(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使用最簡單的循環(huán)方式,計算K值為1、2、3……10時的準(zhǔn)確率,從而得到1~10范圍內(nèi)最好的K值及對應(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ù)時,要考慮邊界值,例如上述計算K值時,選擇的范圍是1~10,由于不排除K取大于10的某個值時,模型準(zhǔn)確率會更高,所以在實際操作中,我們會適當(dāng)擴展K值的范圍進行再次搜索,比如,針對K為8~20的范圍再次搜索,看看有沒有可能得到更好的超參數(shù)K,這個過程就是調(diào)參的一個小技巧,大家了解即可。9.2.3
超參數(shù)超參數(shù)weights情況1K值為4的情況下,距離未知樣本最近的惡性腫瘤和良性腫瘤都是2。情況2在K值為3的情況下,距離未知樣本最近的惡性腫瘤是2個,良性腫瘤是1個,但離良性腫瘤更近。9.2.3
超參數(shù)超參數(shù)weights之所以出現(xiàn)上述問題,是因為在分類時忽略了樣本的距離權(quán)重。為了解決這種問題,KNN算法引入了考慮距離權(quán)重的超參數(shù)weights,它有Uniform和Distance兩個選項,其中Uniform是默認選項,表示所有樣本具有相同的距離權(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可以改變我們計算距離的方式,當(dāng)p的值設(shè)置為1時,表示曼哈頓距離;當(dāng)p的值設(shè)置為2時,表示歐幾里得距離。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)格搜索與交叉驗證掌握網(wǎng)格搜索的方式,能夠通過GridSearchCV類的功能實現(xiàn)網(wǎng)格搜索學(xué)習(xí)目標(biāo)9.2.4
網(wǎng)格搜索與交叉驗證KNN在機器學(xué)習(xí)中是相對比較簡單算法,但是KNN的超參數(shù)并不少。如果我們使用循環(huán)遍歷的方式嘗試尋找所有超參數(shù)的最佳值,每多一個參數(shù),就要多一層循環(huán),越多的循環(huán)語句只會讓程序的執(zhí)行效率更慢。幸好sklearn幫我們準(zhǔn)備好了對應(yīng)的措施,也就是網(wǎng)格搜索。9.2.4
網(wǎng)格搜索與交叉驗證網(wǎng)格搜索(GridSearch)是一種窮舉搜索方法,它通過遍歷給定的參數(shù)組合來優(yōu)化模型,其原理類似在數(shù)組里面找最大值的過程。網(wǎng)格搜索概念9.2.4
網(wǎng)格搜索與交叉驗證網(wǎng)格搜索調(diào)參方式每一個格子就是一個網(wǎng)格,網(wǎng)格搜索就是在每個網(wǎng)格里面遍歷搜索,嘗試了所有參數(shù)組合后,返回一個合適的調(diào)參器,自動將參數(shù)調(diào)整至最佳參數(shù)組合。9.2.4
網(wǎng)格搜索與交叉驗證語法格式sklearn提供了一個網(wǎng)格搜索工具類GridSearchCV,它可以自動調(diào)參,只要把所有的參數(shù)可能性輸入,就會得到一個合適的調(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:模型評價標(biāo)準(zhǔn),默認是none,這時需要使用score函數(shù)。如果為none,則使用estimator的誤差估計函數(shù)。n_jobs:表示并行數(shù),默認為1,當(dāng)n_jobs=-1時,表示使用所有處理器。9.2.4
網(wǎng)格搜索與交叉驗證語法格式sklearn提供了一個網(wǎng)格搜索工具類GridSearchCV,它可以自動調(diào)參,只要把所有的參數(shù)可能性輸入,就會得到一個合適的調(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:默認為true,程序?qū)褂媒徊骝炞C訓(xùn)練集得到最佳參數(shù),重新對所有可能的訓(xùn)練集與測試集進行,做完最終用于性能評估的最佳模型參數(shù),即在搜索參數(shù)結(jié)束后,用最佳參數(shù)結(jié)果再次fit一遍全部數(shù)據(jù)集。cv:表示交叉驗證參數(shù),默認是None,使用五折交叉驗證。9.2.4
網(wǎng)格搜索與交叉驗證交叉驗證概念交叉驗證(CrossValidation)是機器學(xué)習(xí)建立模型和驗證模型參數(shù)常用的一種方法,常見的是K折交叉驗證,其做法就是把樣本數(shù)據(jù)分成K份,不重復(fù)地取其中1份做測試集,用其余k-1份作為訓(xùn)練集訓(xùn)練模型,之后計算該模型在測試集的得分,將K次得分的平均分作為訓(xùn)練模型的最終得分。9.2.4
網(wǎng)格搜索與交叉驗證K折交叉驗證9.2.5
歸一化掌握歸一化的分類,能夠區(qū)分最值歸一化和均值方差歸一化的特點學(xué)習(xí)目標(biāo)9.2.5
歸一化由于樣本的不同特征具有不同的量綱和量綱單位,這樣的情況會影響最終評價結(jié)果,所以,為了消除評價指標(biāo)之間的量綱影響,需要對數(shù)據(jù)進行歸一化處理,以解決數(shù)據(jù)指標(biāo)之間的可比性。9.2.5
歸一化樣本腫瘤大?。ɡ迕祝┌l(fā)現(xiàn)時間(天)樣本12200樣本210100樣本31300量綱影響舉例
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 磁生電課件教學(xué)課件
- 廣告設(shè)計課件教學(xué)課件
- 2024年廣元客運從業(yè)資格證報名考試題目
- 2024年福建客運從業(yè)資格證考試網(wǎng)
- 2024年百色道路客運從業(yè)資格證模擬考試
- 2025屆河南省鄭州市106中學(xué)生物高三上期末綜合測試模擬試題含解析
- 吉林省梅河口市五中2025屆生物高三上期末綜合測試試題含解析
- 山東省棗莊市十六中2025屆高三數(shù)學(xué)第一學(xué)期期末達標(biāo)測試試題含解析
- 吉林省梅河口市五中2025屆高三生物第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 河南省滎陽高中2025屆生物高二上期末經(jīng)典模擬試題含解析
- 管道保溫及面積計算公式
- 艙單報文(IFCSUM)平臺文件
- 3空間觀念-王彥偉、吳正憲(Ⅱ)——小學(xué)數(shù)學(xué)學(xué)科核心素養(yǎng)
- pcba成本分析
- 施工監(jiān)測報告(共2頁)
- QHNJM07-2020低平板半掛車使用說明書
- 人員素質(zhì)辭典(通用類)
- 無刷直流電機繞組(共30頁)
- 碘過敏不良反應(yīng)應(yīng)急預(yù)案及操作流程
- 貝多芬《鋼琴三重奏》演奏探究
- 發(fā)電廠電氣部分煤矸石電廠廠用電課程設(shè)計
評論
0/150
提交評論