您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

MLBox庫(kù)的打開方式

大?。?/span>0.7 MB 人氣: 2017-09-29 需要積分:1

  MLbox的整個(gè)管道模型分為3個(gè)部分/子包:預(yù)處理、優(yōu)化、預(yù)測(cè)。

  下面我們來詳細(xì)學(xué)習(xí)這三個(gè)子包。

  1.預(yù)處理

  運(yùn)行下面的指令使用該子包內(nèi)的所有功能:

  from mlbox.preprocessing import *

  該子包提供了與兩個(gè)主要功能相關(guān)的部分:

  閱讀和清理文件

  此軟件包支持讀取各種各樣的文件格式,如csv,Excel,hdf5,JSON等,但在本文中,我們將主要看到最常見的“.csv”文件格式。 請(qǐng)按照以下步驟讀取csv文件:

  Step1: 刪除未命名的列。

  使用分隔符作為參數(shù)創(chuàng)建一個(gè)Reader類的對(duì)象。 “,”是csv文件的分隔符。

  s=“,”

  r=Reader(s) #initialising the object of Reader Class

  Step2: 刪除重復(fù)項(xiàng)

  列出練習(xí)和測(cè)試文件的路徑,并確定目標(biāo)變量名稱。

  path=[“path of the train csv file”,“path of the test csv file ”]

  target_name=“name of the target variable in the train file”

  Step3: 從“日期”列中提取月份,年份和星期

  執(zhí)行清理操作并創(chuàng)建清理后的練習(xí)和測(cè)試文件。

  data=r.train_test_split(path,target_name)

  刪除偏移變量

  Step1:創(chuàng)建一個(gè)Drift_thresholder類的對(duì)象

  dft=Drift_thresholder()

  Step2:使用創(chuàng)建對(duì)象的fit_transform方法來刪除漂移變量。

  data=dft.fit_transform(data)

  2.優(yōu)化

  運(yùn)行下面的指令使用該子包內(nèi)的所有功能:

  from mlbox.optimisation import *

  優(yōu)化是該庫(kù)的最強(qiáng)之處。從選擇正確的缺失值插補(bǔ)方法到XGBOOST模型的深度,超參數(shù)優(yōu)化方法使用超快速(hyperopt)庫(kù)極速優(yōu)化庫(kù)中的 所有內(nèi)容。該庫(kù)創(chuàng)建了一個(gè)要優(yōu)化的參數(shù)的高維空間,并選擇了降低數(shù)據(jù)分?jǐn)?shù)的參數(shù)最佳組合。

  以下是在MLBox庫(kù)中完成的四個(gè)廣泛優(yōu)化的表格,其中有針對(duì)不同值優(yōu)化的連字符術(shù)語(yǔ)。

  Missing Values Encoder(ne)(缺失值編碼器)- numeric_strategy(數(shù)值策略)(估算的列是連續(xù)列,如平均值,中位數(shù)等), categorical_strategy(分類策略)(估算的列是分類列,如NaN值等)

  Categorical Values Encoder(ce) -strategy(分類值編碼器策略)編譯分類變量的方法,例如標(biāo)簽編碼,實(shí)體模型,隨機(jī)投影,實(shí)體嵌入)

  Feature Selector(fs)– strategy (功能選擇器策略)(功能選擇的不同方法,如l1,方差,rf_feature_importance), threshold(閾值)(廢棄的功能的百分比)

  Estimator(est)–strategy(估計(jì)器策略)(用作估計(jì)器的不同算法,例如,LightGBM,xgboost等),params(參數(shù))(使用特定于算法的參數(shù)eg- max_depth,n_estimators等)

  以創(chuàng)建一個(gè)要優(yōu)化的超參數(shù)空間為例,在此先說明要優(yōu)化的所有參數(shù):

  要使用的算法:LightGBM

  LightGBM max_depth:[3,5,7,9]

  LightGBM n_estimators: [250,500,700,1000]

  功能選擇: [方差,l1,隨機(jī)森林功能重要性]

  缺失值插補(bǔ):數(shù)值(平均值,中位數(shù)),分類(NAN值)

  分類值編碼器:標(biāo)簽編碼,實(shí)體嵌入和隨機(jī)投影

  創(chuàng)建超參數(shù)空間前,需要記住的是超參數(shù)是鍵和值對(duì)應(yīng)的代碼字典,其中,值也是由語(yǔ)法給出的。

  {“search”:strategy,“space”:list},其中策略可以是““choice” ”或“uniform”,列表是值的列表。

  MLBox庫(kù)的打開方式  使用以下幾步找出從上面選擇最佳組合的過程:

  Step1:創(chuàng)建一個(gè)Optimizer類的對(duì)象,它的參數(shù)是“scoring”和“n_folds”。 評(píng)分是優(yōu)化超參數(shù)空間的指標(biāo),n_folds是交叉驗(yàn)證的文件夾個(gè)數(shù)。

  評(píng)分值

  MLBox庫(kù)的打開方式

  Step2:使用上面創(chuàng)建的對(duì)象的優(yōu)化函數(shù),它的參數(shù)分別是超參數(shù)空間、由train_test_split創(chuàng)建的字典、迭代次數(shù)。 此函數(shù)從超參數(shù)空間回歸最佳超參數(shù)。

  best=opt.optimise(space,data,40)

  3.預(yù)測(cè)

  運(yùn)行下面的指令安裝該子包內(nèi)的所有功能:

  from mlbox.prediction import *

  該子包使用優(yōu)化子包計(jì)算的最佳超參數(shù)來預(yù)測(cè)測(cè)試數(shù)據(jù)集。要對(duì)測(cè)試數(shù)據(jù)集進(jìn)行預(yù)測(cè),請(qǐng)執(zhí)行以下步驟。

  Step1:創(chuàng)建一個(gè)Predictor類的對(duì)象

  pred=Predictor()

  Step2:使用上面創(chuàng)建的對(duì)象的fit_predict方法,該方法以一組train_test_split創(chuàng)建的超參數(shù)和字典作為參數(shù)。

  pred.fit_predict(best,data)

  上述方法將功能重要性,偏移變量系數(shù)和最終預(yù)測(cè)保存到名為“save”的獨(dú)立文件夾中。

  使用MLBox構(gòu)建機(jī)器學(xué)習(xí)回歸器(Machine Learning Regressor)

  現(xiàn)在,我們將使用超參數(shù)優(yōu)化在7行代碼中構(gòu)建機(jī)器學(xué)習(xí)分類器。以解決大型商場(chǎng)銷售問題(Big Marts sales problem)為例。下載練習(xí)和測(cè)試文件并將它們保存在一個(gè)文件夾中。在不查看數(shù)據(jù)的情況下,使用MLBox庫(kù)來提交首個(gè)預(yù)測(cè)。 你可以在下面的代碼中找到該問題的預(yù)測(cè)。

  MLBox庫(kù)的打開方式

  以下是LightGBM計(jì)算出的功能重要性的圖像。

  MLBox庫(kù)的打開方式

  偏移(Drift)的基本理解

  偏移不常見,但卻很重要。關(guān)于它,應(yīng)當(dāng)用單獨(dú)的一篇文章去闡述, 但在此我將盡量把Drift_Thresholder的功能解釋清楚。

  一般來說,我們預(yù)設(shè)練習(xí)和測(cè)試數(shù)據(jù)集是通過相同的生成算法或過程創(chuàng)建的。但這個(gè)預(yù)設(shè)過于強(qiáng)大,現(xiàn)實(shí)世界中并非如此,數(shù)據(jù)發(fā)生器或過程可能會(huì)發(fā)生改變。 例如,在銷售預(yù)測(cè)模型中,客戶行為隨時(shí)間變化,生成的數(shù)據(jù)將與用于創(chuàng)建模型的數(shù)據(jù)不同。 這就叫做偏移。

  還需要注意的是,在數(shù)據(jù)集中,獨(dú)立功能和依賴功能都可能發(fā)生偏移。 當(dāng)獨(dú)立功能發(fā)生變化時(shí),稱為協(xié)變量;當(dāng)獨(dú)立和相關(guān)功能之間的關(guān)系發(fā)生變化時(shí),稱為概念偏移。 MLBox是處理協(xié)變量的。

  MLBox庫(kù)的打開方式

?

  

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

MLBox庫(kù)的打開方式下載

相關(guān)電子資料下載

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?