




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
實訓(xùn)9健康數(shù)據(jù)挖掘項目背景實訓(xùn)目標實訓(xùn)任務(wù)技術(shù)準備實訓(xùn)步驟目錄項目背景隨著生活質(zhì)量的提高,人們越來越關(guān)注自身的健康問題,健康數(shù)據(jù)是隨著近幾年數(shù)字浪潮和信息現(xiàn)代化而出現(xiàn)的新名詞,是指無法在可承受的時間范圍內(nèi)用常規(guī)軟件工具進行捕捉、管理和處理的健康數(shù)據(jù)的集合,是需要新處理模式才能具有更強的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力的海量、高增長率和多樣化的信息資產(chǎn)。健康大數(shù)據(jù)的整合再利用對于身體狀況監(jiān)測,疾病預(yù)防和健康趨勢分析都具有積極的意義。實訓(xùn)目標理解健康數(shù)據(jù)分析的意義;掌握項目流程;掌握數(shù)據(jù)挖掘的基本方法;掌握不同方法的具體使用;掌握實驗結(jié)果對比分析;掌握算法之間的優(yōu)劣。實訓(xùn)任務(wù)(1)進一步掌握項目流程(Crisp-DM框架)并應(yīng)用到健康數(shù)據(jù)挖掘中;(2)對K近鄰、邏輯回歸、支持向量機、神經(jīng)網(wǎng)絡(luò)、決策樹、隨機森林、Adaboost、樸素貝葉斯種算法應(yīng)用到健康數(shù)據(jù)中實踐;(3)對多種算法的實驗結(jié)果進行對比和分析。技術(shù)準備監(jiān)督學(xué)習(xí)半監(jiān)督學(xué)習(xí)無監(jiān)督學(xué)習(xí)有特征
有標簽即有標準答案有特征
部分標簽訓(xùn)練部分有標準答案有特征,無標簽即無標準答案分類回歸分類回歸聚類聚類技術(shù)準備由于數(shù)據(jù)挖掘的應(yīng)用領(lǐng)域十分廣泛,因此產(chǎn)生了多種數(shù)據(jù)挖掘的算法和方法。對于某一數(shù)據(jù)集很有效的算法,對另一數(shù)據(jù)集卻有可能完全無效。因此,要針對具體的挖掘目標和應(yīng)用對象設(shè)計不同的算法。技術(shù)準備本章節(jié)主要采用的是分類。使用以下八種算法進行實驗:K近鄰、邏輯回歸、支持向量機、神經(jīng)網(wǎng)絡(luò)、決策樹、隨機森林、Adaboost、樸素貝葉斯算法K近鄰算法K-近鄰(k-NearestNeighbor,KNN)算法是一種基本分類方法。最簡單最初級的分類器是將全部的訓(xùn)練數(shù)據(jù)所對應(yīng)的類別都記錄下來,當測試對象的屬性和某個訓(xùn)練對象的屬性完全匹配時,便可以對其進行分類。但測試對象與訓(xùn)練對象的完全匹配是不現(xiàn)實的,一個訓(xùn)練對象可能被分到多個類中,由此誕生了K-近鄰算法。它是通過測量不同特征值之間的距離進行分類,如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數(shù)屬于某一個類別,則該樣本也屬于這個類別,其中K通常是不大于20的整數(shù)。K近鄰算法K-近鄰算法的基本思路是:選擇未知樣本在一定范圍內(nèi)確定個數(shù)的K個樣本,該K個樣本大多數(shù)屬于某一類型,則未知樣本九被判定為該類型。K近鄰算法1、導(dǎo)入K近鄰算法模塊fromsklearn.neighborsimportKNeighborsClassifier2、建模model=KNeighborsClassifier()KNeighborsClassifier(n_neighbors=5,weights='uniform',algorithm='auto',leaf_size=30,p=2,metric=’minkowski’,metric_params=None,n_jobs=1)K近鄰算法KNeighborsClassifier類常用的參數(shù)及其說明如下表所示。參數(shù)名稱說明n_neighbors接收int。表示“鄰居”數(shù)。默認為5weights接收str。表示分類判斷時最近鄰的權(quán)重,可選參數(shù)為uniform和distance,uniform表示權(quán)重相等,distance表示按距離的倒數(shù)賦予權(quán)重。默認為uniformalgorithm接收str。表示分類時采取的算法,可選參數(shù)為auto、ball_tree、kd_tree和brute,一般選擇auto自動選擇最優(yōu)的算法。默認為autometric接收str。表示距離度量。默認為minkowskip接收int。表示距離度量公式,p=1表示曼哈頓距離,p=2表示歐式距離。默認為2n_jobs接收int。表示計算時使用的核數(shù)。默認為1K近鄰算法3、調(diào)用模型對象中的fit()方法,對數(shù)據(jù)進行擬合訓(xùn)練model=model.fit(X_train,y_train)model4、調(diào)用模型中的score()方法,考察訓(xùn)練效果,訓(xùn)練集上的準確率判斷rv=model.score(X_train,y_train)rvK近鄰算法5、調(diào)用模型中的predict()方法,對測試樣本進行預(yù)測,獲得預(yù)測結(jié)果。y_test_pred=model.predict(X_test)判斷模型準確的的機器學(xué)習(xí)相關(guān)包:#導(dǎo)入相關(guān)的數(shù)據(jù)包fromsklearn.metricsimportconfusion_matrix,classification_reportfromsklearn.metricsimportaccuracy_score,precision_score,recall_scoreK近鄰算法6、調(diào)用模型中的predict_proba()方法,對測試樣本的概率進行預(yù)測,獲得預(yù)測結(jié)果的概率。y_pred_proba=model.predict_proba(X_train)K近鄰算法優(yōu)點:簡單易懂缺點:計算量太大邏輯回歸算法本質(zhì)是分類算法邏輯回歸一般指logistic回歸(logistic回歸分析),常用于數(shù)據(jù)挖掘,疾病自動診斷,經(jīng)濟預(yù)測等領(lǐng)域。例如,探討引發(fā)疾病的危險因素,并根據(jù)危險因素預(yù)測疾病發(fā)生的概率等。邏輯回歸算法Sigmoid函數(shù)公式:g(z)=1/(1+e-z)自變量取值為任意實數(shù),值域[0,1]解釋:將任意的輸入值映射到[0,1]區(qū)間通過對原始數(shù)據(jù)的處理可以得到一個值,將該值映射到Sigmoid函數(shù)中,就完成了由值到概率的轉(zhuǎn)換,也就是分類任務(wù)。邏輯回歸算法1、導(dǎo)入邏輯回歸模塊fromsklearn.linear_modelimportLogisticRegression2、建模對象(邏輯回歸建模)model=LogisticRegression(penalty='l2',dual=False,tol=0.0001,C=1.0,fit_intercept=True,intercept_scaling=1,class_weight=None,random_state=None,solver='liblinear',max_iter=100,multi_class='ovr',verbose=0,warm_start=False,n_jobs=1)邏輯回歸算法LogisticRegression類常用的參數(shù)及其說明如下表所示。參數(shù)名稱說明penalty接收str。表示正則化選擇參數(shù),可選l1或l2。默認為l2solver接收str。表示優(yōu)化算法選擇參數(shù),可選參數(shù)為newton-cg,lbfg,liblinear,sag,當penalty='l2'時,4種都可選;當penalty='l1'時,只能選liblinear。默認liblinearmulti_class接收str。表示分類方式選擇參數(shù),可選ovr和multinomial。默認ovrclass_weight接收balanced以及字典,表示類型權(quán)重參數(shù),如對于0,1的二元模型,可以定義class_weight={0:0.9,1:0.1},這樣類型0的權(quán)重為90%,而類型1的權(quán)重為10%。默認Nonecopy_X接收bool。表示是否復(fù)制數(shù)據(jù)表進行運算。默認Truen_jobs接收int。表示計算時使用的核數(shù)。默認為1邏輯回歸算法3、調(diào)用模型對象中的fit()方法,對數(shù)據(jù)進行擬合訓(xùn)練model=model.fit(X_train,y_train)model4、調(diào)用模型中的score()方法,考察訓(xùn)練效果,訓(xùn)練集上的準確率判斷rv=model.score(X_train,y_train)rv邏輯回歸算法5、調(diào)用模型中的predict()方法,對測試樣本進行預(yù)測,獲得預(yù)測結(jié)果。y_test_pred=model.predict(X_test)判斷模型準確的的機器學(xué)習(xí)相關(guān)包:#導(dǎo)入相關(guān)的數(shù)據(jù)包fromsklearn.metricsimportconfusion_matrix,classification_reportfromsklearn.metricsimportaccuracy_score,precision_score,recall_score邏輯回歸算法6、調(diào)用模型中的predict_proba()方法,對測試樣本的概率進行預(yù)測,獲得預(yù)測結(jié)果的概率。y_pred_proba=model.predict_proba(X_test)邏輯回歸算法邏輯回歸的優(yōu)點1)預(yù)測結(jié)果是介于0和1之間的概率;2)可以適用于連續(xù)性和類別性自變量;3)容易使用和解釋。邏輯回歸算法邏輯回歸的缺點:1)對模型中自變量多重共線性較為敏感,例如兩個高度相關(guān)自變量同時放入模型,可能導(dǎo)致較弱的一個自變量回歸符號不符合預(yù)期,符號被扭轉(zhuǎn)。需要利用因子分析或者變量聚類分析等手段來選擇代表性的自變量,以減少候選變量之間的相關(guān)性;2)預(yù)測結(jié)果呈“S”型,因此從log(odds)向概率轉(zhuǎn)化的過程是非線性的,在兩端隨著log(odds)值的變化,概率變化很小,邊際值太小,而中間概率的變化很大,很敏感。導(dǎo)致很多區(qū)間的變量變化對目標概率的影響沒有區(qū)分度,無法確定閥值。支持向量機算法支持向量機(SupportVectorMachine,SVM)是用來解決二分類問題的有監(jiān)督學(xué)習(xí)算法,它的基本模型是在特征空間上找到最佳的分離超平面使得訓(xùn)練集上正負樣本間隔最大,在引入了核方法之后,SVM也可以用來解決非線性問題。SVC、NuSVC、linearSVC都能夠?qū)崿F(xiàn)多元分類,其中SVC與NuSVC比較相似,但兩者參數(shù)略有不同,而LinearSVC如其名字所示,僅支持線性核函數(shù)的分類。支持向量機算法支持向量機目的:找到一條線將樣本分類w1x+w2y+b=0向量化:[w1
w2][xy]T+b=02維擴展到n維[w1
wn][x1xn]T+b=0即WTx+b=0支持向量機算法1、導(dǎo)入支持向量機模塊fromsklearn.svmimportSVC2、建模
model=SVC(C=1.0,kernel=’rbf’,degree=3,gamma=’auto’,coef0=0.0,shrinking=True,probability=False,tol=0.001,cache_size=200,class_weight=None,verbose=False,max_iter=-1,decision_function_shape=’ovr’,random_state=None)其中核函數(shù)可以選擇線性核函數(shù)、多項式核函數(shù)、高斯核函數(shù)、sigmoid核,分別用linear、poly、rbf、sigmoid表示,默認情況下選擇高斯核函數(shù)。支持向量機算法SVC類常用的參數(shù)及其說明如表所示。參數(shù)名稱說明C接收int或float。表示對誤分類的懲罰參數(shù)。默認為1.0kernel接收str。表示核函數(shù),可選參數(shù)為linear、poly、rbf、sigmoid、precomputed。默認為rbfdegree接收int。表示多項式核函數(shù)poly的維度。默認為3gamma接收str。表示rbf、poly、sigmoid核函數(shù)的參數(shù),若是auto,則自動設(shè)置參數(shù)。默認為autocoef0接收int或float。表示核函數(shù)的常數(shù)項,對poly和sigmoid有效,默認為0.0tol接收float。表示停止訓(xùn)練的誤差大小。默認為0.001max_iter接受int。表示最大迭代次數(shù),-1表示無限制。默認為-1支持向量機算法3、調(diào)用模型對象中的fit()方法,對數(shù)據(jù)進行擬合訓(xùn)練model=model.fit(X_train,y_train)model4、調(diào)用模型中的score()方法,考察訓(xùn)練效果,訓(xùn)練集上的準確率判斷rv=model.score(X_train,y_train)rv支持向量機算法5、調(diào)用模型中的predict()方法,對測試樣本進行預(yù)測,獲得預(yù)測結(jié)果。y_test_pred=model.predict(X_test)判斷模型準確的的機器學(xué)習(xí)相關(guān)包:#導(dǎo)入相關(guān)的數(shù)據(jù)包fromsklearn.metricsimportconfusion_matrix,classification_reportfromsklearn.metricsimportaccuracy_score,precision_score,recall_score支持向量機算法6、調(diào)用模型中的predict_proba()方法,對測試樣本的概率進行預(yù)測,獲得預(yù)測結(jié)果的概率。y_pred_proba=model.predict_proba(X_train)支持向量機算法優(yōu)點:1.由于SVM是一個凸優(yōu)化問題,所以求得的解一定是全局最優(yōu)而不是局部最優(yōu)。2.不僅適用于線性線性問題還適用于非線性問題(用核技巧)。3.擁有高維樣本空間的數(shù)據(jù)也能用SVM,這是因為數(shù)據(jù)集的復(fù)雜度只取決于支持向量而不是數(shù)據(jù)集的維度,這在某種意義上避免了“維數(shù)災(zāi)難”。4.理論基礎(chǔ)比較完善(例如神經(jīng)網(wǎng)絡(luò)就更像一個黑盒子)。支持向量機算法缺點:1.二次規(guī)劃問題求解將涉及m階矩陣的計算(m為樣本的個數(shù)),因此SVM不適用于超大數(shù)據(jù)集。(SMO算法可以緩解這個問題)2.只適用于二分類問題。(SVM的推廣SVR也適用于回歸問題;可以通過多個SVM的組合來解決多分類問題)神經(jīng)網(wǎng)絡(luò)算法神經(jīng)網(wǎng)絡(luò)(NeuralNetworks)能在外界信息的基礎(chǔ)上改變內(nèi)部結(jié)構(gòu),是一個具備學(xué)習(xí)功能的自適應(yīng)系統(tǒng)。神經(jīng)網(wǎng)絡(luò)算法輸入原始數(shù)據(jù)信息通過迭代學(xué)習(xí)算法,對參數(shù)進行更新估計,使得模型的輸出逼近于樣本真實結(jié)果的過程。神經(jīng)網(wǎng)絡(luò)算法BP神經(jīng)網(wǎng)絡(luò)算法流程如下:1、在(0,1)范圍內(nèi)隨機初始化網(wǎng)絡(luò)中所有權(quán)值和閾值。2、將訓(xùn)練樣本提供給輸入層神經(jīng)元,然后逐層將信號前傳,直到產(chǎn)生輸出層的結(jié)果,這一步一般稱為信號向前傳播。3、根據(jù)
計算輸出層誤差,將誤差逆向傳播至隱層神經(jīng)元,再根據(jù)隱層神經(jīng)元誤差來對權(quán)值和閾值進行更新,這一步一般稱為誤差向后傳播。4、循環(huán)執(zhí)行步驟2和步驟3,直到達到某個停止條件,一般為訓(xùn)練誤差小于某個閾值或迭代次數(shù)大于某個閾值。神經(jīng)網(wǎng)絡(luò)算法1、導(dǎo)入神經(jīng)網(wǎng)絡(luò)分類模塊fromsklearn.neural_networkimportMLPClassifier2、建模對象model=MLPClassifier(hidden_layer_sizes=(100,),activation=’relu’,solver=’adam’,alpha=0.0001,batch_size=’auto’,learning_rate=’constant’,learning_rate_init=0.001,power_t=0.5,max_iter=200,shuffle=True,random_state=None,tol=0.0001,verbose=False,warm_start=False,momentum=0.9,nesterovs_momentum=True,early_stopping=False,validation_fraction=0.1,beta_1=0.9,beta_2=0.999,epsilon=1e-08,n_iter_no_change=10)神經(jīng)網(wǎng)絡(luò)算法MLPClassifier類常用的參數(shù)及其說明如表所示。參數(shù)名稱說明hidden_layer_sizes接收tuple。表示隱層結(jié)構(gòu),其長度表示隱層層數(shù),元素表示每一個隱層的神經(jīng)元個數(shù)。如(80,90)表示包含兩個隱層,第一個隱層有80個神經(jīng)元,第2個隱層有90個神經(jīng)元。默認為(100,)activation接收str。表示激活函數(shù),可選參數(shù)有以下4種。(1)identity:恒等函數(shù),(2)logistics:Sigmooid函數(shù),
(3)tanh:tanh函數(shù),
(4)relu:relu函數(shù),
默認為relu神經(jīng)網(wǎng)絡(luò)算法MLPClassifier類常用的參數(shù)及其說明如表所示。參數(shù)名稱說明solver接收str。表示優(yōu)化算法的類型,可選參數(shù)有以下3種(1)lbfgs:一種擬牛頓法(2)sgd:隨機梯度下降法(3)adam:基于隨機梯度的優(yōu)化器,在大規(guī)模數(shù)據(jù)集上效果較好默認為adamalpha接收float。表示正則化系數(shù)。默認為0.0001max_iter接收int。表示最大迭代次數(shù)。默認為200tol接收float。表示優(yōu)化過程的收斂性閾值。默認為0.0001神經(jīng)網(wǎng)絡(luò)算法3、調(diào)用模型對象中的fit()方法,對數(shù)據(jù)進行擬合訓(xùn)練model=model.fit(X_train,y_train)model4、調(diào)用模型中的score()方法,考察訓(xùn)練效果,訓(xùn)練集上的準確率判斷rv=model.score(X_train,y_train)rv神經(jīng)網(wǎng)絡(luò)算法5、調(diào)用模型中的predict()方法,對測試樣本進行預(yù)測,獲得預(yù)測結(jié)果。y_test_pred=model.predict(X_test)判斷模型準確的的機器學(xué)習(xí)相關(guān)包:#導(dǎo)入相關(guān)的數(shù)據(jù)包fromsklearn.metricsimportconfusion_matrix,classification_reportfromsklearn.metricsimportaccuracy_score,precision_score,recall_score神經(jīng)網(wǎng)絡(luò)算法6、調(diào)用模型中的predict_proba()方法,對測試樣本的概率進行預(yù)測,獲得預(yù)測結(jié)果的概率。y_pred_proba=model.predict_proba(X_train)決策樹算法決策樹是一個預(yù)測模型,代表的是對象屬性與對象值之間的一種映射關(guān)系。決策樹可分為分類樹和回歸樹,分類樹的輸出是樣本的類標,回歸樹的輸出是一個預(yù)測值。決策樹算法決策樹是一種基于樹結(jié)構(gòu)來進行決策的分類算法。一般地,一棵決策樹包含一個根節(jié)點、若干個中間節(jié)點和若干個葉節(jié)點。根節(jié)點和中間節(jié)點對應(yīng)于一個屬性測試,葉節(jié)點對應(yīng)于決策結(jié)果。一般決策樹的結(jié)構(gòu)示意圖如圖所示。決策樹算法1、導(dǎo)入決策樹模塊fromsklearn.treeimportDecisionTreeClassifier2、建模model=DecisionTreeClassifier()決策樹算法3、調(diào)用模型對象中的fit()方法,對數(shù)據(jù)進行擬合訓(xùn)練model=model.fit(X_train,y_train)model4、調(diào)用模型中的score()方法,考察訓(xùn)練效果,訓(xùn)練集上的準確率判斷rv=model.score(X_train,y_train)rv決策樹算法5、調(diào)用模型中的predict()方法,對測試樣本進行預(yù)測,獲得預(yù)測結(jié)果。y_train_pred=clf.predict(X_train)y_test_pred=clf.predict(X_test)判斷模型準確的的機器學(xué)習(xí)相關(guān)包:#導(dǎo)入相關(guān)的數(shù)據(jù)包fromsklearn.metricsimportconfusion_matrix,classification_reportfromsklearn.metricsimportaccuracy_score,precision_score,recall_score決策樹算法6、調(diào)用模型中的predict_proba()方法,對測試樣本的概率進行預(yù)測,獲得預(yù)測結(jié)果的概率。y_pred_proba=clf.predict_proba(X_train)隨機森林算法在機器學(xué)習(xí)中,集成學(xué)習(xí)算法通過組合使用多種學(xué)習(xí)算法來獲得比單獨使用任何單獨的學(xué)習(xí)算法更好的預(yù)測性能。假設(shè)有個病人去醫(yī)院看病,希望根據(jù)醫(yī)生的診斷做出治療。他可能選擇看多個醫(yī)生,而不是一個;如果某種診斷比其他診斷出現(xiàn)的次數(shù)多,則將它作為最終的診斷結(jié)果。也就是說最終診斷結(jié)果是根據(jù)多數(shù)表決做出的,每個醫(yī)生都具有相同的權(quán)重。隨機森林算法把醫(yī)生換成分類器,就得到Bagging(Bootstrapaggregating)的思想,單個分類器稱為基分類器。多數(shù)分類器的結(jié)果比少數(shù)分類器的結(jié)果更可靠。隨機森林算法(RandomForest,RF)是Bagging的一個拓展,RF在以決策樹為基分類器構(gòu)建Bagging學(xué)習(xí)器的基礎(chǔ)上,進一步在決策樹的訓(xùn)練過程中引入了隨機屬性選擇。隨機森林除了擁有Bagging方法已有的優(yōu)點外,還有更加重要的一點:由于隨機森林在每次劃分時只考慮很少的屬性,因此在大型數(shù)據(jù)上效率更高。隨機森林算法1、導(dǎo)入隨機森林模塊fromsklearn.ensembleimportRandomForestClassifier2、建模對象(隨機森林建模)model=RandomForestClassifier(n_estimators=10,criterion=’gini’,max_depth=None,min_samples_split=2,min_samples_leaf=1,min_weight_fraction_leaf=0.0,max_features=’auto’,max_leaf_nodes=None,min_impurity_decrease=0.0,min_impurity_split=None,bootstrap=True,oob_score=False,n_jobs=None,random_state=None,verbose=0,warm_start=False,class_weight=None)隨機森林算法RandomForestClassifier類常用的參數(shù)及其說明如表所示。參數(shù)名稱說明n_estimators接收int。表示隨機森林中決策樹數(shù)量。默認為10criterion接收str。表示決策樹進行屬性選擇時的評價標準,可選參數(shù)為gini、entropy。默認為ginimax_depth接收int或None。表示決策樹劃分時考慮的最大特征數(shù)。默認為Nonemin_samples_split接收int或float。表示內(nèi)部結(jié)點最小的樣本數(shù),若是float,則表示百分數(shù)。默認為2min_samples_leaf接收int或float。表示葉結(jié)點最小的樣本數(shù),若是float,則表示百分數(shù)。默認為1max_leaf_nodes接受in-t或None。表示最大的葉結(jié)點數(shù)。默認為Noneclass_weight接受dict、list、balanced或None。以{class_label:weight}的形式表示類的權(quán)重。默認為None隨機森林算法3、調(diào)用模型對象中的fit()方法,對數(shù)據(jù)進行擬合訓(xùn)練model=model.fit(X_train,y_train)model4、調(diào)用模型中的score()方法,考察訓(xùn)練效果,訓(xùn)練集上的準確率判斷rv=model.score(X_train,y_train)rv隨機森林算法5、調(diào)用模型中的predict()方法,對測試樣本進行預(yù)測,獲得預(yù)測結(jié)果。y_test_pred=model.predict(X_test)判斷模型準確的的機器學(xué)習(xí)相關(guān)包:#導(dǎo)入相關(guān)的數(shù)據(jù)包fromsklearn.metricsimportconfusion_matrix,classification_reportfromsklearn.metricsimportaccuracy_score,precision_score,recall_score隨機森林算法6、調(diào)用模型中的predict_proba()方法,對測試樣本的概率進行預(yù)測,獲得預(yù)測結(jié)果的概率。y_pred_proba=model.predict_proba(X_train)Adaboost算法Adaboost算法Adaboost是一種非常流行的提升算法Adaboost算法1、導(dǎo)入Adaboost模塊fromsklearn.ensembleimportAdaBoostClassifier2、建模對象(建模)model=AdaBoostClassifier()AdaBoostClassifier(base_estimator=None,n_estimators=50,learning_rate=1.0,algorithm='SAMME.R',random_state=None)Adaboost算法Adaboost常用的參數(shù)及其說明如表所示參數(shù)名稱說明base_estimator基分類器,默認是決策樹,在該分類器基礎(chǔ)上進行boosting,理論上可以是任一分類器,但是如果是其他分類器時需要指明樣本權(quán)重。n_estimators基分類器提升(循環(huán))次數(shù),默認是50次,這個值過大,模型容易過擬合;值過小,模型容易欠擬合。learning_rate學(xué)習(xí)率,表示梯度收斂速度,默認為1,如果過大,容易錯過最優(yōu)值,如果過小,則收斂速度會很慢;該值需要和n_estimators進行一個權(quán)衡,當分類器迭代次數(shù)較少時,學(xué)習(xí)率可以小一些,當?shù)螖?shù)較多時,學(xué)習(xí)率可以適當放大。algorithmboosting算法,也就是模型提升準則,有兩種方式SAMME,和SAMME.R兩種,默認是SAMME.R,兩者的區(qū)別主要是弱學(xué)習(xí)器權(quán)重的度量,前者是對樣本集預(yù)測錯誤的概率進行劃分的,后者是對樣本集的預(yù)測錯誤的比例,即錯分率進行劃分的,默認是用的SAMME.R。random_state隨機種子設(shè)置。Adaboost算法3、調(diào)用模型對象中的fit()方法,對數(shù)據(jù)進行擬合訓(xùn)練model=model.fit(X_train,y_train)model4、調(diào)用模型中的score()方法,考察訓(xùn)練效果,訓(xùn)練集上的準確率判斷rv=model.score(X_train,y_train)rvAdaboost算法5、調(diào)用模型中的predict()方法,對測試樣本進行預(yù)測,獲得預(yù)測結(jié)果。y_test_pred=model.predict(X_test)判斷模型準確的的機器學(xué)習(xí)相關(guān)包:#導(dǎo)入相關(guān)的數(shù)據(jù)包fromsklearn.metricsimportconfusion_matrix,classification_reportfromsklearn.metricsimportaccuracy_score,precision_score,recall_scoreAdaboost算法6、調(diào)用模型中的predict_proba()方法,對測試樣本的概率進行預(yù)測,獲得預(yù)測結(jié)果的概率。y_pred_proba=model.predict_proba(X_test)樸素貝葉斯算法樸素貝葉斯分類是一種十分簡單的分類算法,其核心就是貝葉斯定理。它的思想基礎(chǔ)十分易懂,對于給出的待分類項,求解在此項出現(xiàn)的條件下各個類別出現(xiàn)的概率,出現(xiàn)概率最大的類別就被認為是待分類項的所屬類別。樸素貝葉斯算法有一個最重要的基本假設(shè),即屬性之間相互獨立。這個假設(shè)在實際應(yīng)用中往往是不成立的,這給NBC模型的正確分類帶來了一定影響。樸素貝葉斯算法P(A)是A的先驗概率(邊沿概率),不考慮任何B方面的因素。P(B)是B的先驗概率(邊沿概率),不考慮任何A方面的因素。P(A|B)是已知B發(fā)生后A的條件概率,得自B的取值而被稱為A的后驗概率。P(B|A)是已知A發(fā)生后B的條件概率,得自A的取值而被稱為B的后驗概率。樸素貝葉斯算法
樸素貝葉斯算法----實例學(xué)校里有60%男生和40%女生,女生穿褲子的人數(shù)和穿褲子的人數(shù)和穿裙子的人數(shù)相等,所有男生穿褲子,一個人在遠處看到了一個穿褲子的學(xué)生,這個學(xué)生是女生的概率是多少?事件A是看到女生
事件B是看到一個穿褲子的學(xué)生
求P(A|B)P(A)忽略其它因素,看到女生的概率P(A)=0.
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人體解剖試題及答案
- 小學(xué)生BP撰寫攻略
- 駕駛員考試題及答案
- 券商托管面試題及答案
- 家電公司行政管理辦法
- 普洱市重點中學(xué)2026屆化學(xué)高三第一學(xué)期期中統(tǒng)考試題含解析
- 2026屆福建省福州市三校聯(lián)考化學(xué)高二第一學(xué)期期末質(zhì)量檢測試題含答案
- 專題09體會作者表達的思想感情(試題)六年級語文部編版-教師版
- 工廠減虧激勵方案模板(3篇)
- 工廠器械防銹措施方案(3篇)
- 高級職稱評定工作總結(jié)(3篇)
- 干部人事檔案管理業(yè)務(wù)知識培訓(xùn)課件
- 軟件項目開發(fā)需求規(guī)格說明書(標準模板)
- GB/T 9797-2022金屬及其他無機覆蓋層鎳、鎳+鉻、銅+鎳和銅+鎳+鉻電鍍層
- GB/T 32288-2015電力變壓器用電工鋼鐵心
- FZ/T 01008-2008涂層織物耐熱空氣老化性的測定
- 精神科病歷書寫精神科病歷書寫及范例
- 《乒乓裁判規(guī)則規(guī)程》考試題庫(附答案)
- 依托自主化裝備建設(shè)分布式能源三聯(lián)供項目
- PCB全制程培訓(xùn)教材
- 應(yīng)急保障措施及處置方案
評論
0/150
提交評論