iT邦幫忙

2025 iThome 鐵人賽

DAY 19
0

1. 安裝 Python 套件
在專案資料夾 (cancer-dashboard) 建立一個新檔:

pip install psycopg2 pandas numpy

2. 建立 Python Script
建立 predict_and_insert.py:

import psycopg2
import pandas as pd
import numpy as np

# 連接 PostgreSQL
conn = psycopg2.connect(
    host="localhost",
    database="cancer_db",
    user="admin",
    password="admin123",
    port=5432
)
cursor = conn.cursor()

# 讀取最新的病人數據
cursor.execute("""
    SELECT patient_id, record_date, afp, alt
    FROM cancer_patients
    ORDER BY record_date DESC
    LIMIT 1;
""")
latest = cursor.fetchone()
patient_id, record_date, afp, alt = latest

print(f"最新數據:{patient_id}, 日期: {record_date}, AFP={afp}, ALT={alt}")

# 模擬 AI 預測(這裡先用簡單公式代替)
afp_pred = int(afp * np.random.uniform(1.05, 1.15))  # 模擬未來 AFP 成長
alt_pred = int(alt * np.random.uniform(1.02, 1.10))  # 模擬未來 ALT 上升

print(f"AI 預測結果:AFP={afp_pred}, ALT={alt_pred}")

# 更新到資料庫(寫入對應的日期紀錄)
cursor.execute("""
    UPDATE cancer_patients
    SET afp_pred = %s, alt_pred = %s
    WHERE patient_id = %s AND record_date = %s;
""", (afp_pred, alt_pred, patient_id, record_date))

conn.commit()
cursor.close()
conn.close()
print("✅ AI 預測結果已寫入資料庫!")

3. 執行程式

python predict_and_insert.py

執行後應該會看到:

最新數據:001, 日期: 2025-08-30, AFP=500, ALT=90
AI 預測結果:AFP=540, ALT=95
✅ AI 預測結果已寫入資料庫!

4. 檢查結果
進入 PostgreSQL:

SELECT * FROM cancer_patients WHERE patient_id='001';

會看到最新一筆數據的 afp_pred、alt_pred 已經被更新。

**5. 成果 **
● 我們不再手動輸入預測數據
● AI 預測程式能自動產生數據並寫入資料庫
● Grafana 可以即時顯示「實際 vs AI 預測」


上一篇
將 AI 預測數據存入資料庫,並在 Grafana 呈現
下一篇
自動化預測排程(Cron Job / n8n 實作)
系列文
用 Grafana 打造癌症資料視覺化平台:從資料清洗到AI預測呈現21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言