使用Microsoft的最新AI資料分析工具:Data Formulator

使用Microsoft的最新AI資料分析工具:Data Formulator

在當今資料驅動的世界中,每位研究人員和分析師都需要能夠從原始資料中提取快速資訊,並將其以視覺化形式呈現。這正是微軟全新 AI 工具 Data Formulator 能夠助您一臂之力的地方。它透過將資料呈現為引人入勝的圖表和圖形,簡化了資料視覺化,尤其適合那些對資料操作和視覺化工具不太瞭解的人。在本文中,我們將深入探討微軟的 Data Formulator 工具並學習如何使用它。

什麼是Data Formulator?

Data Formulator 是由微軟研究院開發的一款開源應用程式,它使用 LLM 作為一種手段來轉換資料並促進更快的資料視覺化。Data Formulator 與傳統的基於聊天的 AI 工具的不同之處在於其混合互動。它擁有直觀的使用者介面,補充了自然語言輸入和簡單的拖放互動。

Data Formulator

Source: Microsoft

該工具的核心設計旨在彌合視覺化創意與實際建立之間的巨大差距。傳統的工具要麼迫使使用者編寫複雜的程式碼,要麼從層出不窮的選單選項中進行選擇,以直觀地呈現資料。相比之下,Data Formulator 提供與使用者的即時互動,以表達視覺化意圖,而繁重的轉換工作則由 AI 在後臺完成。

Microsoft Data Formulator的主要功能

Data Formulator 的一些主要功能如下:

  • 混合互動模型:它兼具兩者的優勢:透過直接操作(拖放)實現精確性,並透過自然語言對話提示實現靈活性。這可以幫助使用者直接新增圖表型別的視覺化,然後透過文字闡明難以表達的需求。
  • AI 驅動的資料轉換:當使用者請求資料集中不存在的欄位時,AI 將建立新的計算欄位。它還會聚合資料或應用篩選器以滿足視覺化規範。
  • 多資料來源支援:Data Formulator 支援多種資料來源,例如 CSV 檔案、資料庫(MySQL、DuckDB)以及 Azure Data Explorer 等雲服務。外部資料載入器可以輕鬆整合,即使是昂貴的企業資料來源也是如此。
  • 大型資料集處理:自 0.2 版以來,Data Formulator 透過將資料上傳到本地 DuckDB 來高效處理大型資料集。然後,它會開始獲取視覺化所需的資料,從而大大縮短等待時間。
  • 資料執行緒和錨定:該工具將所有視覺化嘗試記錄在“資料執行緒”下,允許使用者在探索過程中回溯其路徑。它可以將中間資料集儲存為錨點,以便進一步進行分析,從而消除不必要的混亂並提高效率。

Data Formulator的架構

Data Formulator 的模組化架構透過以下幾個層級提供靈活性和可擴充套件性:

  • 前端層:前端採用 TypeScript 和 React 等現代 Web 技術構建,允許使用者上傳或預覽資料集。它允許使用者透過拖放操作新增視覺化編碼、輸入自然語言提示以及檢視生成的視覺化效果和程式碼。
  • 後端處理引擎:後端系統的這個基於 Python 的部分負責載入和預處理資料,並與各種 LLM 提供程式進行通訊。然後,它會相應地生成用於轉換資料的程式碼,並透過 Altair/Vega-Lite 庫渲染視覺化效果。
  • AI 整合層:該框架的這一層負責 LLM 提示工程、響應處理、程式碼驗證和執行。它還負責處理錯誤和除錯協助,以及迭代對話的上下文管理。
  • 資料管理層:它負責將工具連線到多個資料來源並在本地資料庫 (DuckDB) 上進行操作。它允許快取並最終最佳化資料和外部資料載入器的實現。

Data Formulator 模組化架構

Source: Microsoft

Data Formulator如何運作?

Data Formulator 將使用者互動與 AI 驅動的資料處理功能相結合,具體流程如下:

步驟 1:意圖規範

使用者選擇圖表型別,並將資料欄位拖放到視覺化屬性(X 軸、Y 軸、顏色、大小等)中。如果原始資料集中不存在引用欄位,則這些欄位將被視為需要進行資料轉換的提示。

步驟 2:AI解釋

系統會遵循使用者對視覺化編碼的規範以及任何自由文字的自然語言提示。它會嘗試透過分析資料型別和欄位之間的關係來準確理解使用者想要視覺化的內容。

步驟 3:程式碼生成

解釋完成後,Data Formulator 會生成所需的資料轉換程式碼。在大多數情況下,它會使用 Python 語言和 Pandas 或 Polars 來構建必要的派生欄位、聚合和過濾操作。

步驟 4:執行和驗證

生成的程式碼隨後將使用資料集執行,並利用內建的錯誤處理功能查詢和修復常見錯誤。如果無法執行,AI 會返回並迭代地重新編寫程式碼。

步驟 5:視覺化建立

資料正確轉換後,系統會生成視覺化規範,並據此生成最終圖表。

步驟 6:迭代最佳化

使用者可以提供反饋、提出後續問題或迭代地更改編碼,從而隨著時間的推移不斷最佳化視覺化,從而建立自然的迭代工作流程。

Data Formulator運作原理

Source: Microsoft

Data Formulator入門

開始使用 Data Formulator 有三種方法。

方法 1:透過Python安裝

開始使用 Data Formulator 最簡單的方法之一是透過 PIP 安裝。具體方法如下:

  1. 在虛擬環境中安裝 Data Formulator。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
pip install data_formulator
pip install data_formulator
pip install data_formulator
  1. 您可以使用以下任意命令啟動該應用程式:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
data_formulator
data_formulator
data_formulator

或者

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
python -m data_formulator
python -m data_formulator
python -m data_formulator
  1. 如果需要,您還可以指定自定義埠。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
python -m data_formulator --port 8080
python -m data_formulator --port 8080
python -m data_formulator --port 8080

方法 2:透過GitHub Codespaces

Data Formulator 工具可以在 GitHub Codespaces 中完全零設定環境下執行:

  1. 訪問 Data Formulator GitHub 程式碼庫
  2. 點選“Open in GitHub Codespaces”。
  3. 等待環境初始化(約 5 分鐘)。
  4. 您可以立即開始使用 Data Formulator。

方法 3:透過開發者模式

對於希望掌控整個開發環境的使用者,可以按照以下步驟操作:

  1. 建立程式碼庫的 git 克隆:https://github.com/microsoft/data-formulator
  2. 按照 DEVELOPMENT.md 中的說明進行完整設定。
  3. 設定您喜歡的開發環境。
  4. 透過選擇輸入您首選 LLM 的 API 金鑰的策略來配置 AI 模型。
  5. 以 CSV 檔案的形式上傳資料,或將其連線到資料來源。
  6. 開始從使用者介面進行視覺化。

建立 codespace

Data Formulator的實際應用

現在,讓我們嘗試使用資料公式器 (Data Formulator) 構建一個銷售績效儀表板。為此,我們將使用 GitHub CodeSpaces 啟動一個專用的開發環境。

步驟 1:開啟 GitHub CodeSpaces,然後點選 GitHub 程式碼庫上的綠色按鈕,這將為您建立一個單獨的工作區。

開啟 GitHub CodeSpaces

步驟 2:初始化 CodeSpace,通常需要 2-5 分鐘。Github CodeSpace 建立完成後,它將如下所示:

初始化 CodeSpace

步驟 3:在 Codespace 的終端中,執行以下命令:

python3 -m data_formulator

這將顯示如下輸出:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Starting server on port 3000
...
Open http://localhost:3000
Starting server on port 3000 ... Open http://localhost:3000
Starting server on port 3000
...
Open http://localhost:3000

步驟 4:在 CodeSpaces 工具欄中,點選“Port”。這將在單獨的瀏覽器視窗中開啟您的介面。

瀏覽器開啟Data Formulator

步驟 5:在這裡,您可以選擇您喜歡的金鑰型別、模型名稱,並設定用於建立儀表板的金鑰。

金鑰型別、模型名稱和key

步驟 6:上傳資料集。在我們的示例中,我上傳的是 supermarket_sales.csv 資料進行分析。

步驟 7:對於基本視覺化,您可以從所有選項中選擇條形圖,然後指定 x 軸和 y 軸的值。為了便於分析,我將分店指定為 x 軸,將總計指定為 y 軸。以下是資料公式器為我建立的圖表。

資料視覺化

步驟 8:對於其他 AI 計算,您可以選擇 x 軸和 y 軸上的其他欄位。然後新增提示並計算公式。例如,我將在提示框中輸入“Sum the total sales for each city(彙總每個城市的總銷售額)”,然後點選“Formulate”。

彙總每個城市的總銷售額

步驟 9:您可以使用自定義儀表板建立各種其他型別的圖表和視覺化效果,並對資料進行出色的分析。

各種其他型別的圖表和視覺化效果

Data Formulator的用例

微軟的 Data Formulator 在各個領域都擁有極高的實用性,因為它支援 AI 驅動的探索和視覺化。其一些最突出的用例包括:

  • 商業智慧和報告:Data Formulator 憑藉其強大的執行儀表板和運營報告脫穎而出。業務分析師無需任何技術專業知識,即可立即將銷售資料、財務指標或運營 KPI 轉換為視覺化和展示形式。
  • 學術研究和分析:在研究領域,Data Formulator 可協助研究複雜的資料集並生成可用於釋出的視覺化效果。由於其迭代特性,該工具支援學術研究中常見的探索性資料分析工作流程。
  • 營銷分析:藉助 Data Formulator,營銷專業人員可以分析營銷活動的效果、客戶細分和轉化漏斗。計算欄位使指標計算變得簡單。例如,無需任何複雜的公式即可計算客戶生命週期價值、留存率和營銷活動投資回報率。
  • 財務分析:財務分析師可以構建複雜的模型,用於風險衡量、投資組合分析和績效跟蹤。它可以處理大型資料集並連線到即時資料。因此,它可以用於分析市場資料、交易模式和財務預測。

Data Formulator的優勢

Data Formulator 致力於最大限度地提高資料的可訪問性、速度和智慧資料處理能力。

  • 資料分析的大眾化:Data Formulator 最大的優勢在於它讓非技術使用者也能真正使用高階資料視覺化。它無需程式設計技能即可直接分析資料,無需藉助技術資源。
  • 快速原型設計和迭代:對話式介面讓使用者可以快速考慮各種視覺化方法。使用者可以簡要分析想法,對圖表進行最後的潤色,並檢視其他資料檢視方式。該工具顯著縮短了從問題到洞察所需的時間。
  • 智慧資料轉換:普通工具需要使用者自行準備資料,而 Data Formulator 可以處理複雜的轉換和聚合操作。它會自動根據使用者的指令進行計算,從而節省原本用於手動資料整理的時間。
  • 透明性和可解釋性:該系統為所有轉換操作生成易於理解的程式碼。它使使用者能夠更輕鬆地安全地確定視覺化的邏輯,從而建立信任並進行學習。
  • 經濟高效的解決方案:作為一款開源工具,Data Formulator 提供企業級功能,且無需任何許可成本。組織還可以內部部署該工具,從而完全控制資料和任何自定義設定。

Data Formulator的侷限性

儘管 Data Formulator 正在克服一些重大挑戰,但它也存在一些侷限性,例如:

  • AI 模型依賴性:Data Formulator 的效率取決於 AI 模型的特定能力。複雜的分析任務可能需要昂貴的高階模型,甚至可能需要最優秀的模型。
  • 視覺化型別有限:它支援標準圖表型別和專用視覺化,例如網路分析、地理空間對映和其他統計繪圖。
  • 在大型資料集上的可操作性:雖然它在大型資料集上表現更佳,但使用 DuckDB 的實現在處理超大型資料集時仍然面臨瓶頸。在資料載入的早期階段,這些資料集通常以 TB 為單位。
  • 自然語言的歧義性:複雜的分析請求可能會被 AI 錯誤地解釋,從而導致錯誤的轉換。使用者應該給出清晰、準確的提示,這對於缺乏技術技能的使用者來說通常是一項艱鉅的任務。
  • 隱私和安全注意事項:雲端 AI 模型可能存在將敏感資料傳輸至外部服務的風險。具有嚴格資料治理政策的組織可能更傾向於部署本地模型或採取必要的安全措施。

小結

微軟透過 Data Formulator 工具,在提升資料分析和資料視覺化的可訪問性方面樹立了里程碑。透過將人工智慧與直觀的使用者介面相結合,該研究團隊開發出一款能夠彌合資料複雜性與分析洞察之間差距的工具。透過程式碼生成自動完成複雜的資料轉換,該工具能夠滿足所有使用者的需求。

Data Formulator 為希望自行進行資料分析和視覺化的組織提供了一個極具吸引力且經濟高效的解決方案。隨著人工智慧的發展,像 Data Formulator 這樣的工具將進一步縮短從提出資料問題到獲得答案的時間。

評論留言