編者按:在KDD 2017上,Google推出基于TensorFlow的可擴展機器學習平臺TFX,主打管理數據、訓練模型、模型評估和模型服務四塊內容。而今天,TensorFlow宣布開源TXF的一個重要組件:“數據驗證(tf.DataValidation)”,可幫助開發人員更好地認識數據,并將其用于機器學習。
ML算法及其性能一直是學術界和工業界關注的一個重點,如果輸入數據有誤,所有的優化工作就會付諸東流。在數據量較少的時候,理解和驗證數據只是一項微不足道的任務,但是在實踐中,研究人員使用的數據量往往非常龐大,這就給手動檢查造成了巨大壓力。因此,自動化數據分析、驗證和監管是有必要的。
TFDV(數據驗證)是TFX平臺的一部分,它也是Google每天用來分析和驗證數PB數據的技術。鑒于此前它在數據糾錯上一直有不錯的表現,Google相信,TFDV也可以被用戶作為維持ML模型性能的一個好工具。
在設計TFDV的早期,Google就已經考慮到了在筆記本電腦環境中使用它的需求,所以對于硬件要求,大家可以放寬心。
計算描述性數據統計
TFDV可以計算描述性統計數據,根據存在的特征和值分布的形狀快速概述數據。這些統計信息有助于開發人員調查和了解他們的數據,并據此推斷數據模式。
用TFDV計算統計信息:
stats = tfdv.generate_statistics_from_tfrecord(data_location=path)
可視化:
推斷數據模式
所謂數據模式,就是描述數據的預期性能,它可以包括:
預計將出現哪些特征
它們的類型
每個樣本中,一個特征有幾個值
所有樣本中,每個特征的出現幾率
特征的預期域
簡而言之,模式描述了對“正確”數據的期望,因此可被用于檢測數據中的錯誤。但是在實踐中,編寫模式可能是非常繁瑣的,尤其是對于具有大量特征的數據集。TFDV提供了一種基于描述性統計信息,生成旨在反映數據穩定特征的模式的方法:
#根據統計信息推斷模式
schema = tfdv.infer_schema(train_stats)
#以表格格式顯示內聯模式
tfdv.display_schema(schema)
上圖是個簡單的可視化,列出了數據集中的每個特征以及它在編碼模式下的主要特征。
驗證新數據
給定一個模式,TFDV可以根據模式中的期望驗證一組新數據。
#統計一組新數據
new_stats = tfdv.generate_statistics_from_csv(NEW_DATA)
#比較新數據如何符合模式
anomalies = tfdv.validate_statistics(new_stats, schema)
#顯示內聯異常
tfdv.display_anomalies(異常)
上述異常報告了新數據和模式之間的差別
驗證持續添加的數據
對于數據集中不斷增加的新數據,我們需要用原模式對它們進行驗證。但是,在常規設置中,這個模式每個一段時間都會維護一次,它基于統計信息,而統計信息又會受新加入的數據影響。因此,之前我們推斷的模式只是原始模式,它還必須要能隨著時間推移不斷變化。
用validate_statistics驗證新添加的數據
如果想可視化不同數據集(不同日期的數據集)的統計數據,用visualize_statistics:
用Facets可視化兩組數據的比較,示例:DAY1、DAY2票價對比
TFDV還可以檢測連續版本訓練數據之間的分布變化,這有助于對比連續版本數據集之間的統計信息,如果發現有刪改/添加的情況,應及時在檢查數據異常時,更新信息。此外,TFDV還能檢查訓練數據和服務系統觀察到的數據之間的特征值/分布差異,并用Facets可視化。
Github:github.com/tensorflow/data-validation
-
機器學習
+關注
關注
66文章
8438瀏覽量
133024 -
數據集
+關注
關注
4文章
1209瀏覽量
24810 -
tensorflow
+關注
關注
13文章
329瀏覽量
60615
原文標題:TensorFlow新庫TFDV:大規模理解、驗證和監控你的ML數據
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論