成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為了下個項目的質量!每個數據科學家都應該學會這兩種工具

開發 開發工具
為了更好地利用時間和資源,我決定使用一系列可用的在線工具來調試和分析機器學習模型。測試了幾個工具后,我成功縮減了清單:開發或改進機器學習模型時,每個數據科學家都應考慮這兩個超贊的工具。

本文轉載自公眾號“讀芯術”(ID:AI_Discovery)。

使用機器學習模型越久,就越能意識到,正確了解模型當下的運行目的及效果有多重要。在實踐中,即便是在最佳情況下,跟蹤模型的運行情況(尤其是在測試各種模型參數組合時)都十分繁瑣。大多數情況下,我都會構建自己的工具來調試和分析機器學習模型。

[[344901]]

最近,在為MAFAT的多普勒脈沖雷達分類挑戰設計各種模型的時候,我發覺自己手動構建模型調試工具就是在浪費時間,而搭建集成(組合大多數分類策略的機器學習模型,搭對了就會帶來極大效用)時尤為繁瑣。

創建集成的問題就是,各種模型及分類都需要讓策略奏效。這就意味著要訓練更多的模型、進行更多的分析、了解更多關于整體精度及模型性能的參數。同樣,這就要求我花更多的時間創建自己的調試工具和策略。

為了更好地利用時間和資源,我決定使用一系列可用的在線工具來調試和分析機器學習模型。測試了幾個工具后,我成功縮減了清單:開發或改進機器學習模型時,每個數據科學家都應考慮這兩個超贊的工具。 

Weights & Biases

為了下個項目的質量!每個數據科學家都應該學會這兩種工具

Weights &Biases圖表跟蹤驗證集內各種具有不同參數的模型的性能。Y軸表示精度,X軸表示訓練回合數。

Weights & Biases(W&B)是一家總部位于舊金山的公司,提供一系列能無縫融入現有或新項目的深度學習及機器學習工具。它主要是跟蹤項目中模型變化的實時性能,簡直太管用了。

我在做項目時,常常就追蹤問題手足無措:何時進行了哪些更改?這些更改對項目的各種評估指標是否產生了正面或負面影響?而W&B能用以多種方式存儲并可視化這些評估指標,其中最有效的就是圖表和表格:

 

為了下個項目的質量!每個數據科學家都應該學會這兩種工具

 

 

用W&B工具跟蹤和可視化各種指標以進行并排比較的示例

 

 

為了下個項目的質量!每個數據科學家都應該學會這兩種工具

模型數據存儲在可導出表格中,以便在W&B網站上進行排序和評估。

如你所見,折線圖表示在訓練期間使用不同指標跟蹤各種模型的性能。這樣便能進行無縫并排比較,以檢查過擬合或檢查驗證集上表現最佳的模型等。

W&B如何與項目關聯?

在W&B網站上創建賬戶后,必須在本地環境下安裝并登錄到個人頁面。

  1. !pip install --upgrade wandb 
  2. !wandb login <Your login code> 

深度學習或者機器學習工具不同,情況也可能不同。我用Keras,但其它項目的文檔會更清晰,也易于執行:

  1. #Import the package 
  2. import wandb 
  3. from wandb.keras import WandbCallback#Initialize the W&B object 
  4. wandb.init(project="tester")#Link the model with W&B’stracking metrics 
  5. model.fit(X_train, y_train, validationData=(X_test, y_test) epochs=config.epochs, callbacks=[WandbCallback()])model.save(os.path.join(wandb.run.dir,"model.h5")) 

訓練模型時,W&B帳戶會實時跟蹤和更新進度,在賬戶內能輕松分析和評估模型的性能。在這里,你可以選擇創建報告,提供更專業、更易理解的結果視圖,可以在其中覆蓋文本和其他視覺效果。

W&B十分有助于跟蹤模型的性能,在更改參數并嘗試各種技術時更是如此。實際上,這個說法絕不夸張。它確實能幫上大忙:OpenAI和Toyota Research這樣的大公司定期使用它,稱贊它是靈活且有效用的項目工具。

Uber的Manifold

[[344903]]

圖源:unsplash

我正在項目中創建集成。一個集成是不同算法的集合,每個算法就同一數據進行訓練并提供預測。集成的優勢在于,它提供了一系列不同的策略來尋找解決方案,并利用多數票使所有模型的分類民主化。這很有用,因為盡管單個模型可以很好地預測部分數據,但它可能會在其他部分不知所措。

在機器學習中,“集成就是數字力量”。為了讓集成表現良好,組成集成的各個模型必須能進行多樣化預測。多樣化預測,即不能所有模型都對某數據進行一模一樣的預測;它們應該能對不同數據進行準確預測。然而這也帶來了問題:你怎么知道集成進行的是多樣化預測呢?看看交通科技巨頭Uber的Manifold吧。

Uber的Manifold是個開源長期項目,旨在為機器學習提供調試的可視化工具(模型是什么樣子的都無所謂)。通俗地講,Manifold讓你能看見哪個模型在數據子集中表現不佳、哪些特性導致了表現不佳。

集成能幫大忙。它創建了一個Widget輸出,在Notebook就能交互以進行快速分析。注意,該工具目前僅在經典的Jupyter Notebook電腦上可用。它在Jupyter Lab或Google的Colab上不能運行。

Manifold使用k均值聚類——一種鄰近分組技術,將預測數據分為性能相似的片段。想象一下,這是將數據分成相似的子類,然后沿著每個分段繪制模型,其中模型越靠左,則在該分段上表現越好。隨機生成的示例中可以看到這一點:

為了下個項目的質量!每個數據科學家都應該學會這兩種工具

上述例子中有三個模型,輸入數據被分成四段。把對數損失(log-loss)作為性能指標,可以看到model_1在segment_0上的表現不佳,而model_2在segment_2上的表現不佳。線的形狀表示性能分布,線的高度表示對數損失下的相對數據點計數。例如,在segment_1的model_1上,對數損失為1.5,點的均值低,但十分密集。

Manifold還提供了功能歸因視圖:

為了下個項目的質量!每個數據科學家都應該學會這兩種工具

功能歸因視圖強調每個片段的功能分布。在上面的示例中,數據組0包含聚類2和3,將其與包含聚類0和1的數據組1進行比較。x軸是特征值,而y軸是原因的強度。Feature_0高亮顯示這些差異,而Feature_1高亮顯示特征值的直方圖。

那么,如何把Manifold融入項目?

Manifold還處在早期研發階段,還得繼續調bug。但是,這不該妨礙你在項目中使用它。就個人情況來說,我需要弄幾個安裝包才能在Jupyter Notebook上運行它。

  1. !jupyter nbextension install --py --sys-prefix widgetsnbextension 
  2. !jupyter nbextension enable --py --sys-prefix widgetsnbextension 
  3. !pip install mlvis!jupyter nbextension install --py --symlink --sys-prefix mlvis 
  4. !jupyter nbextension enable --py --sys-prefix mlvis 

僅僅安裝nbextention包是不夠的,我還必須啟用這些軟件包。可以在這里導入一些demo工具:

  1. from mlvis import Manifold 
  2. import sys, json, mathfrom random import uniform 

要使用Manifold框架,數據需要分成三組特定格式。第一組是所有必須在字典列表中的x值:

  1. #Example of x-values 
  2. x = [ 
  3.   {'feature_0': 21, 'feature_1': 'B'}, 
  4.   {'feature_0': 36, 'feature_1': 'A'} 

第二組是不同的模型預測,它必須是列表的列表,每個列表都是不同模型的預測:

  1. #Example of model predictions 
  2. yPred = [ 
  3.   [{'false': 0.1, 'true': 0.9}, {'false':0.8, 'true': 0.2}], 
  4.   [{'false': 0.3, 'true': 0.7}, {'false':0.9, 'true': 0.1}], 
  5.   [{'false': 0.6, 'true': 0.4}, {'false':0.4, 'true': 0.6}] 

最后一組是ground truth值或實際正確的y值,它們在列表值中:

  1. #Example of ground truth 
  2. yTrue = [ 
  3.   'true',  'false' 

數據一旦采用這種格式,值就可以輸入到Manifold對象中,操作進行Widget,有些類似于上面的例子:

  1. Manifold(props={'data': { 
  2.     'x': x, 
  3.     'yPred': yPred, 
  4.     'yTrue': yTrue 
  5. }}) 

然后使用Manifold就能直觀地評估不同模型對相同數據的表現了。這對于構建集成非常有幫助,因為它使我能夠了解哪些模型在哪里執行,哪些數據集群是模型最難分類的。Manifold同樣幫我評估了集成中每個模型的預測多樣性,使我能構建一個更強大、能分類一系列不同輸入數據的設備。

[[344904]]

圖源:unsplash

對我來說,上述兩種工具真的是越來越有用了。它們可以幫我應對這一挑戰并切實改善設備的性能,希望讀者也能用這些工具來創建更好的模型。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2018-03-01 14:30:22

數據科學概率分布

2021-03-17 08:27:23

數據科學家數據科學

2019-07-11 12:59:27

數據科學家概率分布統計

2020-09-29 17:15:41

數據科學技術

2020-08-11 06:51:58

Python編程語言

2017-08-04 15:53:10

大數據真偽數據科學家

2015-07-23 10:49:06

Python工具數據科學

2025-02-20 10:13:54

2020-12-14 12:54:07

數據類型數據分析數據科學

2020-11-02 13:44:35

算法數據科學Python

2016-08-02 17:00:12

Hadoop大數據系統

2019-12-13 07:58:34

數據科學數據科學家統計

2017-01-23 16:00:25

數據科學家大數據數學家

2020-06-28 07:46:34

MLDB數據庫機器學習

2021-04-08 10:15:46

數據工程師數據庫數據科學家

2016-05-11 10:36:16

數據科學家數據科學大數據

2017-04-12 09:34:30

數據科學家統計學家好習慣

2020-06-16 13:32:02

數據科學家大數據系統

2012-12-06 15:36:55

CIO

2017-10-18 11:32:44

機器學習無監督學習監督學習
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩视频在线第一区 | 午夜性视频| 久久精品一| 欧美精品a∨在线观看不卡 国产精品久久国产精品 | 超碰在线亚洲 | 色香蕉在线 | 中文字幕在线播放第一页 | 免费黄视频网站 | 欧美jizzhd精品欧美巨大免费 | 日韩电影一区 | 精品国产乱码久久久久久闺蜜 | aaa一区 | 天堂资源最新在线 | 国产成人久久av免费高清密臂 | 久久99网 | 亚洲国产精品人人爽夜夜爽 | av手机免费在线观看 | 成人精品视频免费 | 99久久电影 | 成人av网站在线观看 | 激情毛片 | 精品国产欧美日韩不卡在线观看 | 久久久国产一区二区三区 | 国产精品1 | 91直接看 | 亚州精品天堂中文字幕 | 国产成人精品一区二区三区网站观看 | 青草青草久热精品视频在线观看 | 久久草视频 | 日本成人在线网址 | 国产欧美在线一区 | 亚洲国产一区二区视频 | 精国产品一区二区三区 | 成人啊啊啊 | 亚洲一区欧美一区 | 国产成人av在线播放 | 亚洲一区国产精品 | 午夜激情网 | 国产一区二区三区高清 | 在线亚洲免费 | 亚洲视频在线观看 |