心臟病(cardiovascular disease (CVD))是心臟疾病的總稱,包括風濕性心臟病、先天性心臟病、高血壓性心臟病、冠心病、心肌炎等各種心臟病:
· 冠狀動脈性心臟病:由脂質沉積於動脈壁而引起的冠狀動脈粥樣硬化。
· 心血管病:包括高血壓、糖尿病、高膽固醇等影響心血管功能的疾病。
· 肺性心臟病:一種因肺部疾病或胸壁畸形而導致的右心衰竭的疾病。
· 遺傳性或先天性心臟病:遺傳導致的先天性心臟結構或功能異常。
我在Kaggle上找到有關美國人在1988年的心臟病資料,它是以四個資料庫組成:Cleveland、Hungary、Switzerland 和Long Beach V。它包含76 個屬性,包括預測屬性,但所有已發表的實驗均指使用其中14 個屬性的子集。「目標」欄位是指患者是否有心臟病。它是整數,0 = 無疾病,1 = 疾病。
以下是他的屬性資料
1. 年齡
2. 性別
3. 胸痛類型(4 個數值)
4. 靜止血壓
5. 血清膽固醇(mg/dl)
6. 空腹血糖 > 120 mg/dl
7. 靜止心電圖結果(值 0、1、2)
8. 達到的最大心率
9. 運動誘發心絞痛
10. oldpeak = 運動相對於休息引起的 ST 壓力低
11. 運動峰值 ST 段的斜率
12. 螢光檢查著色的主要血管數量(0-3)
13. thal:0=正常;1 = 已修復缺陷;2 = 可逆缺陷
患者的姓名和社會安全號碼最近從資料庫中刪除,並用虛擬值替換
我會使用Chatgpt去分析這些資料讓他生成圖型,以下是我的圖型。
上圖為分析膽固醇和靜止血壓的關係,從中我們可以得知大部分的人膽固醇是兩百到三百之間,而靜止血壓則是一百二到一百六之間,固醇最佳值是在130mg/dL~200mg/dL之間,此時擁有最低的健康風險,所以上圖的人少部分都在健康值內,但有很多人的數值都超過正常值,而導致膽固醇過高有很多種原因,例如吃太多動物的內臟,因為膽固醇的來源大部分是動物的組織和內臟。而120/80mmHg以下是正常血壓,圖中有很多的人是高於平均值很多的,攝取過多鹽分、 肥胖、 靜態生活模式、吸煙、飲酒過量、睡眠不足、壓力、高血壓家族史和年齡越大等都是可能導致血壓高的原因,而上述兩個原因是分析者為何有心臟病的很大原因。
左圖是心臟病的患者年齡分布圖,可以發現大部分是集中在中年,大多是五十到六時之間,年紀愈高,心臟病的風險愈高;65~75歲年長者罹患心臟病的機率,為35~44歲青壯年的7倍,所以資料符合現實生活的。
AI分析
利用Chatgpt生成深度神經網路的程式碼來分析模型,下圖為我的程式及成果。
在本例中,我建立了一個具有多個隱藏層的 DNN 模型,並使用 ReLU 激活函數和二元交叉熵損失函數。 您可以根據需要在訓練期間調整模型的架構、超參數以及批量大小和迭代次數,以獲得更好的效能。而從圖中可知我生成程式的準確率在八成左右。
這個完整的程式包括創建 DNN 模型、訓練模型以及繪製漂亮的損失曲線、混淆矩陣和 ROC 曲線圖形。 確保將資料檔案的路徑替換為 CSV 檔案的路徑,然後執行程式碼來訓練模型並產生圖表。
結論
接下來我希望做出一個網站來讓客戶輸入資料就能分析出自己是否得病,上述的成果是使用AI來分析大數據,大家也能跟具上訴的資料來套討自己是否罹病的可能。