糖尿病(DIABETES)你了解多少?
正常狀況下,身體會將吃進去的澱粉轉成葡萄糖,供人體做使用,而當人體的血糖在攝食後上升到一個標準值時,胰臟分泌的胰島素就會將多餘葡萄糖處存於細胞中。糖尿病是一種慢性疾病,產生原因有兩種,第一種:胰島素分泌不足,第二種:胰島素作用不佳。
糖尿病的種類
1. 第 1 型糖尿病(胰島素依賴型糖尿病)
2. 第 2 類型糖尿病(非胰島素依賴型糖尿病)
3. 妊娠糖尿病 [妊娠: ㄖㄣˋ ㄕㄣ]
4. 其他情況所引起的糖尿病
第1型糖尿病(胰島素依賴型糖尿病)
1. 本身的遺傳基因之易致病性、環境、自體免疫力系統因素的相互作用。
2. 不具有遺傳性,患病年齡通常在30歲以下,病患人數較少(約佔總病患人口5%以下)。
3. 體型瘦、體重減輕、多尿、常感到口渴等明顯症狀,需長期依賴施打胰島素控制病情
第二型糖尿病(非胰島素依賴型糖尿病)
1.. 具有遺傳性,患者通常40歲以上成人,有肥胖的外在特徵。
2. 常有不良的生活習慣(如嗜酒、吸菸、不愛運動、飲食重口味等),造成胰島素分泌量下降,或人體對胰島素產生抗阻作用。
妊娠糖尿病
1.懷孕前沒有糖尿病病史,懷孕時卻出現高血糖的現象,發生率約百分之一到三。
2.高危險因子的發生:例如糖尿病病史家族、懷孕年紀較大者、前一胎有過此症狀及患有多囊性卵巢者等等。
如何判別娠娠糖尿病?標準是甚麼?
# 妊娠糖尿病的診斷 :
75-g,2-hours 口服葡萄糖耐受試驗檢驗值中
● 空腹>=92mg/dL 且<126mg/dL;
● 服糖後1小時>=180mg/dL;
● 服糖後2小時>=153mg/dL 且<200mg/dL。
符合以上三項當中一項,或一項以上,即診斷為妊娠糖尿病。
妊娠糖尿病對孕婦與新生兒的影響
(1)對孕婦的影響:妊娠高血壓、子癲前症的風險增加,提高剖腹產的機率,15%~70%的妊娠糖尿病婦女會變成第2型糖尿病。
(2)對新生兒的影響:先天發育異常風險增加(巨嬰症、新生兒黃疸、新生兒低血糖、早產、加護病房住院率),未來發生肥胖和第二型糖尿病的風險增加。
妊娠糖尿病的預防和治療方法主要有以下幾種:
控制體重:適當的體重控制可以減少妊娠糖尿病的發生風險。
健康飲食:適當的飲食可以幫助控制血糖水平。
適量運動:適當的運動可以幫助控制血糖水平。
藥物治療:如果血糖控制不良,醫生可能會給予藥物治療。
監測血糖:孕婦需要定期測量血糖水平,以確保血糖控制良好。
資料來源:KAGGLE(探討妊娠型糖尿病 )
此資料中之病患並非為台灣女性,資料中所有患者都是年滿 21 歲的皮馬印第安血統女性。 以下為關於此資料的各個欄位:
· 懷孕次數 (Number of pregnancies)
· 葡萄糖(Glucose concentration):口服葡萄糖耐受試驗中2小時的血漿葡萄糖濃度
· 血壓(mmHg):舒張壓(diastolic blood pressure)
· 三頭肌皮褶厚度(Skin Thickness)
· 胰島素(Insulin)(mu U/ml):2小時血清胰島素
· 身體質量指數( BMI)
· 糖尿病譜系函數(Diabetes Pedigree Function):這個函數使用了家族糖尿病史來導出個人得糖尿病的風險值 (This function uses a family history of diabetes to derive an individual's risk of developing diabetes.)
· 年齡(Age)
· 結果(Output):類別變數(0 或 1)
相關資源
[https://www.kaggle.com/datasets/mathchi/diabetes-data-set]
[https://colab.research.google.com/#scrollTo=WruKOTrNCJUd]
[https://chat.openai.com/]
要想利用DNN來幫助我們進行資料分析,首先要先進行資料的建模
由於我們並非程式方面的高手,因此我們利用chatgpt這項工具,他能有效地解決我們不會打程式這個缺點。
下圖為建模之過程:
1.TensorFlow 是一個用於建立和訓練神經網路的深度學習框架
2.Pandas 是一個資料操作庫,可協助準備和管理深度學習任務中使用的資料。
2.content/diabetes.csv為要準備建模之糖尿病數據集檔案
3.我們將資料分為訓練集以及測試集,比例為8:2
為何標準化?Why?
1.提高模型性能:特徵標準化有助於提高模型的性能,特別是對於基於距離的算法(如k-最近鄰)和梯度下降等優化算法,有助於更快地收斂到全局極值。
2.穩定的模型訓練:標準化可以減少不同特徵的數值範圍之間的差異,從而使模型訓練變得更穩定,減少因特徵尺度不同而導致的訓練不穩定性。
Epoch 是甚麼?
EPOCH(訓練周期)代表你的模型訓練的次數。在每個訓練周期(EPOCH)期間,模型的權重和參數都會根據訓練數據的梯度進行更新,以試圖最小化損失函數
*my model.h5為模型處存位置,以便之後拿來進行預測
接著我們利用建立好的模型去進行預測:
結果:
總結: 透過AI的力量,我們可以輕鬆地從大筆資料中,找出我們想要的資訊,並透過建立優質的模型,預測得到疾病的機率,未來若能再把細節處理得更好,給的條件夠多,資料筆數越多的話,說不定日後真的可以做到精準預測糖尿病呢!