




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、機器學(xué)習(xí)與應(yīng)用-第二天第一天知識回顧課程第二天1、sklearn數(shù)據(jù)集與估計器2、分類算法-k近鄰算法3、k-近鄰算法實例4、分類模型的評估5、分類算法-樸素貝葉斯算法6、樸素貝葉斯算法實例7、模型的選擇與調(diào)優(yōu)8、決策樹與隨機森林sklearn數(shù)據(jù)集1、數(shù)據(jù)集劃分2、sklearn數(shù)據(jù)集接口介紹3、 sklearn分類數(shù)據(jù)集4、 sklearn回歸數(shù)據(jù)集如果拿到的數(shù)據(jù)全部都用來訓(xùn)練一個模型?數(shù)據(jù)集劃分機器學(xué)習(xí)一般的數(shù)據(jù)集會劃分為兩個部分:訓(xùn)練數(shù)據(jù):用于訓(xùn)練,構(gòu)建模型測試數(shù)據(jù):在模型檢驗時使用,用于評估模型是否有效sklearn數(shù)據(jù)集劃分APIsklearn.model_selection.tr
2、ain_test_split結(jié)合后面的數(shù)據(jù)集再做演示問題:自己準備數(shù)據(jù)集,耗時耗力,不一定真實scikit-learn數(shù)據(jù)集API介紹 sklearn.datasets 加載獲取流行數(shù)據(jù)集 datasets.load_*() 獲取小規(guī)模數(shù)據(jù)集,數(shù)據(jù)包含在datasets里 datasets.fetch_*(data_home=None) 獲取大規(guī)模數(shù)據(jù)集,需要從網(wǎng)絡(luò)上下載,函數(shù)的第一個參數(shù)是data_home,表示數(shù)據(jù)集下載的目錄,默認是 /scikit_learn_data/獲取數(shù)據(jù)集返回的類型 load*和fetch*返回的數(shù)據(jù)類型datasets.base.Bunch(字典格式) dat
3、a:特征數(shù)據(jù)數(shù)組,是 n_samples * n_features 的二維 numpy.ndarray 數(shù)組 target:標簽數(shù)組,是 n_samples 的一維 numpy.ndarray 數(shù)組 DESCR:數(shù)據(jù)描述 feature_names:特征名,新聞數(shù)據(jù),手寫數(shù)字、回歸數(shù)據(jù)集沒有 target_names:標簽名,回歸數(shù)據(jù)集沒有sklearn分類數(shù)據(jù)集sklearn.datasets.load_iris() 加載并返回鳶尾花數(shù)據(jù)集sklearn.datasets.load_digits() 加載并返回數(shù)字數(shù)據(jù)集數(shù)據(jù)集進行分割 sklearn.model_selection.trai
4、n_test_split(*arrays, *options) x 數(shù)據(jù)集的特征值 y 數(shù)據(jù)集的標簽值 test_size 測試集的大小,一般為float random_state 隨機數(shù)種子,不同的種子會造成不同的隨機采樣結(jié)果。相同的種子采樣結(jié)果相同。 return 訓(xùn)練集特征值,測試集特征值,訓(xùn)練標簽,測試標簽(默認隨機取) sklearn.datasets.fetch_20newsgroups(data_home=None,subset=train) subset: train或者test,all,可選,選擇要加載的數(shù)據(jù)集.訓(xùn)練集的“訓(xùn)練”,測試集的“測試”,兩者的“全部”用于分類的大數(shù)
5、據(jù)集datasets.clear_data_home(data_home=None)清除目錄下的數(shù)據(jù)sklearn.datasets.load_boston() 加載并返回波士頓房價數(shù)據(jù)集sklearn.datasets.load_diabetes() 加載和返回糖尿病數(shù)據(jù)集sklearn回歸數(shù)據(jù)集想一下之前做的特征工程的步驟?1、實例化 (實例化的是一個轉(zhuǎn)換器類(Transformer) 2、調(diào)用fit_transform(對于文檔建立分類詞頻矩陣,不能同時調(diào)用)sklearn機器學(xué)習(xí)算法的實現(xiàn)-估計器在sklearn中,估計器(estimator)是一個重要的角色,分類器和回歸器都屬于es
6、timator,是一類實現(xiàn)了算法的API1、用于分類的估計器:sklearn.neighborsk-近鄰算法sklearn.naive_bayes 貝葉斯sklearn.linear_model.LogisticRegression 邏輯回歸2、用于回歸的估計器:sklearn.linear_model.LinearRegression 線性回歸sklearn.linear_model.Ridge 嶺回歸 估計器的工作流程分類算法-k近鄰算法你的“鄰居”來推斷出你的類別分類算法-k近鄰算法(KNN)定義:如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數(shù)屬于某一個類別,
7、則該樣本也屬于這個類別。來源:KNN算法最早是由Cover和Hart提出的一種分類算法計算距離公式兩個樣本的距離可以通過如下公式計算,又叫歐式距離比如說,a(a1,a2,a3),b(b1,b2,b3)結(jié)合我們之前講的約會數(shù)據(jù)例子,在計算兩個樣本數(shù)據(jù)的距離時特征有什么影響?需要對數(shù)據(jù)做些什么?sklearn k-近鄰算法API n_neighbors:int,可選(默認= 5),k_neighbors查詢默認使用的鄰居數(shù) algorithm:auto,ball_tree,kd_tree,brute,可選用于計算最近鄰居的算法:ball_tree將會使用 BallTree,kd_tree將使用 K
8、DTree。auto將嘗試根據(jù)傳遞給fit方法的值來決定最合適的算法。 (不同實現(xiàn)方式影響效率)sklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm=auto)k近鄰算法實例-預(yù)測入住位置數(shù)據(jù)的處理1、縮小數(shù)據(jù)集范圍DataFrame.query()2、處理日期數(shù)據(jù)pd.to_datetimepd.DatetimeIndex3、增加分割的日期數(shù)據(jù)4、刪除沒用的日期數(shù)據(jù)pd.drop5、將簽到位置少于n個用戶的刪除place_count =data.groupby(place_id).aggregate(np.count_n
9、onzero)tf = place_countplace_count.row_id 3.reset_index()data = datadataplace_id.isin(tf.place_id)實例流程1、數(shù)據(jù)集的處理2、分割數(shù)據(jù)集3、對數(shù)據(jù)集進行標準化4、estimator流程進行分類預(yù)測問題1、k值取多大?有什么影響?k值取很?。喝菀资墚惓|c影響k值取很大:容易受最近數(shù)據(jù)太多導(dǎo)致比例變化2、性能問題?k-近鄰算法優(yōu)缺點優(yōu)點:簡單,易于理解,易于實現(xiàn),無需估計參數(shù),無需訓(xùn)練缺點:懶惰算法,對測試樣本分類時的計算量大,內(nèi)存開銷大必須指定K值,K值選擇不當則分類精度不能保證使用場景:小數(shù)據(jù)場景
10、,幾千幾萬樣本,具體場景具體業(yè)務(wù)去測試 k-近鄰算法實現(xiàn)加快搜索速度基于算法的改進KDTree,API接口里面有實現(xiàn)k近鄰算法作業(yè) 通過k-近鄰算法對生物物種進行分類鳶尾花(load_iris)判定手機的好用與否分類模型的評估estimator.score()一般最常見使用的是準確率,即預(yù)測結(jié)果正確的百分比混淆矩陣在分類任務(wù)下,預(yù)測結(jié)果(Predicted Condition)與正確標記(True Condition)之間存在四種不同的組合,構(gòu)成混淆矩陣(適用于多分類) 為什么需要這些指標?精確率(Precision)與召回率(Recall)精確率:預(yù)測結(jié)果為正例樣本中真實為正例的比例(查得準
11、)召回率:真實為正例的樣本中預(yù)測結(jié)果為正例的比例(查的全,對正樣本的區(qū)分能力)其他分類標準,F(xiàn)1-score,反映了模型的穩(wěn)健型分類模型評估API sklearn.metrics.classification_report sklearn.metrics.classification_report(y_true, y_pred, target_names=None) y_true:真實目標值 y_pred:估計器預(yù)測目標值 target_names:目標類別名稱 return:每個類別精確率與召回率classification_report分類算法-樸素貝葉斯算法1、概率基礎(chǔ)2、樸素貝葉斯介紹
12、16%8%11%38%20%7%垃圾郵件分類垃圾郵件分類金融成人欺詐產(chǎn)品互聯(lián)網(wǎng)休閑0%10%20%30%40%50%60%70%80%90%100%文章1文章2文章3文章4文章類別概率科技金融娛樂概率基礎(chǔ)概率定義為一件事情發(fā)生的可能性扔出一個硬幣,結(jié)果頭像朝上某天是晴天問題1、女神喜歡的概率?2、職業(yè)是程序員并且體型勻稱的概率?3、在女神喜歡的條件下,職業(yè)是程序員的概率?4、在女神喜歡的條件下,職業(yè)是產(chǎn)品,體重是超重的概率?聯(lián)合概率和條件概率P(文檔類別1|文檔特征值)P(文檔類別2|文檔特征值)樸素貝葉斯-貝葉斯公式公式分為三個部分:特征統(tǒng)計科技娛樂匯總(求和)“商場”95160“影院”85
13、664“支付寶”201535“云計算”63063匯總(求和)100121221訓(xùn)練集統(tǒng)計結(jié)果(指定統(tǒng)計詞頻):現(xiàn)有一篇被預(yù)測文檔:出現(xiàn)了影院,支付寶,云計算,計算屬于科技、娛樂的類別概率?思考:屬于某個類別為0,合適嗎?拉普拉斯平滑sklearn樸素貝葉斯實現(xiàn)API sklearn.naive_bayes.MultinomialNB sklearn.naive_bayes.MultinomialNB(alpha = 1.0) 樸素貝葉斯分類 alpha:拉普拉斯平滑系數(shù)MultinomialNB樸素貝葉斯算法案例sklearn20類新聞分類20個新聞組數(shù)據(jù)集包含20個主題的18000個新聞組帖
14、子樸素貝葉斯案例流程1、加載20類新聞數(shù)據(jù),并進行分割2、生成文章特征詞3、樸素貝葉斯estimator流程進行預(yù)估樸素貝葉斯分類優(yōu)缺點優(yōu)點:樸素貝葉斯模型發(fā)源于古典數(shù)學(xué)理論,有穩(wěn)定的分類效率。對缺失數(shù)據(jù)不太敏感,算法也比較簡單,常用于文本分類。分類準確度高,速度快缺點:需要知道先驗概率P(F1,F2,|C),因此在某些時候會由于假設(shè)的先驗?zāi)P偷脑驅(qū)е骂A(yù)測效果不佳。模型的選擇與調(diào)優(yōu)1、交叉驗證2、網(wǎng)格搜索交叉驗證:為了讓被評估的模型更加準確可信交叉驗證過程交叉驗證:將拿到的數(shù)據(jù),分為訓(xùn)練和驗證集。以下圖為例:將數(shù)據(jù)分成5份,其中一份作為驗證集。然后經(jīng)過5次(組)的測試,每次都更換不同的驗證集
15、。即得到5組模型的結(jié)果,取平均值作為最終結(jié)果。又稱5折交叉驗證。超參數(shù)搜索-網(wǎng)格搜索通常情況下,有很多參數(shù)是需要手動指定的(如k-近鄰算法中的K值),這種叫超參數(shù)。但是手動過程繁雜,所以需要對模型預(yù)設(shè)幾種超參數(shù)組合。每組超參數(shù)都采用交叉驗證來進行評估。最后選出最優(yōu)參數(shù)組合建立模型。K值值K=3K=5K=7模型模型1模型2模型3超參數(shù)搜索-網(wǎng)格搜索API sklearn.model_selection.GridSearchCVGridSearchCVsklearn.model_selection.GridSearchCV(estimator, param_grid=None,cv=None)對估
16、計器的指定參數(shù)值進行詳盡搜索estimator:估計器對象param_grid:估計器參數(shù)(dict)“n_neighbors”:1,3,5cv:指定幾折交叉驗證fit:輸入訓(xùn)練數(shù)據(jù)score:準確率結(jié)果分析:best_score_:在交叉驗證中測試的最好結(jié)果best_estimator_:最好的參數(shù)模型cv_results_:每次交叉驗證后的測試集準確率結(jié)果和訓(xùn)練集準確率結(jié)果K-近鄰網(wǎng)格搜索案例 將前面的k-近鄰算法案例改成網(wǎng)格搜索分類算法-決策樹、隨機森林決策樹1、認識決策樹2、信息論基礎(chǔ)-銀行貸款分析3、決策樹的生成4、泰坦尼克號乘客生存分類認識決策樹決策樹思想的來源非常樸素,程序設(shè)計中
17、的條件分支結(jié)構(gòu)就是if-then結(jié)構(gòu),最早的決策樹就是利用這類結(jié)構(gòu)分割數(shù)據(jù)的一種分類學(xué)習(xí)方法 比如:你母親要給你介紹男朋友,是這么來對話的:女兒:多大年紀了?母親:26。女兒:長的帥不帥?母親:挺帥的。女兒:收入高不?母親:不算很高,中等情況。女兒:是公務(wù)員不?母親:是,在稅務(wù)局上班呢。女兒:那好,我去見見。銀行貸款數(shù)據(jù)你如何去劃分是否能得到貸款?決策樹的實際劃分信息的度量和作用猜誰是冠軍?假設(shè)有32支球隊每猜一次給一塊錢,告訴我是否猜對了,那么我需要掏多少錢才能知道誰是冠軍?我可以把球編上號,從1到32,然后提問:冠 軍在1-16號嗎?依次詢問,只需要五次,就可以知道結(jié)果。信息的單位:比特信
18、息論的創(chuàng)始人,香農(nóng)是密歇根大學(xué)學(xué)士,麻省理工學(xué)院博士。1948年,香農(nóng)發(fā)表了劃時代的論文通信的數(shù)學(xué)原理,奠定了現(xiàn)代信息論的基礎(chǔ)32支球隊,log32=5比特64支球隊,log64=6比特“誰是世界杯冠軍”的信息量應(yīng)該比5比特少。香農(nóng)指出,它的準確信息量應(yīng)該是:H = -(p1logp1 + p2logp2 + . + p32log32)H的專業(yè)術(shù)語稱之為信息熵,單位為比特。的專業(yè)術(shù)語稱之為信息熵,單位為比特。公式:公式:當這32支球隊奪冠的幾率相同時,對應(yīng)的信息熵等于5比特信息熵信息和消除不確定性是相聯(lián)系的決策樹的劃分依據(jù)之一-信息增益特征A對訓(xùn)練數(shù)據(jù)集D的信息增益g(D,A),定義為集合D的
19、信息熵H(D)與特征A給定條件下D的信息條件熵H(D|A)之差,即公式為:注:信息增益表示得知特征注:信息增益表示得知特征X X的信息而使得類的信息而使得類Y Y的信息的不確定的信息的不確定性減少的程度性減少的程度信息增益的計算結(jié)合前面的貸款數(shù)據(jù)來看我們的公式:信息熵的計算:條件熵的計算:常見決策樹使用的算法ID3信息增益 最大的準則C4.5信息增益比 最大的準則CART 回歸樹: 平方誤差 最小 分類樹: 基尼系數(shù) 最小的準則 在sklearn中可以選擇劃分的原則sklearn決策樹API classsklearn.tree.DecisionTreeClassifier(criterion=
20、gini,max_depth=None,random_state=None) 決策樹分類器 criterion:默認是gini系數(shù),也可以選擇信息增益的熵entropy max_depth:樹的深度大小 random_state:隨機數(shù)種子 method: decision_path:返回決策樹的路徑泰坦尼克號數(shù)據(jù)泰坦尼克號數(shù)據(jù)在泰坦尼克號和titanic2數(shù)據(jù)幀描述泰坦尼克號上的個別乘客的生存狀態(tài)。在泰坦尼克號的數(shù)據(jù)幀不包含從劇組信息,但它確實包含了乘客的一半的實際年齡。關(guān)于泰坦尼克號旅客的數(shù)據(jù)的主要來源是百科全書Titanica。這里使用的數(shù)據(jù)集是由各種研究人員開始的。其中包括許多研究人員
21、創(chuàng)建的旅客名單,由Michael A. Findlay編輯。我們提取的數(shù)據(jù)集中的特征是票的類別,存活,乘坐班,年齡,登陸,home.dest,房間,票,船和性別。乘坐班是指乘客班(1,2,3),是社會經(jīng)濟階層的代表。其中age數(shù)據(jù)存在缺失。泰坦尼克號乘客生存分類模型1、pd讀取數(shù)據(jù)2、選擇有影響的特征,處理缺失值3、進行特征工程,pd轉(zhuǎn)換字典,特征抽取x_train.to_dict(orient=records)4、決策樹估計器流程決策樹的結(jié)構(gòu)、本地保存1、sklearn.tree.export_graphviz() 該函數(shù)能夠?qū)С鯠OT格式tree.export_graphviz(estim
22、ator,out_file=tree.dot,feature_names=,)2、工具:(能夠?qū)ot文件轉(zhuǎn)換為pdf、png)安裝graphvizubuntu:sudo apt-get install graphviz Mac:brew install graphviz3、運行命令然后我們運行這個命令$ dot -Tpng tree.dot -o tree.png決策樹的優(yōu)缺點以及改進優(yōu)點:簡單的理解和解釋,樹木可視化。需要很少的數(shù)據(jù)準備,其他技術(shù)通常需要數(shù)據(jù)歸一化,缺點:決策樹學(xué)習(xí)者可以創(chuàng)建不能很好地推廣數(shù)據(jù)的過于復(fù)雜的樹, 這被稱為過擬合。決策樹可能不穩(wěn)定,因為數(shù)據(jù)的小變化可能會導(dǎo)致完全
23、不同的樹被生成改進:減枝cart算法隨機森林集成學(xué)習(xí)方法-隨機森林1、什么是隨機森林2、隨機森林的過程、優(yōu)勢4、泰坦尼克號乘客生存分類分析集成學(xué)習(xí)通過建立幾個模型組合的來解決單一預(yù)測問題。它的工作原理是生成多個分類器/模型,各自獨立地學(xué)習(xí)和作出預(yù)測。這些預(yù)測最后結(jié)合成單預(yù)測,因此優(yōu)于任何一個單分類的做出預(yù)測。集成學(xué)習(xí)方法什么是隨機森林定義:在機器學(xué)習(xí)中,隨機森林隨機森林是一個包含多個決策樹的分類器,并且其輸出的類別是由個別樹輸出的類別的眾數(shù)而定。例如, 如果你訓(xùn)練了5個樹, 其中有4個樹的結(jié)果是True, 1個數(shù)的結(jié)果是False, 那么最終結(jié)果會是True.學(xué)習(xí)算法學(xué)習(xí)算法根據(jù)下列算法而建造每棵樹
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025裝配式建筑預(yù)制混凝土構(gòu)件合同
- 環(huán)境監(jiān)測練習(xí)題+參考答案
- 農(nóng)業(yè)種植試驗與推廣合作協(xié)議
- 農(nóng)業(yè)生產(chǎn)性服務(wù)業(yè)合作協(xié)議文本
- 2025黑龍江省旅游投資集團面向社會招聘15人筆試參考題庫附帶答案詳解
- 2025年度河南西溝電力有限責(zé)任公司招聘工作人員2名筆試參考題庫附帶答案詳解
- 2025山東省財金投資集團有限公司招聘19人筆試參考題庫附帶答案詳解
- 2025四川南充臨江東方發(fā)展實業(yè)集團有限公司招聘15人筆試參考題庫附帶答案詳解
- 工業(yè)污水處理廠項目可行性分析與評估
- 低空經(jīng)濟關(guān)鍵技術(shù)創(chuàng)新與未來應(yīng)用展望
- 2024-2030年中國病號服行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 洗煤廠安全應(yīng)急預(yù)案
- 2024年天津市武清區(qū)國資產(chǎn)經(jīng)營投資限公司面向社會公開選聘工作人員易考易錯模擬試題(共500題)試卷后附參考答案
- 抖音火花合同模板
- 掬水月在手-古典詩詞與現(xiàn)代人生智慧樹知到期末考試答案章節(jié)答案2024年南開大學(xué)
- 北京市通州區(qū)社區(qū)工作者考試題庫及參考答案一套
- 基于STM32F103C8T6單片機的電動車智能充電樁計費系統(tǒng)設(shè)計
- 人工智能原理與技術(shù)智慧樹知到期末考試答案章節(jié)答案2024年同濟大學(xué)
- 在線網(wǎng)課知慧《數(shù)智時代的商業(yè)變革(山大(威海))》單元測試考核答案
- 中外比較文學(xué)研究專題智慧樹知到期末考試答案2024年
- 心臟康復(fù)護理專家共識
評論
0/150
提交評論