版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
機(jī)器學(xué)習(xí)線性分類模型的基礎(chǔ)2020/12/3分類的線性模型第4-1課分類的線性模型邏輯回歸()用網(wǎng)格搜索優(yōu)化模型多類分類()類不平衡()多標(biāo)簽分類()2020/12/3分類的線性模型第5-2課邏輯回歸()在線性回歸中,我們討論了簡單線性回歸,多元線性回歸和多項式回歸。這些模型是廣義線性模型()的特例,這是一個靈活的框架,比普通線性回歸需要更少的假設(shè)。在本課中,我們將討論這些假設(shè)中的一些,因為它們與廣義線性模型的另一種特殊情況有關(guān),稱為logistic回歸2020/12/3分類的線性模型第5-3課。。。。?2020/12/3分類的線性模型第5-4課logistic回歸二元分類在logistic回歸中,響應(yīng)變量描述了結(jié)果為陽性病例的概率。如果響應(yīng)變量等于或超過判別閾值,則預(yù)測正類;否則,預(yù)測負(fù)類。使用logistic函數(shù)將響應(yīng)變量建模為解釋變量線性組合的函數(shù)2020/12/3分類的線性模型第5-5課成本函數(shù)成本函數(shù),,,“。2020/12/3分類的線性模型第5-6課y={0,1},:2020/12/3分類的線性模型第5-7課求解過擬合的代價函數(shù),。2020/12/3分類的線性模型第5-8課sklearn.linear_model.logisticregression類sklearn.linear_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='lbfgs',max_iter=100,multi_class='warn',verbose=0,warm_start=false,n_jobs=none)./lcqin111/article/details/83861476/2019-02-11/P/10597118.html2020/12/3分類的線性模型第5-9課分類的線性模型邏輯回歸()用網(wǎng)格搜索優(yōu)化模型多類分類()類不平衡()多標(biāo)簽分類()2020/12/3LinearModelforClassificationLesson5-10Tuningmodelswithgridsearch超參數(shù)是模型中未學(xué)習(xí)的參數(shù)。例如,我們的logistic回歸SMS分類器的超參數(shù)包括正則化項的值和用于刪除出現(xiàn)太頻繁或不經(jīng)常出現(xiàn)的單詞的閾值。在scikitlearn中,超參數(shù)是通過構(gòu)造函數(shù)設(shè)置的。在前面的示例中,我們沒有為LogisticRegression()設(shè)置任何參數(shù);我們使用了所有超參數(shù)的默認(rèn)值。這些默認(rèn)值通常是一個良好的開始,但它們可能無法生成最佳模型。網(wǎng)格搜索是選擇產(chǎn)生最佳模型的超參數(shù)值的常用方法。網(wǎng)格搜索為每個應(yīng)該調(diào)整的超參數(shù)獲取一組可能的值,并評估一個在這些超參數(shù)集的笛卡爾積的每個元素上訓(xùn)練的模型。也就是說,網(wǎng)格搜索是一種詳盡的搜索,它為開發(fā)人員提供的每個可能的超參數(shù)值組合訓(xùn)練和評估模型。2023/11/4LinearModelforClassificationLesson5-11TuningmodelswithgridsearchGridSearchCVclasssklearn.model_selection.GridSearchCV(estimator,param_grid,*,scoring=None,n_jobs=None,iid='deprecated',refit=True,cv=None,verbose=0,pre_dispatch='2*n_jobs',error_score=nan,return_train_score=False)RandomizedSearchCVclasssklearn.model_selection.RandomizedSearchCV(estimator,param_distributions,*,n_iter=10,scoring=None,n_jobs=None,iid='deprecated',refit=True,cv=None,verbose=0,pre_dispatch='2*n_jobs',random_state=None,error_score=nan,return_train_score=False)[source]2023/11/4LinearModelforClassificationLesson5-12TuningmodelswithgridsearchGridSearchCV2023/11/4LinearModelforClassificationLesson5-13pipeline=Pipeline([('vect',TfidfVectorizer(stop_words='english')),('clf',LogisticRegression())])parameters={'vect__max_df':(0.25,0.5,0.75),'vect__stop_words':('english',None),'vect__max_features':(2500,5000,10000,None),'vect__ngram_range':((1,1),(1,2)),'vect__use_idf':(True,False),'vect__norm':('l1','l2'),'clf__penalty':('l1','l2'),'clf__C':(0.01,0.1,1,10),}TuningmodelswithgridsearchGridSearchCV2023/11/4LinearModelforClassificationLesson5-14file_name=path.dirname(__file__)+\
"/../data/SMSSpamCollection.txt"X,y=[],[]withopen(file_name,'r',encoding='UTF-8')asfile:line=file.readline()whileline:d=line.split("\t")X.append(d[1])y.append(d[0])line=file.readline()
a={'ham':0,'spam':1}y=[a[s]forsiny]TuningmodelswithgridsearchGridSearchCV2023/11/4LinearModelforClassificationLesson5-15grid_search=GridSearchCV(pipeline,parameters,n_jobs=-1,\verbose=1,scoring='accuracy',cv=3)X_train,X_test,y_train,y_test=train_test_split(X,y)grid_search.fit(X_train,y_train)print('Bestscore:%0.3f'%grid_search.best_score_)print('Bestparametersset:')best_parameters=grid_search.best_estimator_.get_params()forparam_nameinsorted(parameters.keys()):print('\t%s:%r'%(param_name,best_parameters[param_name]))predictions=grid_search.predict(X_test)print('Accuracy:',accuracy_score(y_test,predictions))print('Precision:',precision_score(y_test,predictions))print('Recall:',recall_score(y_test,predictions))LinearModelforClassificationLogisticRegression(邏輯回歸或者對數(shù)幾率回歸)TuningmodelswithgridsearchMulti-classclassification(多分類學(xué)習(xí))Class-imbalance(類別不平衡)問題Multi-labelclassification(多標(biāo)簽分類)2023/11/4LinearModelforClassificationLesson5-16Multi-classclassificationThegoalofmulti-classclassificationistoassignaninstancetooneofthesetofclasses.scikit-learnusesone-vs.-all(one-vs.-the-rest)ormultinomial,tosupportmulti-classclassification.One-vs.-allclassificationusesonebinaryclassifierforeachofthepossibleclasses.Theclassthatispredictedwiththegreatestconfidenceisassignedtotheinstance.LogisticRegressionsupportsmulti-classclassificationusingtheone-versus-allstrategyoutofthebox.多類分類的目標(biāo)是將一個實例分配給一組類。scikitlearn使用one-vs.-all(one-vs.-the-rest)或多項式來支持多類分類。One-vs.-all分類對每個可能的類使用一個二進(jìn)制分類器。以最大可信度預(yù)測的類被分配給實例。LogisticRegression支持使用開箱即用的“一對所有”策略進(jìn)行多類分類。2023/11/4LinearModelforClassificationLesson5-17拆分策略最經(jīng)典的拆分策略有三種.“一對一”(Onevs.One,簡稱OvO)、“一對其余"(Onevs.Rest,簡稱OvR)和"多對多"(Manyvs.Many,簡稱MvM).OvO將這N個類別兩兩配對,從而產(chǎn)生N(N一1)/2個三分類任務(wù),例如OvO將為區(qū)分類別Ci和Cj訓(xùn)練個分類器,該分類器把D中的Ci類樣例作為正例,Cj類樣例作為反例.在測試階段,新樣本將同時提交給所有分類器,于是我們將得到N(N-1)/2個分類結(jié)果,最終結(jié)果可通過投票產(chǎn)生:即把被預(yù)測得最多的類別作為最終分類結(jié)果.2023/11/4LinearModelforClassificationLesson5-18拆分策略最經(jīng)典的拆分策略有三種.“一對一”(Onevs.One,簡稱OvO)、“一對其余"(Onevs.Rest,簡稱OvR)和"多對多"(Manyvs.Many,簡稱MvM).OvR則是每次將一個類的樣例作為正例、所有其他類的樣例作為反例來訓(xùn)練N個分類器.在測試時若僅有一個分類器預(yù)測為正類,則對應(yīng)的類別標(biāo)記作為最終分類結(jié)果.若有多個分類器預(yù)測為正類,則通??紤]各分類器的預(yù)測置信度,選擇置信度最大的類別標(biāo)記作為分類結(jié)果.2023/11/4LinearModelforClassificationLesson5-19拆分策略最經(jīng)典的拆分策略有三種.“一對一”(Onevs.One,簡稱OvO)、“一對其余"(Onevs.Rest,簡稱OvR)和"多對多"(Manyvs.Many,簡稱MvM).MvM是每次將若干個類作為正類,若干個其他類作為反類.顯然,OvO和OvR是MvM的特例.MvM的正、反類構(gòu)造必須有特殊的設(shè)計,不能隨意選取.一種最常用的MvM技術(shù)是“糾錯輸出碼”(ErrorCorrectingOutputCodes,簡稱ECOC).ECOC是將編碼的思想引入類別拆分,并盡可能在解碼過程中具有容錯性.2023/11/4LinearModelforClassificationLesson5-20sklearn.linear_model.LogisticRegressionclasssklearn.linear_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=’
lbfgs’,max_iter=100,multi_class=’warn’,verbose=0,warm_start=False,n_jobs=None)multi_class:str,{‘ovr’,‘multinomial’,‘a(chǎn)uto’},default:‘ovr’Iftheoptionchosenis‘ovr’,thenabinaryproblemisfitforeachlabel.For‘multinomial’thelossminimisedisthemultinomiallossfitacrosstheentireprobabilitydistribution,evenwhenthedataisbinary.‘multinomial’isunavailablewhensolver=’liblinear’.‘a(chǎn)uto’selects‘ovr’ifthedataisbinary,orifsolver=’liblinear’,andotherwiseselects‘multinomial’.2023/11/4LinearModelforClassificationLesson5-212023/11/4LinearModelforClassificationLesson5-22sklearn.multiclass.OneVsRestClassifier(estimator,n_jobs=None)一對多(OvR)多類/多標(biāo)簽策略也稱為一對所有,這種策略包括為每個類安裝一個分類器。該策略還可用于多標(biāo)簽學(xué)習(xí),其中分類器用于預(yù)測多個標(biāo)簽,例如,通過擬合二維矩陣,其中單元格[i,j]為1,如果樣本i有標(biāo)簽j,則為0。https:///stable/modules/generated/sklearn.multiclass.OneVsRestClassifier.html#sklearn.multiclass.OneVsRestClassifier2023/11/4LinearModelforClassificationLesson5-23sklearn.multiclass.OneVsOneClassifier(estimator,n_jobs=None)一對一多類策略該策略包括為每個類對擬合一個分類器。在預(yù)測時刻,選出得票最多的班級。由于它需要適合n個類*(n個類-1)/2個分類器,因此這種方法通常比其他方法慢,因為它的O(n個類^2)復(fù)雜性。然而,這種方法可能有利于像核算法這樣不能很好地利用n_樣本進(jìn)行縮放的算法。這是因為每個單獨(dú)的學(xué)習(xí)問題只涉及數(shù)據(jù)的一小部分,而對于一個與其余的,完整的數(shù)據(jù)集被使用n_nu類次。https:///stable/modules/generated/sklearn.multiclass.OneVsOneClassifier.html#sklearn.multiclass.OneVsOneClassifier2023/11/4LinearModelforClassificationLesson5-24sklearn.multiclass.OutputCodeClassifier(糾錯)輸出碼多類策略基于輸出代碼的策略是用二進(jìn)制代碼(0和1的數(shù)組)表示每個類。在擬合時,在碼本中每比特一個二進(jìn)制分類器被擬合。在預(yù)測時,使用分類器在類空間中投影新的點(diǎn),并選擇最接近點(diǎn)的類。這些策略的主要優(yōu)點(diǎn)是,用戶可以控制分類器的數(shù)量,用于壓縮模型(0<code_size<1)或使模型對錯誤更加魯棒(code_size>1)。有關(guān)詳細(xì)信息,請參閱文檔。https:///stable/modules/generated/sklearn.multiclass.OutputCodeClassifier.html#sklearn.multiclass.OutputCodeClassifier2023/11/4LinearModelforClassificationLesson5-25LinearModelforClassificationLogisticRegression(邏輯回歸或者對數(shù)幾率回歸)Multi-classclassification(多分類學(xué)習(xí))Class-imbalance(類別不平衡)問題Multi-labelclassification(多標(biāo)簽分類)2023/11/4LinearModelforClassificationLesson5-26class-imbalance(類別不平衡)問題類別不平衡(class-imbalance)就是指分類任務(wù)中不同類別的訓(xùn)練樣例數(shù)目差別很大的情況.不失一般性,假定正類樣例較少,反類樣例較多.在現(xiàn)實的分類學(xué)習(xí)任務(wù)中,我們經(jīng)常會遇到類別不平衡問題。第一類是直接對訓(xùn)練集里的反類樣例進(jìn)行“欠采樣”(undersampling),即去除一些反例使得正、反例數(shù)日接近,然后再進(jìn)行學(xué)習(xí);第二類是對訓(xùn)練集里的正類樣例進(jìn)行“過采樣"(oversampling),即增加一些正例使得正、反例數(shù)目接近,然后再進(jìn)行學(xué)習(xí);第三類則是直接基于原始訓(xùn)練集進(jìn)行學(xué)習(xí),但在用訓(xùn)練好的分類器進(jìn)行預(yù)測時,將下式嵌入到其決策過程中,稱為“閾值移動"(threshold-moving).2023/11/4LinearModelforClassificationLesson5-27在Scikitlearn中有一些不平衡校正技術(shù),這些技術(shù)根據(jù)您使用的學(xué)習(xí)算法而有所不同。其中有些方法,如支持向量機(jī)或logistic回歸,有類權(quán)參數(shù)。如果將此參數(shù)設(shè)置為“auto”時實例化SVC,它將根據(jù)每個類示例的頻率的倒數(shù)按比例加權(quán)。不幸的是,沒有一個預(yù)處理工具能達(dá)到這個目的。2023/11/4LinearModelforClassificationLesson5-28https:///scikit-learn-contrib/imbalanced-learnItcontainsmanyalgorithmsinthefollowingcategories,includingSMOTEUnder-samplingthemajorityclass(es).Over-samplingtheminorityclass.Combiningover-andunder-sampling.Createensemblebalancedsets.2023/11/4LinearModelforClassificationLesson5-29SyntheticMinorityOversamplingTechniqueSMOTE,即合成少數(shù)類過采樣技術(shù)它是基于隨機(jī)過采樣算法的一種改進(jìn)方案,由于隨機(jī)過采樣采取簡單復(fù)制樣本的策略來增加少數(shù)類樣本,這樣容易產(chǎn)生模型過擬合的問題,即使得模型學(xué)習(xí)到的信息過于特別(Specific)而不夠泛化(General),SMOTE算法流程如下:對于少數(shù)類中每一個樣本x,以歐氏距離為標(biāo)準(zhǔn)計算它到少數(shù)類樣本集Smin中所有樣本的距離,得到其k近鄰。根據(jù)樣本不平衡比例設(shè)置一個采樣比例以確定采樣倍率N,對于每一個少數(shù)類樣本x,從其k近鄰中隨機(jī)選擇若干個樣本,假設(shè)選擇的近鄰為xn。對于每一個隨機(jī)選出的近鄰xn,分別與原樣本按照如下的公式構(gòu)建新的樣本xnew=x+rand(0,1)?|x?xn|2023/11/4LinearModelforClassificationLesson5-30LinearModelforClassificationLogisticRegression(邏輯回歸或者對數(shù)幾率回歸)TuningmodelswithgridsearchMulti-classclassification(多分類學(xué)習(xí))Class-imbalance(類別不平衡)問題Multi-labelclassification(多標(biāo)簽分類)2023/11/4LinearModelforClassificationLesson5-31Multi-labelclassificationandproblemtransformationProblemtransformationmethodsaretechniquesthatcasttheoriginalmulti-labelproblemasasetofsingle-labelclassificationproblems.ConverteachsetoflabelsencounteredinthetrainingdatatoasinglelabelTrainonebinaryclassifierforeachofthelabelsinthetrainingset2023/11/4LinearModelforClassificationLesson5-322023/11/4LinearModelforClassificationLesson5-33sklearn.multiclass.OneVsRestClassifier(estimator,n_jobs=None)One-vs-the-rest(OvR)multiclass/multilabelstrategyAlsoknownasone-vs-all,thisstrategyconsistsinfittingoneclassifierperclass.Thisstrategycanalsobeusedformultilabellearning,whereaclassifierisusedtopredictmultiplelabelsforinstance,byfittingona2-dmatrixinwhichcell[i,j]is1ifsampleihaslabeljand0otherwise.https:///stable/modules/generated/sklearn.multiclass.OneVsRestClas
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 門市出租合同范本
- 園林花木租賃合同格式
- 庭院房購房合同范本2024年
- 砌筑工程-磚砌體施工
- 股權(quán)投資公司抵押擔(dān)保借款合同范本
- 關(guān)于離婚協(xié)議書范本建議
- 家政服務(wù)人員勞動合同案例
- 2024年幼兒食材配送協(xié)議樣本
- 識別并規(guī)避勞動合同中的霸王條款
- 2024版產(chǎn)品買賣協(xié)議書格式示例
- 2023-2024學(xué)年北京市101中學(xué)八年級(上)期中數(shù)學(xué)試卷【含解析】
- 部編版四年級上冊《第5單元 習(xí)作例文:我家的杏熟了 小木船》課件
- 2024年天津中煤進(jìn)出口限公司招聘電力及新能源專業(yè)人才(高頻重點(diǎn)提升專題訓(xùn)練)共500題附帶答案詳解
- 地理標(biāo)志使用合同
- 2024-2030年中國呼叫中心行業(yè)現(xiàn)狀規(guī)模及前景動態(tài)預(yù)測報告
- 不付租金解除合同通知書
- 2024年中華人民共和國企業(yè)所得稅年度納稅申報表(帶公式)20240301更新
- 小學(xué)英語基礎(chǔ)語法
- 展廳設(shè)計施工合同
- 檔案管理系統(tǒng)用戶操作手冊
- 康復(fù)治療技術(shù)專業(yè)《疾病學(xué)基礎(chǔ)》課程標(biāo)準(zhǔn)-康復(fù)
評論
0/150
提交評論