<label id="jgr5k"></label>
    <legend id="jgr5k"><track id="jgr5k"></track></legend>

    <sub id="jgr5k"></sub>
  1. <u id="jgr5k"></u>
      久草国产视频,91资源总站,在线免费看AV,丁香婷婷社区,久久精品99久久久久久久久,色天使av,无码探花,香蕉av在线
      您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
      此為臨時鏈接,僅用于文章預覽,將在時失效
      人工智能開發者 正文
      發私信給AI研習社-譯站
      發送

      0

      用于可解釋機器學習的 Python 庫

      本文作者: AI研習社-譯站 2020-08-18 18:17
      導語:由于對人工智能偏見的擔心日益凸顯,從業者解釋模型產出的預測結果的能力以及解釋模型自身運作機制的能力變的越來越重要。

      用于可解釋機器學習的 Python 庫

      字幕組雙語原文:用于可解釋機器學習的 Python 庫

      英語原文:Python Libraries for Interpretable Machine Learning

      翻譯:雷鋒字幕組(ZeroJ



      用于可解釋機器學習的 Python 庫

      由于對人工智能偏見的擔心日益凸顯,從業者解釋模型產出的預測結果的能力以及解釋模型自身運作機制的能力變的越來越重要。幸運的是,已經有許多python工具集被開發出來,用以解決上述問題。下文我將對現有4個建立的比較完善的翻譯和解釋機器學習模型的工具包做簡要的指導性描述。

      這些工具包都可以通過pip來進行安裝,擁有完善的文檔,并且強調通過可視化來提升可解釋性。

      yellowbrick 

      這個工具包本質上,是scikit-learn的一個擴展,提供了一些非常實用且好看的機器學習模型可視化工具。`visualiser`對象是核心接口,是一個scikit-learn估計器,所以如果你之前熟悉scikit-learn的工作流程,那么將對此非常熟悉。

      這個可視化工具覆蓋了模型選擇,特征重要性和模型性能分析等方面。

      讓我們看幾個簡短的例子。

      該工具包可以通過pip安裝,

      pip install yellowbrick

      為了展示工具包中的一些特性,我們將利用scikit-learn中的紅酒識別數據集。這個數據集包含13個特征以及3個目標類別。可以通過scikit-learn直接加載。在下面的代碼里我引入數據集,并把轉換成pandas dataframe。數據集可以直接被用來訓練模型,并不需要其他的數據處理。

      import pandas as pd

      from sklearn import datasets

      wine_data = datasets.load_wine()

      df_wine = pd.DataFrame(wine_data.data,columns=wine_data.feature_names)

      df_wine['target'] = pd.Series(wine_data.target)

      利用scikit-learn進一步將數據分為測試集合和訓練集。

      import pandas as pd

      from sklearn import datasets

      wine_data = datasets.load_wine()

      df_wine = pd.DataFrame(wine_data.data,columns=wine_data.feature_names)

      df_wine['target'] = pd.Series(wine_data.target)

      接下來,我們用yellowbrick的visualiser觀察特征之間的相關性。

      import pandas as pd

      from sklearn import datasets

      wine_data = datasets.load_wine()

      df_wine = pd.DataFrame(wine_data.data,columns=wine_data.feature_names)

      df_wine['target'] = pd.Series(wine_data.target)


      用于可解釋機器學習的 Python 庫

      現在,我們擬合一個隨機森林分類器,并通過另一個visualiser評價其性能。

      from yellowbrick.classifier import ClassificationReport

      from sklearn.ensemble import RandomForestClassifier

      model =  RandomForestClassifier()

      visualizer = ClassificationReport(model, size=(1080, 720))

      visualizer.fit(X_train, y_train)

      visualizer.score(X_test, y_test)

      visualizer.poof()


      用于可解釋機器學習的 Python 庫

      ELI5

      ELI5是另一個可視化工具包,在模型機器學習模型調試和解釋其產出的預測結果方面非常有用。它能夠同大多數通用的python機器學習工具包一起使用,包括scikit-learn和XGBoost,以及Keras。

      讓我們用ELI5來觀察一下上面我們訓練的模型的特征重要性。

      import eli5

      eli5.show_weights(model, feature_names = X.columns.tolist())


      用于可解釋機器學習的 Python 庫

      默認的,`show_weights`方法采用GAIN來計算權重,但你也可以傳入其他`importance_type`來控制特征重要性的計算。

      也可以通過`show_prediction`來觀察某一個樣本的預測結果的原因。

      from eli5 import show_predictionshow_prediction(model, X_train.iloc[1], feature_names = X.columns.tolist(), 

                      show_feature_values=True)


      用于可解釋機器學習的 Python 庫

      LIME

      LIME(模型無關局部可解釋)是一個用來解釋模型做出的預測的工具包。LIME支持對多種分類器的單個樣本預測進行解釋,并且原生支持scikit-learn。

      下面讓我們用LIME對上述我們訓練的模型的一些預測進行解釋。

      LIME可以用pip進行安裝

      pip install lime

      首先我們構建explainer,它通過訓練數據集數組,模型中用到的特征名稱和目標變量的類別名稱作為初始化參數。

      import lime.lime_tabular

      explainer = lime.lime_tabular.LimeTabularExplainer(X_train.values,                                            feature_names=X_train.columns.values.tolist(),                                        class_names=y_train.unique())

      接下來,我們創建一個lambda函數,它表示用模型預測一個樣本。詳見這個優秀的,更有深度的LIME教程。

      predict_fn = lambda x: model.predict_proba(x).astype(float)

      隨后,我們利用explainer解釋指定樣本的預測結果。其結果如下。LIME通過可視化的結果,展示特征如果對得到的預測結果產生影響。

      exp = explainer.explain_instance(X_test.values[0], predict_fn, num_features=6)

      exp.show_in_notebook(show_all=False)


      用于可解釋機器學習的 Python 庫

      MLxtend

      這個工具包包含一系列機器學習可用的工具函數。包括通過stacking和voting構建的分類器,模型的評估,特征的提取、特征工程和可視化。除了該工具包的文檔,這篇論文也是理解工具包更多細節的好資源。

      下面讓我們利用MLxtend來比較Ensemble后的分類器的分類邊界與組成他的子分類器的分類邊界有什么不同。

      同樣MLxtend也可以通過pip安裝。

      pip install mlxtend

      引入一些工具包,

      from mlxtend.plotting import plot_decision_regions

      from mlxtend.classifier import EnsembleVoteClassifier

      import matplotlib.gridspec as gridspec

      import itertools

      from sklearn import model_selection

      from sklearn.linear_model import LogisticRegression

      from sklearn.naive_bayes import GaussianNB

      from sklearn.ensemble import RandomForestClassifier

      下面的可視化工具一次只能接受兩個特征作為輸入,所以我們創建了數組['proline', 'color_intensity']。因為這兩個特征在上述利用ELI5分析時,具有最高的特征重要性。

      X_train_ml = X_train[['proline', 'color_intensity']].values

      y_train_ml = y_train.values

      接下來,我們創建一些分類器,并在訓練數據上進行擬合,通過MLxtend可視化他們的決策邊界。輸出來自下面的代碼。

      clf1 = LogisticRegression(random_state=1)

      clf2 = RandomForestClassifier(random_state=1)

      clf3 = GaussianNB()

      eclf = EnsembleVoteClassifier(clfs=[clf1, clf2, clf3], weights=[1,1,1])

      value=1.5

      width=0.75

      gs = gridspec.GridSpec(2,2)

      fig = plt.figure(figsize=(10,8))

      labels = ['Logistic Regression', 'Random Forest', 'Naive Bayes', 'Ensemble']

      for clf, lab, grd in zip([clf1, clf2, clf3, eclf],

                               labels,

                               itertools.product([0, 1], repeat=2)):

                               

          clf.fit(X_train_ml, y_train_ml)

          ax = plt.subplot(gs[grd[0], grd[1]])

          fig = plot_decision_regions(X=X_train_ml, y=y_train_ml, clf=clf)

          plt.title(lab)


      用于可解釋機器學習的 Python 庫

      以上絕對不是模型可解釋和可視化工具包的完整列表。這篇博文羅列了包含其他有用的工具包的列表,值得一試。

      感謝閱讀!


      雷鋒字幕組是一個由 AI 愛好者組成的翻譯團隊,匯聚五百多位志愿者的力量,分享最新的海外AI資訊,交流關于人工智能技術領域的行業變革與技術創新的見解。

      團隊成員有大數據專家、算法工程師、圖像處理工程師、產品經理、產品運營、IT咨詢人、在校師生;志愿者們來自IBM、AVL、Adobe、阿里、百度等知名企業,北大、清華、港大、中科院、南卡羅萊納大學、早稻田大學等海內外高校研究所。

      如果,你也是位熱愛分享的AI愛好者。歡迎與雷鋒字幕組一起,學習新知,分享成長。

      用于可解釋機器學習的 Python 庫

      雷鋒網雷鋒網

      雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知

      用于可解釋機器學習的 Python 庫

      分享:
      相關文章

      知情人士

      AI研習社(yanxishe.com)譯站頻道,傳播前沿人工智能知識,讓語言不再成為學習知識的門檻。(原雷鋒字幕組)
      當月熱門文章
      最新文章
      請填寫申請人資料
      姓名
      電話
      郵箱
      微信號
      作品鏈接
      個人簡介
      為了您的賬戶安全,請驗證郵箱
      您的郵箱還未驗證,完成可獲20積分喲!
      請驗證您的郵箱
      立即驗證
      完善賬號信息
      您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
      立即設置 以后再說
      主站蜘蛛池模板: 成人亚洲欧美成αⅴ人在线观看| 激情在线网| 99久久婷婷国产综合精品| 亚洲VA中文字幕无码毛片| 成全影院电视剧在线观看| 99精品丰满人妻无码| 国产成人a亚洲精| 777爽死你无码免费看一二区| 韩国无码一区二区三区| 久久综合老鸭窝色综合久久| 久久免费午夜福利院| 欧美黑人巨大精品videos| 国产精品流白浆在线观看| 清新县| 老司机精品影院一区二区三区| 性欧美疯狂xxxxbbbb| 国产精品黄在线观看免费软件| 亚洲国产一区二区a毛片日本| 丰满少妇高潮惨叫久久久| 欧美精品一卡| 久久中文字幕人妻丝袜系列| 天天摸日日摸狠狠添| 色欲人妻aaaaaaa无码| 亚洲无码一区二区三区蜜桃| 欧美人妖性爱| 91热爆| 51国产偷自视频区视频| 日产精品久久久久久久| 欧美激情综合| www.亚洲精品长腿丝袜| 国产精品久久久久久久久久久久人四虎| 久久精品人人做人人爽97| 91丝袜在线| 武装少女在线观看高清完整版免费| 久久久久人妻一区精品性色av| 亚洲一区av无码少妇电影| 麻豆精品一区二正一三区| 麻豆果冻传媒精品| 日本不卡在线一区二区| 宅男噜噜噜66一区二区| 久久精品国产久精国产果冻传媒|