⚡ 技術管線與開發架構
點擊圖表中的節點可直接查看對應的 GitHub 源碼檔案。
flowchart LR
subgraph group_g1["Data Prep (數據準備與清洗層)"]
node_n1["原始數據爬蟲
[crawler.py]
(永慶/信義/住商/實價)"] node_n2["格式轉換
[json_to_csv.py]
(JSON 轉為數據矩陣)"] node_n3["初步清洗 v1
[clean_v1.py]
(處理缺失值與重複)"] node_n4["數據合併流
[merge.py]
(整合各平台數據源)"] node_n5["API 數據聚合
[api_merge_all.py]
(ETL 自動化腳本)"] node_n6["行政區標準化
[data_cleaning.py]
(12行政區地理校正)"] node_n7["捷運特徵工程
[mrt.py]
(cKDTree 空間歸屬)"] node_n8["實價登錄整合表
[process.py]
(特徵工程最終建置)"] end subgraph group_g2["Core App (AI 模型與核心服務)"] node_n9["模型訓練入口
[train_v3.py]
(LightGBM 分位數回歸)"] node_n10[("模型製品庫
[.pkl]
(P10/P50/P90 模型檔)")] node_n11["FastAPI 主入口
[main.py]
(系統總路由)"] node_n12["房價預估 API
[predict_v3.py]
(即時 AI 估價引擎)"] node_n13["預算推薦 API
[recommender.py]
(智慧選屋推薦)"] node_n14["漲幅分析 API
[market_trends.py]
(市場趨勢動態分析)"] node_n15["地理參考資料
[district_map.json]
(行政區映射地圖)"] node_n16["互動前端網頁
[index.html]
(UI/UX 展示介面)"] end subgraph group_g3["Legacy Demos (歷程展示)"] node_n17["舊版 API
[api.py]"] node_n18["量化儀表板
[main.py]"] node_n19["房價 App 終端
[main.py]"] end node_n1 --> node_n2 node_n2 --> node_n3 node_n3 --> node_n4 node_n1 --> node_n5 node_n6 --> node_n7 node_n7 --> node_n8 node_n4 --> node_n8 node_n5 --> node_n8 node_n8 --> node_n9 node_n9 --> node_n10 node_n11 --> node_n12 node_n11 --> node_n13 node_n11 --> node_n14 node_n11 --> node_n15 node_n12 --> node_n10 node_n16 --> node_n11 node_n17 --> node_n15 node_n18 --> node_n15 node_n19 --> node_n15 click node_n1 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/kevin/crawler.py" _blank click node_n2 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/kevin/json_to_csv.py" _blank click node_n3 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/kevin/clean_v1.py" _blank click node_n4 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/kevin/merge.py" _blank click node_n5 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/frances/api/api_merge_all.py" _blank click node_n6 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/永慶房屋/data_cleaning.py" _blank click node_n7 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/final/mrt.py" _blank click node_n8 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/實價登錄最終版/process.py" _blank click node_n9 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/train/train_v3.py" _blank click node_n10 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/train/models_v3_mrt_cluster/lgbm_real_mid.pkl" _blank click node_n11 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/project/main.py" _blank click node_n12 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/project/api/predict_v3.py" _blank click node_n13 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/project/api/recommender.py" _blank click node_n14 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/project/api/market_trends.py" _blank click node_n15 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/project/static/district_map.json" _blank click node_n16 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/project/templates/index.html" _blank click node_n17 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/taipeihouseapi/api.py" _blank click node_n18 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/taipei-real-estate-quant-engine/main.py" _blank click node_n19 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/永慶房屋/main.py" _blank classDef toneBlue fill:#f0f9ff,stroke:#007AFF,stroke-width:1px,color:#231815 classDef toneAmber fill:#fffbeb,stroke:#d97706,stroke-width:1px,color:#231815 classDef toneMint fill:#f0fdf4,stroke:#16a34a,stroke-width:1px,color:#231815 class node_n1,node_n2,node_n3,node_n4,node_n5,node_n6,node_n7,node_n8 toneBlue class node_n9,node_n10,node_n11,node_n12,node_n13,node_n14,node_n15,node_n16 toneAmber class node_n17,node_n18,node_n19 toneMint
[crawler.py]
(永慶/信義/住商/實價)"] node_n2["格式轉換
[json_to_csv.py]
(JSON 轉為數據矩陣)"] node_n3["初步清洗 v1
[clean_v1.py]
(處理缺失值與重複)"] node_n4["數據合併流
[merge.py]
(整合各平台數據源)"] node_n5["API 數據聚合
[api_merge_all.py]
(ETL 自動化腳本)"] node_n6["行政區標準化
[data_cleaning.py]
(12行政區地理校正)"] node_n7["捷運特徵工程
[mrt.py]
(cKDTree 空間歸屬)"] node_n8["實價登錄整合表
[process.py]
(特徵工程最終建置)"] end subgraph group_g2["Core App (AI 模型與核心服務)"] node_n9["模型訓練入口
[train_v3.py]
(LightGBM 分位數回歸)"] node_n10[("模型製品庫
[.pkl]
(P10/P50/P90 模型檔)")] node_n11["FastAPI 主入口
[main.py]
(系統總路由)"] node_n12["房價預估 API
[predict_v3.py]
(即時 AI 估價引擎)"] node_n13["預算推薦 API
[recommender.py]
(智慧選屋推薦)"] node_n14["漲幅分析 API
[market_trends.py]
(市場趨勢動態分析)"] node_n15["地理參考資料
[district_map.json]
(行政區映射地圖)"] node_n16["互動前端網頁
[index.html]
(UI/UX 展示介面)"] end subgraph group_g3["Legacy Demos (歷程展示)"] node_n17["舊版 API
[api.py]"] node_n18["量化儀表板
[main.py]"] node_n19["房價 App 終端
[main.py]"] end node_n1 --> node_n2 node_n2 --> node_n3 node_n3 --> node_n4 node_n1 --> node_n5 node_n6 --> node_n7 node_n7 --> node_n8 node_n4 --> node_n8 node_n5 --> node_n8 node_n8 --> node_n9 node_n9 --> node_n10 node_n11 --> node_n12 node_n11 --> node_n13 node_n11 --> node_n14 node_n11 --> node_n15 node_n12 --> node_n10 node_n16 --> node_n11 node_n17 --> node_n15 node_n18 --> node_n15 node_n19 --> node_n15 click node_n1 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/kevin/crawler.py" _blank click node_n2 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/kevin/json_to_csv.py" _blank click node_n3 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/kevin/clean_v1.py" _blank click node_n4 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/kevin/merge.py" _blank click node_n5 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/frances/api/api_merge_all.py" _blank click node_n6 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/永慶房屋/data_cleaning.py" _blank click node_n7 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/final/mrt.py" _blank click node_n8 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/實價登錄最終版/process.py" _blank click node_n9 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/train/train_v3.py" _blank click node_n10 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/train/models_v3_mrt_cluster/lgbm_real_mid.pkl" _blank click node_n11 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/project/main.py" _blank click node_n12 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/project/api/predict_v3.py" _blank click node_n13 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/project/api/recommender.py" _blank click node_n14 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/project/api/market_trends.py" _blank click node_n15 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/project/static/district_map.json" _blank click node_n16 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/project/templates/index.html" _blank click node_n17 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/taipeihouseapi/api.py" _blank click node_n18 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/taipei-real-estate-quant-engine/main.py" _blank click node_n19 "https://github.com/francesshenaiclass/tpe-real-estate-ai/blob/main/永慶房屋/main.py" _blank classDef toneBlue fill:#f0f9ff,stroke:#007AFF,stroke-width:1px,color:#231815 classDef toneAmber fill:#fffbeb,stroke:#d97706,stroke-width:1px,color:#231815 classDef toneMint fill:#f0fdf4,stroke:#16a34a,stroke-width:1px,color:#231815 class node_n1,node_n2,node_n3,node_n4,node_n5,node_n6,node_n7,node_n8 toneBlue class node_n9,node_n10,node_n11,node_n12,node_n13,node_n14,node_n15,node_n16 toneAmber class node_n17,node_n18,node_n19 toneMint