
數(shù)據(jù)挖掘技術(shù)在中醫(yī)處方經(jīng)驗(yàn)研究中的應(yīng)用
傳統(tǒng)的中醫(yī)藥科學(xué)在長(zhǎng)期的醫(yī)療實(shí)踐中積累了海量的處方數(shù)據(jù),數(shù)據(jù)挖掘是目前最有效的數(shù)據(jù)分析手段之一,利用數(shù)據(jù)挖掘技術(shù)從這些海量數(shù)據(jù)中發(fā)現(xiàn)蘊(yùn)含其中的中醫(yī)藥知識(shí),是一項(xiàng)極有價(jià)值的研究工作。本文主要采用數(shù)據(jù)挖掘中的Apriori關(guān)聯(lián)規(guī)則算法,對(duì)中醫(yī)處方數(shù)據(jù)進(jìn)行挖掘和總結(jié):首先對(duì)采集的中醫(yī)藥數(shù)據(jù)進(jìn)行數(shù)字特征化處理;然后對(duì)中醫(yī)處方中藥物的頻繁項(xiàng)集和藥物之間的關(guān)聯(lián)關(guān)系進(jìn)行研究,并獲得了普通處方分析較難獲得的用藥規(guī)律及經(jīng)驗(yàn)信息。研究成果對(duì)中醫(yī)臨床工作具有重要的指導(dǎo)意義。
信息技術(shù)正在經(jīng)歷著一次新的變革,互聯(lián)網(wǎng)、大數(shù)據(jù)等各種技術(shù)正在潛移默化的改變著人們的生活,數(shù)字化和數(shù)據(jù)化更是深深地影響著各行各業(yè)的每一個(gè)細(xì)節(jié)。很多信息早已開始儲(chǔ)存于各種類型的數(shù)據(jù)庫(kù)或者其他載體里,人們也已經(jīng)開始從眾多數(shù)據(jù)中,找出有益的規(guī)律。人們的關(guān)注點(diǎn)已經(jīng)由數(shù)據(jù)間的因果關(guān)系漸漸轉(zhuǎn)變?yōu)榭梢詭椭覀儾东@現(xiàn)在和預(yù)測(cè)未來(lái)的相關(guān)關(guān)系[1],即挖掘事物之間的關(guān)聯(lián)性。中醫(yī)在長(zhǎng)期的醫(yī)療實(shí)踐中積累了海量的處方數(shù)據(jù),如何有效的分析這些數(shù)據(jù)并發(fā)現(xiàn)規(guī)律以指導(dǎo)臨床應(yīng)用,成為中醫(yī)藥現(xiàn)代化研究中亟待解決的問題。數(shù)據(jù)挖掘作為一種有效的數(shù)據(jù)分析手段,已經(jīng)在中醫(yī)藥領(lǐng)域中得到廣泛應(yīng)用。
1 數(shù)據(jù)挖掘技術(shù)
1.1 數(shù)據(jù)挖掘概述
數(shù)據(jù)挖掘是從大量數(shù)據(jù)中挖掘有趣模式和知識(shí)的過(guò)程。從廣義上說(shuō),數(shù)據(jù)挖掘是對(duì)數(shù)據(jù)庫(kù)知識(shí)發(fā)現(xiàn)(Knowledge Discovery in Databases,KDD)的一個(gè)過(guò)程。作為一種通用技術(shù),數(shù)據(jù)挖掘可以用于任何類型的數(shù)據(jù),只要數(shù)據(jù)對(duì)目標(biāo)應(yīng)用是有意義的,數(shù)據(jù)源可以包括數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)、web、其他信息存儲(chǔ)庫(kù)或動(dòng)態(tài)的流入系統(tǒng)的數(shù)據(jù)[2]。
1.2 中醫(yī)藥數(shù)據(jù)挖掘的意義
中醫(yī)藥領(lǐng)域的處方中通常包含大量的藥物及其劑量組成,伴隨著醫(yī)院信息化建設(shè)的大力推進(jìn),這些藥方多以數(shù)據(jù)庫(kù)形式被保存,運(yùn)用數(shù)據(jù)挖掘技術(shù)對(duì)中藥數(shù)據(jù)進(jìn)行科學(xué)分析,從而發(fā)現(xiàn)其中的配伍特點(diǎn)和規(guī)律成為很有現(xiàn)實(shí)意義的一項(xiàng)工作。
中醫(yī)藥數(shù)據(jù)挖掘的目的是通過(guò)對(duì)中醫(yī)處方中的中藥數(shù)據(jù)建立合適的模型,從而尋找藥物之間的頻繁模式和關(guān)聯(lián)規(guī)則,可以實(shí)現(xiàn)中醫(yī)用藥經(jīng)驗(yàn)的有效總結(jié)和傳承。
1.3 關(guān)聯(lián)規(guī)則算法
數(shù)據(jù)挖掘有很多模式,常見有關(guān)聯(lián)規(guī)則[3]、聚類算法[4]、分類算法[5]等。關(guān)聯(lián)規(guī)則挖掘最初僅限于事務(wù)數(shù)據(jù)庫(kù)的布爾型關(guān)聯(lián)規(guī)則,近年來(lái)廣泛應(yīng)用于關(guān)系數(shù)據(jù)庫(kù)[6]。關(guān)聯(lián)規(guī)則反映一個(gè)事物與其他事物之間的相互依存性和關(guān)聯(lián)性。如果兩個(gè)或者多個(gè)事物之間存在一定的關(guān)聯(lián)關(guān)系,那么其中一個(gè)事物就能夠通過(guò)其他事物預(yù)測(cè)到。
關(guān)聯(lián)規(guī)則就是支持度和信任度分別滿足用戶給定閾值的規(guī)則。Apriori[7]是關(guān)聯(lián)規(guī)則模型中的經(jīng)典算法。本文主要使用基于頻繁項(xiàng)集的Apriori算法進(jìn)行數(shù)據(jù)建模,用以發(fā)現(xiàn)中藥配伍中的規(guī)律性。發(fā)現(xiàn)關(guān)聯(lián)規(guī)則需要經(jīng)歷如下兩個(gè)步驟:
步驟一:通過(guò)迭代,檢索出事務(wù)數(shù)據(jù)庫(kù)中的所有頻繁項(xiàng)集,即支持度不低于用戶設(shè)定的閾值的項(xiàng)集;
步驟二:利用頻繁項(xiàng)集構(gòu)造出滿足用戶最小信任度的規(guī)則。
2 數(shù)據(jù)特征化和預(yù)處理
2.1 實(shí)驗(yàn)數(shù)據(jù)集
本文實(shí)驗(yàn)數(shù)據(jù)來(lái)自河北中醫(yī)學(xué)院附屬醫(yī)院腎內(nèi)科陳志強(qiáng)教授于2014年5月至2015年7月診治的早中期慢性腎衰竭患者的病案。采集的病案內(nèi)容包括患者姓名、性別、年齡、原發(fā)病、癥狀、體征、腎功能指標(biāo)、中醫(yī)證候、中藥處方等。摘取其中的中藥信息,按照《中藥大辭典》[8]統(tǒng)一藥物名稱。
2.2 數(shù)據(jù)特征化
統(tǒng)計(jì)數(shù)據(jù)集的全部223條中醫(yī)處方,共出現(xiàn)中藥194味,根據(jù)專業(yè)經(jīng)驗(yàn),我們選取頻數(shù)在10%以上的中藥(視為高頻藥物)進(jìn)行數(shù)據(jù)挖掘。由于中藥處方中的中藥名稱以中文形式表示,因此需要將其進(jìn)行易于數(shù)據(jù)挖掘算法識(shí)別的數(shù)據(jù)特征化處理,方法如下:
(一) 藥物表的特征化方法
根據(jù)醫(yī)務(wù)工作者的經(jīng)驗(yàn),將治療該病癥的常見中藥分為活血化瘀通經(jīng)類、清熱祛濕泄?jié)犷悺⑿袣庠餄窕殿?、益氣健脾溫?yáng)類、補(bǔ)益脾腎之陽(yáng)類、滋養(yǎng)肝腎之陰類等六大類。將高頻藥物分別歸于這六大類中,針對(duì)每大類建立相應(yīng)的數(shù)據(jù)表。每條數(shù)據(jù)采用布爾常量的表示形式如圖1所示。
其中,第一項(xiàng)表示病人編號(hào),每一條記錄表示一位病人的用藥信息,編號(hào)之后的每一位布爾數(shù)據(jù)表示某味中藥是否在該處方中出現(xiàn),1表示出現(xiàn),0表示未出現(xiàn)。
(二) 類別表的特征化方法
為了進(jìn)一步分析各大類之間的關(guān)聯(lián)性,建立一個(gè)數(shù)據(jù)類別表(同一條處方中出現(xiàn)某一類藥物中兩味或兩味以上,即判定使用了該類別中藥)。每條記錄表示一位病人用藥的類別信息,其中第一項(xiàng)表示病人編號(hào),編號(hào)之后的每一位表示該類別藥物是否在該處方中使用,1表示使用,0表示未使用。
按照上述方法建成中藥藥物數(shù)據(jù)庫(kù),其中包括:包含所有藥物的處方數(shù)據(jù)集、統(tǒng)計(jì)藥物頻次的藥物計(jì)數(shù)數(shù)據(jù)集、由專業(yè)醫(yī)生按照性味、功用劃分的六種不同類別的高頻藥物數(shù)據(jù)集以及判斷處方中是否使用某類藥物的類別數(shù)據(jù)集。
3 中醫(yī)處方經(jīng)驗(yàn)的挖掘方法
3.1 對(duì)每一類藥物中包含的各味中藥進(jìn)行關(guān)聯(lián)規(guī)則建模
首先對(duì)數(shù)據(jù)庫(kù)中的藥物進(jìn)行頻數(shù)統(tǒng)計(jì),即在處方中出現(xiàn)的次數(shù);然后將數(shù)據(jù)庫(kù)中所有同類別的藥物按照其在整體處方中出現(xiàn)的頻數(shù)降序排列。如果藥物排列靠前說(shuō)明其在處方中出現(xiàn)頻率較高,為醫(yī)生的常用中藥,具有較高的參考價(jià)值。同時(shí),參考專業(yè)醫(yī)生的經(jīng)驗(yàn),本文將支持度和置信度的閾值均設(shè)置為10%,將其視為指導(dǎo)臨床應(yīng)用意義較大。對(duì)各類藥物數(shù)據(jù)采用Apriori算法建模,生成每一類別中藥間的關(guān)聯(lián)規(guī)則。
3.2 對(duì)六類藥物之間進(jìn)行關(guān)聯(lián)性規(guī)則建模
逐條分析223條中藥處方中所包含的藥物類別(同一條處方中出現(xiàn)某一類藥物兩味或兩味以上,即認(rèn)定含有該類別中藥),統(tǒng)計(jì)223條中藥處方中每一類別藥物的應(yīng)用頻數(shù),將其在數(shù)據(jù)庫(kù)中由高到低依次排列。根據(jù)專業(yè)醫(yī)生的經(jīng)驗(yàn),設(shè)置支持度和置信度的閾值均為10%,將其視為指導(dǎo)臨床應(yīng)用意義較大。對(duì)類別數(shù)據(jù)采用Apriori算法建模,生成六類中藥其類別之間的關(guān)聯(lián)規(guī)則。
4 關(guān)聯(lián)性分析
4.1 同類別中藥的關(guān)聯(lián)分析
將關(guān)聯(lián)規(guī)則按照支持度降序排序,體現(xiàn)出常用藥對(duì)以及多味中藥同時(shí)出現(xiàn)的規(guī)律。以第一大類藥物為例,通過(guò)對(duì)關(guān)聯(lián)規(guī)則的統(tǒng)計(jì)分析發(fā)現(xiàn):在此類中藥處方中,三味中藥同時(shí)出現(xiàn)的概率高達(dá)65%;四味中藥中藥同時(shí)出現(xiàn)的概率大約在31%左右;五味中藥同時(shí)出現(xiàn)的概率減少到14%左右;六味中藥同時(shí)出現(xiàn)的概率驟減到1%;而七味及以上中藥同時(shí)出現(xiàn)的概率則為0。第一類藥物的部分關(guān)聯(lián)規(guī)則如表1。
對(duì)同一類藥物,本文采用定向網(wǎng)絡(luò)關(guān)系圖表示藥對(duì)之間的關(guān)系。連接兩位中藥之間的連線越粗,表明這個(gè)藥對(duì)出現(xiàn)在處方中的頻數(shù)越高;越細(xì)就表明這個(gè)藥對(duì)出現(xiàn)在處方中的頻率越低。圖2所示為輸出第一類藥物中頻數(shù)最高的中藥與其它各味中藥的關(guān)聯(lián)關(guān)系的定向網(wǎng)絡(luò)圖。
結(jié)論分析:
縱觀全部類別的所有頻繁項(xiàng)集,發(fā)現(xiàn)在各類藥物中,往往是同類別藥物多味聯(lián)用,以增強(qiáng)其功效;而在聯(lián)用時(shí),又會(huì)有一定的味數(shù)限制,數(shù)目通常為三味至五味為多。通過(guò)定向網(wǎng)絡(luò)圖可以分析出針對(duì)某一種藥物與其它中藥成對(duì)出現(xiàn)的規(guī)律:由處方中頻數(shù)高的藥物組成的藥對(duì),其之間的關(guān)聯(lián)關(guān)系更為密切。
4.2 不同類別藥物之間的關(guān)聯(lián)性分析
在223條有效的類別數(shù)據(jù)記錄中,生成的規(guī)則總數(shù)為154條,為了便于結(jié)果分析,將其按照支持度降序排列。通過(guò)對(duì)關(guān)聯(lián)規(guī)則的統(tǒng)計(jì)分析得出:前兩類藥的支持度高達(dá)95.5%;前三類藥的支持度為89%;前四類藥的支持度為70.9%;前五類藥的支持度驟減到25.6%;而全部六類藥的支持度僅為5.8%?,F(xiàn)僅摘取前項(xiàng)含有前兩類中藥的關(guān)聯(lián)規(guī)則見表2。
結(jié)論分析:
前四類中藥之間的相互關(guān)系最為密切,其次是這四類中藥分別與第五、六類之間的關(guān)系,而第五、六類中藥之間關(guān)系的密切程度則大大降低。從關(guān)聯(lián)規(guī)則的結(jié)果可以分析得出前四個(gè)類別的藥物屬于常用和聯(lián)用的藥物。
5 結(jié)語(yǔ)
本文通過(guò)對(duì)中藥數(shù)據(jù)集的特征化處理,采用基于頻繁項(xiàng)集的Apriori經(jīng)典關(guān)聯(lián)規(guī)則算法,對(duì)中醫(yī)處方中藥物的頻繁項(xiàng)集和藥物之間的關(guān)聯(lián)關(guān)系進(jìn)行了有益的探索,發(fā)現(xiàn)了常用藥物組合及配伍特點(diǎn),獲得了普通處方分析較難獲得的處方經(jīng)驗(yàn)信息。實(shí)驗(yàn)結(jié)果證明:使用關(guān)聯(lián)規(guī)則對(duì)中藥數(shù)據(jù)庫(kù)建模,可以挖掘出中醫(yī)在治療某種疾病方面的用藥特點(diǎn),為研究臨床用藥規(guī)律提供了有效方法
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無(wú)論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫(kù)管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫(kù)表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫(kù)表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫(kù))處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場(chǎng)景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對(duì)象的 text 與 content:區(qū)別、場(chǎng)景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請(qǐng)求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫(kù)表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請(qǐng)求工具對(duì)比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請(qǐng)求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營(yíng)問題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過(guò)程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營(yíng)銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營(yíng)銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場(chǎng)景中,聚類分析作為 “無(wú)監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡(jiǎn)單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10