#Vol.寫給自己的教程
#中醫數據分析
#數據挖掘
#中醫傳承
#Obsidian
人工智能
嘿,當你擁有了一個醫案數據庫後,你會做什麼呢?
不知不覺間,跟隨導師抄方積累醫案文字已近十萬字符,當醫案數據積累到一定規模,一個自然的想法便湧現了出來:是時候讓這些寶貴的經驗 “說話” 了!
在此,分享我梳理的中醫處方數據分析框架與實踐思路:
一、制定中醫處方數據分析框架#
步驟 | 中醫數據問題 | 應對策略 | 工具 / 技術 |
---|---|---|---|
1. 數據收集 | - 病案信息非結構化(自由文本) - 舌影像記錄標準不一 | - 結構化錄入:設計標準化記錄病案信息、臨床報告 - 影像標準化:統一舌象採集設備、方法儲存規範 | - 製作中醫電子病案系統(TCM EMR) - 標準化影像採集設備與流程 |
2. 數據清洗 | - 術語歧異:同症異名(如 "發熱" 與 "身熱") - 單位混雜:克、支、袋等混用 - 信息缺失:證型、舌脈、症候記錄不全 - 主觀性強:證型判定依賴醫師經驗 - 處方複雜:復診藥物加減因素多樣 | - 中醫術語標準化 - 證素提取:分解證型的基本要素 - 劑量單位統一用 “克” - 基於辨證邏輯的缺失值填充 / 或留空值 - 明確區分首診基礎方,與復診加減方 | - WHO 國際標準中醫術語 2022 - 鄧鐵濤主編《中醫診斷學》 - 復刻朱文峰教授《中醫辨證機》 |
3. 特徵工程 | - 多維關聯複雜:症侯↔證素↔證型↔方劑 | - 構建關聯網絡:症侯 - 證型網絡、症侯 - 方劑網路 - 計算方劑相似度:如 Jaccard 指數 | - 數據挖掘 - 複雜網絡分析 |
4. 分析建模 | - 模型需可解釋:符合中醫辨證邏輯 - 小樣本問題 | - 證型分類模型(SVM + 中醫規則引擎) - 核心處方推薦 | - 關聯規則算法 |
5. 結果解讀 | - 需符合中醫理論體系 - 重視個體化差異 | - 理論驗證:將模型輸出結果與中醫理論和導師經驗對照 - 真實案例回溯:在 EMR 中匹配相似案例進行自身對照驗證 | - 中醫電子病案系統(TCM EMR)回溯 - 專家評議 |
當前局限與待探索方向
- 處方加減與療效關聯: 复診藥物加減的複雜性與具體療效的量化評估關聯難度大,需要更深入的 “療效 - 處方” 關聯規則挖掘。
二、提取數據#
分析的第一步,是將積累的病案轉化為結構化數據。我的做法是:
- 構建中醫電子病案庫 (TCM EMR): 我選擇使用 Obsidian 管理醫案,將每份病案存儲為結構化的 .md 文件。便於後續的信息提取和鏈接。
- 制定關鍵字段提取標準: 這是最核心、影響結果質量的關鍵步驟!需要明確定義從病案文本中提取哪些信息。我設計的 CSV 表頭包含:
- 患者匿名化編號
- 基線資料:性別、年齡
- 診斷信息:主病、兼病
- 辨證信息:證素、證候、舌象、脈象
- 處方信息:處方組成、藥物劑量 (統一為克)
例如:
此數據僅作為示範,並非真實數據。
三、巧用 AI:加速中醫處方的數據挖掘#
面對結構化的 CSV 數據,如何高效進行分析?
我的秘訣是通過 AI 協助製作 python 腳本,詳細方法可參考我之前的博文:AI 溝通指南:如何正確向 AI 提問?。
核心思路與過程:
- 首先,明確最終目標!
- 數據探查:首先讓 AI 分析 CSV 文件,理解數據結構、字段含義,提出建議與注意事項。
- 提出具體需求:清晰描述希望 AI 用 Python (或 R 等) 寫出具體代碼,獲取 AI 生成的代碼,在自己的環境跑一遍。
- 反饋與優化:運行結果不理想?檢查錯誤,分析原因,修改 Prompt。
- 循環迭代: 重複 “修改 Prompt -> 生成新代碼 -> 運行測試 -> 反饋” 的過程,直到代碼輸出完全符合你的分析預期。這個過程本身也是深化對數據和問題理解的過程。
部分代碼示例:
如果覺得代碼無趣,可以讓 GPT 將其個性化~(猛男版 & 萌妹版)
Tips: 建議做相關研究時,設置可以調參數的控制面板,能更好地達到自己的需求,並且不用再每次去問 ai
輸出結果示例:
通過 GPT 生成的代碼輸出結果令人滿意,給自己理解導師用藥規律已足夠,若進一步用做科研項目則需更進一步優化。
事實上已有古今醫案雲平台開發了整個研究流程,能直接用在科研上,那麼為什麼還要自己再 “浪費時間” 閉門捣鼓這些呢?原因有二:
一是私有數據不好上傳雲平台
二是我大學沒買...
四、未完待續#
這只是個開始!接下來我想探索:
- 運氣分析:將就診日期轉換為節氣 / 五運六氣參數
- 療效反饋:把復診改善程度量化後加入分析(需設計標準化評分)
- 知識圖譜:構建「症 - 證 - 藥 - 效」的可交互網絡
🌱 如果你也在做類似探索,歡迎交流心得!特別想聽聽:
- 你如何處理數據?
- 有沒有巧妙的特徵工程方法?
- 你如何構建知識圖譜?