• <button id="eiyoe"><acronym id="eiyoe"></acronym></button>
    <em id="eiyoe"></em>

  • <rp id="eiyoe"><acronym id="eiyoe"><input id="eiyoe"></input></acronym></rp>
      查看: 1716|回復: 0
      上一主題 下一主題

      python數據挖掘使用Evidently創建機器學習模型儀表板

      80572

      主題

      0

      好友

      積分

      離線 發信

      跳轉到指定樓層
      樓主
      發表于 2021-11-26 00:39 | 只看該作者 | 倒序瀏覽
      目錄
      • 1、安裝包
      • 2、導入所需的庫
      • 3、加載數據集
      • 4、創建模型
      • 5、創建儀表板
      • 6、可用報告類型
        • 1)數據漂移
        • 2)數值目標漂移
        • 3)分類目標漂移
        • 4)回歸模型性能
        • 5)分類模型性能
        • 6)概率分類模型性能

      解釋機器學習模型是一個困難的過程,因為通常大多數模型都是一個黑匣子,我們不知道模型內部發生了什么。創建不同類型的可視化有助于理解模型是如何執行的,但是很少有庫可以用來解釋模型是如何工作的。

      Evidently 是一個開源 Python 庫,用于創建交互式可視化報告、儀表板和 JSON 配置文件,有助于在驗證和預測期間分析機器學習模型。它可以創建 6 種不同類型的報告,這些報告與數據漂移、分類或回歸的模型性能等有關。

      讓我們開始吧

      1、安裝包

      使用 pip 軟件包管理器安裝,運行

      $ pip install evidently
      

      該工具允許在 Jupyter notebook 中以及作為單獨的HTML文件構建交互式報告。如果你只想將交互式報告生成為HTML文件或導出為JSON配置文件,則安裝現已完成。

      為了能夠在 Jupyter notebook 中構建交互式報告,我們使用Jupyter nbextension。如果想在 Jupyter notebook 中創建報告,那么在安裝之后,您應該在 terminal 中運行以下兩個命令。

      要安裝 jupyter Nbextion,請運行:

      $ jupyter nbextension install --sys-prefix --symlink --overwrite --py evidently
      

      運行

      jupyter nbextension enable evidently --py --sys-prefix
      

      有一點需要注意:安裝后單次運行就足夠了。無需每次都重復最后兩個命令。

      2、導入所需的庫

      在這一步中,我們將導入創建ML模型所需的庫。我們還將導入用于創建用于分析模型性能的儀表板的庫。此外,我們將導入 pandas 以加載數據集。

      import pandas as pd
      import numpy as np
      from sklearn.ensemble import RandomForestRegressor
      from evidently.dashboard import Dashboard
      from evidently.tabs import RegressionPerformanceTab
      from evidently.model_profile import Profile
      from evidently.profile_sections import RegressionPerformanceProfileSection
      

      3、加載數據集

      在這一步中,我們將加載數據并將其分離為參考數據和預測數據。

      raw_data = pd.read_csv('/content/day.csv', header = 0, sep = ',', parse_dates=['dteday'])
      ref_data = raw_data[:120]
      prod_data = raw_data[120:150]
      ref_data.head()
      

      4、創建模型

      在這一步中,我們將創建機器學習模型,對于這個特定的數據集,我們將使用隨機森林回歸模型。

      target = 'cnt'
      datetime = 'dteday'
      numerical_features = ['mnth', 'temp', 'atemp', 'hum', 'windspeed']
      categorical_features = ['season', 'holiday', 'weekday', 'workingday', 'weathersit',]
      features = numerical_features + categorical_features
      model = RandomForestRegressor(random_state = 0)
      model.fit(ref_data[features], ref_data[target])
      ref_data['prediction']  = model.predict(ref_data[features])
      prod_data['prediction'] = model.predict(prod_data[features])
      

      5、創建儀表板

      在這一步中,我們將創建儀表板來解釋模型性能并分析模型的不同屬性,如 MAE、MAPE、誤差分布等。

      column_mapping = {}
      column_mapping['target'] = target
      column_mapping['prediction'] = 'prediction'
      column_mapping['datetime'] = datetime
      column_mapping['numerical_features'] = numerical_features
      column_mapping['categorical_features'] = categorical_features
      dashboard = Dashboard(tabs=[RegressionPerformanceTab])
      dashboard .calculate(ref_data, prod_data, column_mapping=column_mapping)
      dashboard.save('bike_sharing_demand_model_perfomance.html')
      

      在上圖中,可以清楚地看到顯示模型性能的報告,可以使用上述代碼下載并創建的 HTML 報告。

      6、可用報告類型

      1)數據漂移

      檢測特征分布的變化

      2)數值目標漂移

      檢測數值目標和特征行為的變化。

      3)分類目標漂移

      檢測分類目標和特征行為的變化

      4)回歸模型性能

      分析回歸模型的性能和模型誤差

      5)分類模型性能

      分析分類模型的性能和錯誤。適用于二元和多類模型

      6)概率分類模型性能

      分析概率分類模型的性能、模型校準的質量和模型錯誤。適用于二元和多類模型。

      以上就是python數據挖掘使用Evidently創建機器學習模型儀表板的詳細內容,更多關于Evidently創建機器學習模型儀表板的資料請關注腳本之家其它相關文章!

      來源:http://www.jb51.net/article/229896.htm