市場區隔與產品定位分析(PCA):理論、方法與實務應用綜述

市場區隔與產品定位是現代行銷策略的核心,能協助企業精準識別目標客群並設計差異化產品。主成分分析(PCA)等數據驅動方法,已成為市場區隔與產品定位分析的重要工具,特別是在高維度資料與複雜市場環境下。

市場區隔與PCA應用

PCA常用於降維與特徵萃取,協助企業從大量市場或產品屬性資料中找出關鍵變數,並結合K-means等分群方法,形成明確的市場區隔。例如,汽車與電商產品市場的案例顯示,PCA與分群結合能有效識別不同消費者群體,提升決策準確性與市場洞察力 (Lei & Moon, 2015; Valdiviezo-Diaz, 2021; Lei & Moon, 2013; Alkhayrat et al., 2020; Jodlbauer et al., 2024)。

產品定位策略與決策支援

結合PCA的決策支援系統(DSS)可根據市場資料與設計參數,判斷新產品屬於哪個市場區隔,並據此調整產品設計或定位,提升市場競爭力。這類系統在汽車產業的應用,分類準確率高達76.1%~93.5%,為企業提供客觀的「第二意見」 (Lei & Moon, 2015; Lei & Moon, 2013; Jodlbauer et al., 2024)。

全球化與在地化定位挑戰

全球市場下,結合宏觀(如地理、文化)與微觀(如行為、心理)區隔基礎,有助於制定一致或差異化的定位策略。文化與在地適應性對定位成敗影響顯著,企業需靈活運用多元區隔基礎 (Nugroho, 2024; Hassan & Craft, 2005; Hassan & Craft, 2012; Woldemariam, 2022)。

進階方法與實務洞察

除PCA外,聯合分析、網絡分析等方法也被廣泛應用於市場區隔與產品定位,能更細緻捕捉消費者偏好與決策過程,並指導產品設計與品牌策略 (Green & Krieger, 1991; Cui et al., 2024; Czinkota et al., 2021; Han, 2024; Doyle & Saunders, 1985; Bolfing, 1988; Gensch, 1978)。

市場區隔與PCA相關重點論文

論文方法/應用關鍵洞察
(Lei & Moon, 2015)PCA+K-means+AdaBoost於汽車市場高分類準確率,支援產品設計與定位
(Valdiviezo-Diaz, 2021)PCA+K-means於電商產品區分三大產品群,助力數據決策
(Jodlbauer et al., 2024)PCA+逆向分群於電動車市場發掘未被滿足的市場區隔
(Alkhayrat et al., 2020)PCA與深度學習於電信客戶降維提升分群效果

Figure 1: PCA於市場區隔與產品定位的代表性研究與應用

結論

PCA等數據分析工具已成為市場區隔與產品定位的關鍵方法,能提升決策科學性與市場競爭力。結合多元區隔基礎與進階分析,有助於企業在全球與在地市場中靈活定位,發掘新機會並優化產品設計。

References

Lei, N., & Moon, S. (2015). A Decision Support System for market-driven product positioning and design. Decis. Support Syst., 69, 82-91. https://doi.org/10.1016/j.dss.2014.11.010

Nugroho, D. (2024). MARKET SEGMENTATION ANALYSIS AND POSITIONING TO INCREASE PRODUCT COMPETITIVENESS IN THE GLOBAL MARKET. International Journal of Social Service and Research. https://doi.org/10.46799/ijssr.v4i8.888

Valdiviezo-Diaz, P. (2021). Partitional clustering based on PCA method for segmentation of products. 2021 16th Iberian Conference on Information Systems and Technologies (CISTI), 1-4. https://doi.org/10.23919/CISTI52073.2021.9476226

Lei, N., & Moon, S. (2013). A decision support system for market segment driven product design. **, 177-186.

Alkhayrat, M., Aljnidi, M., & Aljoumaa, K. (2020). A comparative dimensionality reduction study in telecom customer segmentation using deep learning and PCA. Journal of Big Data, 7. https://doi.org/10.1186/s40537-020-0286-0

Bolfing, C. (1988). INTEGRATING CONSUMER INVOLVEMENT AND PRODUCT PERCEPTIONS WITH MARKET SEGMENTATION AND POSITIONING STRATEGIES. Journal of Consumer Marketing, 5, 49-57. https://doi.org/10.1108/EB008225

Jodlbauer, H., Tripathi, S., Bachmann, N., & Brunner, M. (2024). Unlocking hidden market segments: A data-driven approach exemplified by the electric vehicle market. Expert Syst. Appl., 254, 124331. https://doi.org/10.1016/j.eswa.2024.124331

Green, P., & Krieger, A. (1991). Segmenting Markets with Conjoint Analysis. Journal of Marketing, 55, 20 – 31. https://doi.org/10.1177/002224299105500402

Hassan, S., & Craft, S. (2005). Linking global market segmentation decisions with strategic positioning options. Journal of Consumer Marketing, 22, 81-89. https://doi.org/10.1108/07363760510589244

Doyle, P., & Saunders, J. (1985). Market Segmentation and Positioning in Specialized Industrial Markets. Journal of Marketing, 49, 24 – 32. https://doi.org/10.1177/002224298504900202

Green, P., & Krieger, A. (1991). Product design strategies for target-market positioning. Journal of Product Innovation Management, 8, 189-202. https://doi.org/10.1016/0737-6782(91)90026-U

Czinkota, M., Kotabe, M., Vrontis, D., & Shams, S. (2021). Market Segmentation, Positioning, and Branding. Springer Texts in Business and Economics. https://doi.org/10.1007/978-3-030-66916-4_7

Han, Y. (2024). A Case Analysis of Market Segmentation and Product Differentiation. Highlights in Business, Economics and Management. https://doi.org/10.54097/v9g8v275

Woldemariam, S. (2022). Market Segmentation Strategy and Excellent Global Brand Positioning. SSRN Electronic Journal. https://doi.org/10.2139/ssrn.4248439

Gensch, D. (1978). Image-Measurement Segmentation. Journal of Marketing Research, 15, 384 – 394. https://doi.org/10.1177/002224377801500309

Hassan, S., & Craft, S. (2012). Examining world market segmentation and brand positioning strategies. Journal of Consumer Marketing, 29, 344-356. https://doi.org/10.1108/07363761211247460

Cui, Y., Sun, Z., Xiao, Y., Sha, Z., Koskinen, J., Contractor, N., & Chen, W. (2024). Network Analysis of Two-Stage Customer Decisions With Preference-Guided Market Segmentation. J. Comput. Inf. Sci. Eng., 25. https://doi.org/10.1115/1.4066420

客戶流失預測模型:機器學習在流失預測中的應用與發展

客戶流失預測(Customer Churn Prediction)是企業提升客戶留存、降低營運損失的關鍵工具,特別在電信、金融、租賃等行業備受重視。隨著大數據與機器學習技術的進步,流失預測模型的準確度與應用範圍持續提升,並逐漸納入更多元的資料來源與解釋性分析。

主流模型與技術發展

  • 機器學習方法:常見模型包括決策樹、隨機森林、XGBoost、支持向量機(SVM)、神經網絡等。集成學習(如Adaboost、XGBoost)和深度學習方法在多數研究中展現出較高的預測準確率 (Ahmad et al., 2019; Lalwani et al., 2021; Sana et al., 2022; Kurtcan & Ozcan, 2023; Manzoor et al., 2024; Suh, 2023; Talele, 2025; Sundaram et al., 2024)。
  • 特徵工程與資料處理:資料前處理、特徵選擇(如PCA、重力搜尋、單變量篩選)、資料轉換(如WOE、Z-score)等技術能顯著提升模型效能 (Ahmad et al., 2019; Lalwani et al., 2021; Sana et al., 2022; Kurtcan & Ozcan, 2023; Suh, 2023)。
  • 非結構化資料應用:結合通話記錄、客服對話等非結構化資料,能挖掘更多流失風險訊號,提升預測與行銷策略的精準度 (Vo et al., 2021; Suh, 2023)。

預測效能與評估指標

  • AUC、F1、準確率:AUC(曲線下面積)是最常用的評估指標,部分模型AUC可達88-93%,F1值亦可達90%以上 (Ahmad et al., 2019; Lalwani et al., 2021; Sana et al., 2022; Suh, 2023)。
  • 模型比較:XGBoost、Adaboost、PCA-GWO-SVM等先進模型通常優於傳統方法 (Ahmad et al., 2019; Lalwani et al., 2021; Kurtcan & Ozcan, 2023)。

客戶流失預測模型比較

模型/技術主要優勢典型AUC/F1表現特色/應用場景來源
XGBoost/Adaboost高準確率、處理大數據80-93%電信、租賃、金融(Ahmad et al., 2019; Lalwani et al., 2021; Sana et al., 2022; Suh, 2023)
PCA-GWO-SVM特徵優化、提升泛化能力較高多行業應用(Kurtcan & Ozcan, 2023)
非結構化資料模型深入洞察、個人化行銷準確率提升客服、通話記錄分析(Vo et al., 2021; Suh, 2023)

Figure 1: 客戶流失預測模型與效能比較

挑戰與未來方向

  • 解釋性與行動指引:如SHAP等解釋性工具有助於行銷人員理解流失原因,實現個人化挽留 (Suh, 2023; Manzoor et al., 2024)。
  • 獲利導向評估:現有研究多聚焦於準確率,獲利導向的評估與決策支持仍有待加強 (Manzoor et al., 2024; Suh, 2023)。
  • 資料多樣性與不平衡處理:資料不平衡與多元資料型態的整合是提升模型實用性的關鍵 (Sana et al., 2022; Manzoor et al., 2024)。

相關主題與推薦閱讀

  • 若關注「大數據平台下的流失預測」,可參考 (Ahmad et al., 2019; Sana et al., 2022; Suh, 2023)。
  • 關心「非結構化資料應用」與「個人化行銷」可參考 (Vo et al., 2021; Suh, 2023)。
  • 探索「模型解釋性」與「行動化應用」可參考 (Manzoor et al., 2024; Suh, 2023)。

結論

客戶流失預測模型已廣泛應用於多個行業,機器學習與資料工程技術顯著提升了預測準確率與實用性。未來發展將聚焦於模型解釋性、獲利導向評估及多元資料整合,協助企業更有效地預防客戶流失並提升經營績效。

References

Ahmad, A., Jafar, A., & Aljoumaa, K. (2019). Customer churn prediction in telecom using machine learning in big data platform. Journal of Big Data, 6. https://doi.org/10.1186/s40537-019-0191-6

Lalwani, P., Mishra, M., Chadha, J., & Sethi, P. (2021). Customer churn prediction system: a machine learning approach. Computing, 104, 271 – 294. https://doi.org/10.1007/s00607-021-00908-y

Sana, J., Abedin, M., Rahman, M., & Rahman, M. (2022). A novel customer churn prediction model for the telecommunication industry using data transformation methods and feature selection. PLOS ONE, 17. https://doi.org/10.1371/journal.pone.0278095

Vo, N., Liu, S., Li, X., & Xu, G. (2021). Leveraging unstructured call log data for customer churn prediction. Knowl. Based Syst., 212, 106586. https://doi.org/10.1016/j.knosys.2020.106586

Kurtcan, B., & Ozcan, T. (2023). PREDICTING CUSTOMER CHURN USING GREY WOLF OPTIMIZATION BASED SUPPORT VECTOR MACHINE WITH PRINCIPAL COMPONENT ANALYSIS. Journal of Forecasting. https://doi.org/10.1002/for.2960

Manzoor, A., Qureshi, M., Kidney, E., & Longo, L. (2024). A Review on Machine Learning Methods for Customer Churn Prediction and Recommendations for Business Practitioners. IEEE Access, 12, 70434-70463. https://doi.org/10.1109/ACCESS.2024.3402092

Suh, Y. (2023). Machine learning based customer churn prediction in home appliance rental business. Journal of Big Data, 10. https://doi.org/10.1186/s40537-023-00721-8

Talele, A. (2025). Customer Churn Prediction Using Machine Learning. INTERANTIONAL JOURNAL OF SCIENTIFIC RESEARCH IN ENGINEERING AND MANAGEMENT. https://doi.org/10.55041/ijsrem41260

Sundaram, G., Reddy, V., Reddy, T., & Reddy, R. (2024). Modeling and customer churn prediction using deep learning. AIP Conference Proceedings. https://doi.org/10.1063/5.0208736

顧客終身價值(LTV)預測:方法、挑戰與進展

顧客終身價值(LTV)預測是現代行銷與客戶管理的核心工具,能協助企業優化行銷策略、提升客戶留存與利潤。隨著數據規模擴大與消費行為日益多變,LTV預測面臨資料稀疏、分布偏態與不確定性等多重挑戰,推動了多種創新預測方法的發展。

主流預測方法與技術演進

  • 傳統統計與機器學習方法:早期方法如RFM模型、BG/NBD、隨機森林與XGBoost等,適用於有明確交易記錄的場景,但對於資料稀疏或長尾分布的LTV預測效果有限 (Su et al., 2023; Ejgerdi & Kazerooni, 2023; Kanchanapoom & Chongwatpol, 2023; Chamberlain et al., 2017)。
  • 深度學習與概率模型:深度神經網絡(DNN)、零膨脹對數常態(ZILN)分布、貝葉斯模型等,能同時處理用戶流失概率與極端高值,提升預測準確性與不確定性量化 (Wang et al., 2019; Liu et al., 2024; Cao et al., 2024; Calabourdin & Aksenov, 2023)。
  • 多視角與多源學習:多視角對比學習、跨域遷移學習、分布自適應網絡等,針對資料稀疏、分布多樣與跨平台應用,顯著提升模型魯棒性與泛化能力 (Wu et al., 2023; Li et al., 2022; Zhou et al., 2024; Pan et al., 2025; Wu et al., 2023; Xing et al., 2021)。

實務挑戰與解決方案

  • 資料稀疏與長尾分布:多數用戶貢獻低,少數用戶貢獻極高,需用分布自適應、多專家模型、兩階段預測等方法處理 (Li et al., 2022; Zhou et al., 2024; Pan et al., 2025; Liu et al., 2024; Zhang et al., 2024)。
  • 特徵缺失與不確定性:針對特徵缺失,採用特徵感知路由融合網絡、蒙地卡羅Dropout等技術,提升預測穩健性與信心度量 (Cao et al., 2024; Yang et al., 2023)。
  • 跨域與多源數據融合:跨平台、跨場景遷移學習(如CDLtvS、CDAF),有效利用上游豐富數據提升下游預測表現 (Su et al., 2023; Zhou et al., 2024; Pan et al., 2025)。

LTV預測方法比較

方法/模型處理稀疏/長尾不確定性量化跨域適應實務應用成效代表文獻
傳統機器學習一般中等(Ejgerdi & Kazerooni, 2023; Chamberlain et al., 2017)
深度概率模型良好優秀(Wang et al., 2019; Liu et al., 2024)
多視角/多源學習優秀優秀(Wu et al., 2023; Li et al., 2022; Zhou et al., 2024; Pan et al., 2025)
特徵感知/不確定性良好優秀(Cao et al., 2024; Yang et al., 2023)

Figure 1: LTV 預測方法與應用比較

主要應用場景與成效

  • 遊戲、電商、廣告等產業已大規模部署LTV預測系統,帶來顯著ROI提升 (Wu et al., 2023; Li et al., 2022; Wang et al., 2019; Pan et al., 2025; Liu et al., 2024; Yan & Resnick, 2023)。
  • 推薦系統領域正從短期點擊優化轉向長期LTV最大化 (Wu et al., 2023; Xing et al., 2021)。
  • 若需深入特定方法或產業案例,可參考 (Wu et al., 2023; Li et al., 2022; Wang et al., 2019; Zhou et al., 2024; Pan et al., 2025; Liu et al., 2024; Cao et al., 2024; Chamberlain et al., 2017; Yan & Resnick, 2023; Xing et al., 2021)等論文。

總結

LTV預測技術正快速演進,從傳統統計到深度學習、跨域遷移與不確定性建模,能有效應對資料稀疏、分布偏態與多源融合等挑戰。未來發展將聚焦於提升模型泛化能力、解釋性與實時應用價值,助力企業精準決策與長期成長。

References

Wu, C., Li, J., Jia, Q., Zhu, H., Fang, Y., & Tang, R. (2023). Contrastive Multi-view Framework for Customer Lifetime Value Prediction. ArXiv, abs/2306.14400. https://doi.org/10.48550/arXiv.2306.14400

Li, K., Shao, G., Yang, N., Fang, X., & Song, Y. (2022). Billion-user Customer Lifetime Value Prediction: An Industrial-scale Solution from Kuaishou. Proceedings of the 31st ACM International Conference on Information & Knowledge Management. https://doi.org/10.1145/3511808.3557152

Wang, X., Liu, T., & Miao, J. (2019). A Deep Probabilistic Model for Customer Lifetime Value Prediction. arXiv: Applications.

Su, H., Du, Z., Li, J., Zhu, L., & Lu, K. (2023). Cross-Domain Adaptative Learning for Online Advertisement Customer Lifetime Value Prediction. **, 4605-4613. https://doi.org/10.1609/aaai.v37i4.25583

Zhou, Z., Lin, L., Wang, H., Zhou, X., Wei, G., & Wang, S. (2024). A Cross Domain Method for Customer Lifetime Value Prediction in Supply Chain Platform. Proceedings of the ACM Web Conference 2024. https://doi.org/10.1145/3589334.3645391

Pan, Z., Lou, X., Jin, X., Ou, C., Liu, F., Zeng, T., He, C., Liu, X., Wei, L., & Wang, J. (2025). Progressive Tasks Guided Multi-Source Network for Customer Lifetime Value Prediction in Online Advertising. Proceedings of the Eighteenth ACM International Conference on Web Search and Data Mining. https://doi.org/10.1145/3701551.3703533

Wu, C., Jia, Q., Dong, Z., & Tang, R. (2023). Customer Lifetime Value Prediction: Towards the Paradigm Shift of Recommender System Objectives. Proceedings of the 17th ACM Conference on Recommender Systems. https://doi.org/10.1145/3604915.3609499

Liu, W., Xu, G., Ye, B., Luo, X., He, Y., & Yin, C. (2024). MDAN: Multi-distribution Adaptive Networks for LTV Prediction. **, 409-420. https://doi.org/10.1007/978-981-97-2259-4_31

Cao, X., Xu, Y., & Yang, X. (2024). Customer Lifetime Value Prediction with Uncertainty Estimation Using Monte Carlo Dropout. ArXiv, abs/2411.15944. https://doi.org/10.48550/arXiv.2411.15944

Ejgerdi, N., & Kazerooni, M. (2023). A stacked ensemble learning method for customer lifetime value prediction. Kybernetes, 53, 2342-2360. https://doi.org/10.1108/k-12-2022-1676

Kanchanapoom, K., & Chongwatpol, J. (2023). Integrated customer lifetime value models to support marketing decisions in the complementary and alternative medicine industry. Benchmarking: An International Journal. https://doi.org/10.1108/bij-07-2021-0431

Chamberlain, B., Cardoso, Â., Liu, C., Pagliari, R., & Deisenroth, M. (2017). Customer Lifetime Value Prediction Using Embeddings. Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. https://doi.org/10.1145/3097983.3098123

Zhang, W., Feng, J., & Li, F. (2024). Deep Learning-Based Customer Lifetime Value Prediction in Imbalanced Data Scenarios: A Case Study. **, 209-218. https://doi.org/10.1007/978-981-97-7184-4_18

Yang, X., Jia, B., Wang, S., & Zhang, S. (2023). Feature Missing-aware Routing-and-Fusion Network for Customer Lifetime Value Prediction in Advertising. Proceedings of the Sixteenth ACM International Conference on Web Search and Data Mining. https://doi.org/10.1145/3539597.3570460

Calabourdin, A., & Aksenov, K. (2023). Streaming Bayesian Modeling for predicting Fat-Tailed Customer Lifetime Value. ArXiv, abs/2312.00373. https://doi.org/10.48550/arXiv.2312.00373

Yan, Y., & Resnick, N. (2023). A high-performance turnkey system for customer lifetime value prediction in retail brands. Quantitative Marketing and Economics. https://doi.org/10.1007/s11129-023-09272-x

Xing, M., Bian, S., Zhao, W., Xiao, Z., Luo, X., Yin, C., Cai, J., & He, Y. (2021). Learning Reliable User Representations from Volatile and Sparse Data to Accurately Predict Customer Lifetime Value. Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery & Data Mining. https://doi.org/10.1145/3447548.3467079

社群貼文探索性分析(EDA):方法、應用與最新進展

探索性資料分析(EDA)是理解社群貼文數據特徵、趨勢與潛在模式的核心方法,廣泛應用於情感分析、主題建模、異常偵測與行為預測等領域。現代 EDA 結合統計、視覺化、機器學習與 AI 技術,能有效處理龐大且多樣的社群資料,挖掘有價值的洞見。

主要方法與技術

  • 資料前處理與視覺化:包括缺失值處理、資料清理、分類與統計圖表(如長條圖、詞雲、關聯圖)來揭示貼文分布與互動特徵 (Raman et al., 2022; Anitha et al., 2025; Hinterberger, 2018)。
  • 情感分析與主題建模:常用VADER、BERTopic、LDA、HLDA等模型,能自動分類貼文情緒與主題,並比較不同模型的準確性與適用性 (Raman et al., 2022; De Oliveira Silva et al., 2024; Vipin et al., 2023)。
  • 即時與大規模分析:動態分群與串流視覺化技術,支援高頻、海量社群資料的即時探索與主題監控,提升決策效率 (Knittel et al., 2021)。
  • AI與自動化EDA:機器學習與深度學習可自動化特徵萃取、異常偵測與模式發現,提升分析規模與深度 (Gaikwad et al., 2025; Milo & Somech, 2020)。

典型應用場景

應用領域主要目標與技術代表文獻
貼文情感/主題分析VADER、BERTopic、LDA等模型Raman et al., 2022; De Oliveira Silva et al., 2024; Vipin et al., 2023
趨勢與行為預測機器學習、特徵選擇、預測模型Anitha et al., 2025; Khanam et al., 2023
即時輿情監控動態分群、視覺化儀表板Knittel et al., 2021
社群異常偵測EDA結合特徵工程與自動化流程Etuh et al., 2023; Gaikwad et al., 2025; Milo & Somech, 2020

Figure 1: 社群貼文EDA的方法與應用場景對照表

最新進展與挑戰

  • AI自動化EDA:AI技術大幅提升資料處理速度與洞察深度,但仍需人為監督以避免偏誤 (Gaikwad et al., 2025; Milo & Somech, 2020)。
  • 多模態與即時分析:結合文字、圖像、串流數據的即時分析系統,支援主題追蹤與輿情預警 (Knittel et al., 2021)。
  • 資料品質與倫理:資料異質性、隱私與偏見問題仍是挑戰 (Gaikwad et al., 2025; Milo & Somech, 2020)。

結論

社群貼文的探索性分析(EDA)已從傳統統計與視覺化,發展到結合AI、機器學習與即時串流分析的多元方法。這些技術能有效挖掘社群數據中的情感、主題與行為模式,為決策、行銷與輿情監控提供強大支援。未來,AI自動化與多模態分析將持續推動EDA在社群數據領域的創新與應用。

References

Raman, D., Jayalakshmi, S., Arumugam, K., Raj, A., Balaji, D., & Brightsingh, R. (2022). Implementation of Data Analysis and Document Summarization in Social Media Data Using R and Python. 2022 4th International Conference on Inventive Research in Computing Applications (ICIRCA), 1457-1464. https://doi.org/10.1109/ICIRCA54612.2022.9985479

De Oliveira Silva, D., Silva, R., De Santana Lima, P., Batista, J., & Júnior, S. (2024). Reddit comment analysis: sentiment prediction and topic modeling using VADER and BERTopic. Socioeconomic Analyticshttps://doi.org/10.51359/2965-4661.2024.265074

Anitha, T., Srihitha, G., Aiswarya, G., & Raghi, K. (2025). Predictive Modeling of Social Media Data Using Machine Learning Techniques. 2025 International Conference on Machine Learning and Autonomous Systems (ICMLAS), 329-335. https://doi.org/10.1109/ICMLAS64557.2025.10968630

Vipin, C., Harshit, S., Kumar, K., Vijay, K., & Zaid, M. (2023). Checking the Truthfulness of News Channels using NLP Techniques. 2023 International Conference on the Confluence of Advancements in Robotics, Vision and Interdisciplinary Technology Management (IC-RVITM), 1-5. https://doi.org/10.1109/IC-RVITM60032.2023.10435241

Knittel, J., Koch, S., Tang, T., Chen, W., Wu, Y., Liu, S., & Ertl, T. (2021). Real-Time Visual Analysis of High-Volume Social Media Posts. IEEE Transactions on Visualization and Computer Graphics, PP, 1-1. https://doi.org/10.1109/TVCG.2021.3114800

Gaikwad, P., Manohare, A., Munde, S., Shaikh, A., & Subhedar, D. (2025). AI-Based Exploratory Data Analysis. International Journal of Scientific Research in Computer Science, Engineering and Information Technologyhttps://doi.org/10.32628/cseit25112860

Hinterberger, H. (2018). Exploratory data analysis. Wiley Interdisciplinary Reviews: Computational Statistics, 1. https://doi.org/10.1002/wics.2

Milo, T., & Somech, A. (2020). Automating Exploratory Data Analysis via Machine Learning: An Overview. Proceedings of the 2020 ACM SIGMOD International Conference on Management of Datahttps://doi.org/10.1145/3318464.3383126

Khanam, S., Tanweer, S., & Khalid, S. (2023). Youtube Trending Videos: Boosting Machine Learning Results Using Exploratory Data Analysis. Comput. J., 66, 35-46. https://doi.org/10.1093/comjnl/bxab142

Etuh, E., Bakpo, F., Okereke, G., & Omagu, D. (2023). Exploratory Data Analysis and Feature Selection for Social Media Hackers Prediction Problem. Computer Science & Engineering: An International Journalhttps://doi.org/10.5121/cseij.2023.13401

行銷應用案例與標籤

一、🔧 Python 程式基礎(語法與處理)

類別名稱Tags
Python 語法結構import, def, for loop, if else, try...except, f-string, list comprehension
資料結構與處理pandas, dataframe, csv, data preprocessing, 數據處理, groupby, 字串處理, Standardization, JSON

二、📈 資料視覺化工具與中文支援

類別名稱Tags
視覺化函式庫matplotlib, seaborn
中文視覺化支援視覺化中文支援, 資料視覺化

三、🤖 機器學習與統計技術

類別名稱Tags
回歸分析(Regression)迴歸分析, Scikit-learn,
分類分析(Classification)分類模型, confusion matrix, accuracy, precision, recall, f1 score, label encoding, one-hot encoding, Multicollinearity
分群分析(Clustering)分群演算法, K-Means, Elbow method
降維技術(Dimensionality Reduction)降維分析, PCA, Perceptual Map

四、💡 AI 應用與生成式技術

類別名稱Tags
AI 提示詞與應用AI生成, prompt engineering, AI 數據洞察, AI 摘要, AI 文字分析, 主題分類, 情感分析

五、📊 行銷與商業分析應用

類別名稱Tags
行銷應用類社群媒體行銷, 顧客洞察, 客戶關係管理, 市場研究

案例與標籤彙整總表

標籤 / 案例AI 文案草稿生成AI 競品分析爬蟲AI 智慧客服回饋分析社群貼文探索性分析(EDA)AI 廣告成效分析與視覺化顧客終身價值預測 (LTV)客戶流失預測模型顧客分群模型市場區隔與產品定位分析
import
try...except
f-string
JSON
def
for loop
AI生成
prompt engineering
requests
if else
list comprehension
字串處理
網頁爬蟲
AI 摘要
pandas
dataframe
csv
AI 文字分析
主題分類
情感分析
matplotlib
seaborn
資料視覺化
視覺化中文支援
數據處理
客戶關係管理(CRM)
groupby
社群媒體行銷
AI 數據洞察
data preprocessing
feature engineering
機器學習
Scikit-learn
迴歸分析
label encoding
one-hot encoding
Multicollinearity
分類模型
confusion matrix
accuracy
precision
recall
f1 score
Standardization
分群演算法
K-Means
Elbow method
顧客洞察
降維分析
PCA
Perceptual Map
市場研究

「市場區隔與產品定位分析(PCA)」詳解

本案例將帶領我們學習一種非常強大的進階分析技術——降維 (Dimensionality Reduction)。當我們的資料特徵(欄位)過多時,要找出關鍵影響因素並不容易。主成分分析 (PCA) 能幫助我們從眾多相關的變數中,萃取出最核心的、最具代表性的「主成分」,以簡化問題並洞察其根本結構。

1. 環境設定:中文字型

核心概念: matplotlibseaborn 套件預設並未包含中文字型,若直接繪圖,圖表中的中文(如標題、座標軸標籤)將會顯示為無法辨識的方塊亂碼(暱稱為豆腐)。因此,繪製中文圖表前的第一步,就是手動安裝並設定字型。

本案例應用重點:

  • !wget ...: 我們在 Colab 中使用 wget 這個指令,從網路上下載一個開源的思源黑體字型檔 (.otf 檔),並將其存放在系統的字型路徑中。
  • import matplotlib.font_manager as fm: 引入字型管理器,用來讀取我們剛下載的字型檔。
  • plt.rcParams['font.family'] = ...: 這是最關鍵的一步,透過 rcParams (runtime configuration parameters) 這個設定,我們明確地告知 matplotlib:「接下來所有的圖表,請一律使用我們剛剛指定的那個中文字型來繪製。」

2. 載入數據:

  • files.upload(): 執行這行程式碼時,Colab 會在您的瀏覽器中跳出一個檔案上傳的對話視窗,讓您可以從本機電腦選擇要上傳的檔案
  • uploaded = ...: 當您選擇檔案並完成上傳後,files.upload() 會回傳一個 Python 字典 (dictionary),裡面包含了您上傳的檔案資訊(檔名作為 key,檔案內容作為 value)。這個字典會被存放在 uploaded 這個變數中。
  • try: ... except Exception as e: ...:這是一個錯誤處理的結構。
    • try:: 程式會嘗試執行 try 區塊內的所有程式碼。
    • except Exception as e:: 如果在 try 的過程中,發生任何錯誤(例如,上傳的檔案不是 CSV 格式、檔案已損毀等),程式不會因此崩潰,而是會跳到 except 區塊,執行裡面的程式碼來處理這個例外狀況。
  • file_name = next(iter(uploaded)):因為 uploaded 是一個字典,我們需要從中取出檔名。
    • iter(uploaded) 會建立一個字典鍵(也就是檔名)的迭代器。
    • next(...) 則會從這個迭代器中取出第一個項目。由於我們一次只上傳一個檔案,所以這樣就能成功取得該檔案的檔名。
如果使用本地端的編輯器執行Python腳本(例如Spyder,VSCode),只要設定好工作目錄,就可以直接使用pandas read_csv() 方法載入數據集。upload()是用在當你使用colab環境時。

3. Pandas – 資料的準備與索引設定

核心概念: 在進行 PCA 分析前,我們需要將資料整理成適合模型讀取的格式。

本案例應用重點:

  • df.set_index('Brand'): 我們將 Brand (品牌) 欄位設定為 DataFrame 的索引。這樣做的好處是,Brand 欄位不會被當成數值特徵參與後續的數學運算,它只作為每一列的標籤存在,方便我們最後在視覺化圖表上標示出各個品牌的位置。

4. Scikit-learn – 資料標準化 (Standardization)

核心概念: PCA 對資料的尺度非常敏感。與分群演算法一樣,在執行 PCA 之前,必須對資料進行標準化,以消除不同特徵因單位不同所造成的影響,確保所有特徵都在同一個基準上進行比較。

本案例應用重點:

  • StandardScaler(): 初始化標準化轉換器。
  • .fit_transform(): 對我們選定的所有數值特徵(價格、品質、創新分數等)進行標準化處理,得到一個全新的、標準化後的數據陣列。

5. Scikit-learn – 執行主成分分析 (PCA)

核心概念: PCA 是一種數學方法,它能將原始的多個特徵,線性組合成少數幾個全新的、彼此不相關的「主成分」(Principal Components),並最大程度地保留原始資料的變異性。

本案例應用重點:

  • from sklearn.decomposition import PCA: 從 scikit-learn 中匯入 PCA 模型。
  • PCA(n_components=2): 初始化 PCA 模型,並透過 n_components=2 這個重要參數,指定我們希望將原始的多個特徵降維成兩個主成分。
  • .fit_transform(): 將標準化後的資料投入 PCA 模型,執行降維。函式會回傳一個新的陣列,其中每一列代表一個品牌,而兩個欄位則分別是該品牌在「第一主成分」與「第二主成分」上的得分。

6. Matplotlib – 產品知覺圖 (Perceptual Map) 視覺化(分析產品定位)

核心概念: 產品知覺圖是 PCA 分析在行銷領域最經典的應用。它將降維後的結果繪製在一個二維平面上,讓我們能直觀地看出各品牌在消費者心目中的相對位置。

本案例應用重點:

  • plt.scatter(): 我們使用散佈圖,將 X 軸設為「第一主成分得分」,Y 軸設為「第二主成分得分」,每一個點就代表一個品牌。
  • 是在每一個代表品牌的散佈旁邊,標示出該品牌的名稱
    • plt.text(...) :在 matplotlib 繪圖中,用來在圖表的特定座標位置上,加上文字註解
    • x=df_pca.PC1[i]+0.05:設定文字標籤的 X 座標。程式會先取得第 i 個品牌在第一主成分 (PC1) 上的分數(也就是該點的 X 座標),然後加上一個微小的位移量 0.05,目的是讓文字稍微偏離點的右側,避免文字直接蓋在點上。
    • y=df_pca.PC2[i]+0.05:設定文字標籤的 Y 座標。同樣地,程式會取得第 i 個品牌在第二主成分 (PC2) 上的分數(Y 座標),並加上 0.05,讓文字稍微偏離點的上方。
    • s=df_pca.index[i]s 代表 string,也就是要顯示的文字內容。df_pca.index[i] 會取得第 i 個品牌的索引名稱(也就是我們一開始設定的 Brand 名稱)。
    • fontdict=dict(color='black', size=12)fontdict 是一個用來設定字型樣式的字典。這裡我們設定了文字的 color (顏色) 為黑色,size (大小) 為 12。
    • fontproperties=font_prop:這個參數用來指定顯示文字所使用的字型。font_prop 是我們在程式碼開頭預先設定好的中文字型屬性。加上這個參數,才能確保圖表上的中文品牌名稱能夠正常顯示,而不會變成亂碼。

Perceptual Map(知覺圖)是什麼? 它是一種行銷分析工具,用來視覺化呈現消費者如何感知不同品牌、產品或服務之間的相對位置。它幫助行銷人員理解市場上競爭者的定位、顧客對品牌的認知,以及找出可能的市場空缺。通常是一張2D平面圖,有X軸和Y軸,各代表一個消費者關心的產品屬性或形容詞維度(如「價格高低」「品質好壞」)。每個品牌或產品會根據調查結果被標示在圖上某個位置,代表它在這兩個維度上的相對感知。

7. PCA 結果解讀:解釋變異與主成分負荷

核心概念: 降維後,我們需要透過觀察 “主成分負荷 (Loadings)” 來理解這兩個新的「主成分」分別代表什麼意義。

本案例應用重點:

  • pca.components_: 這是解讀主成分意義的關鍵。它儲存了每一個原始特徵對於構成新主成分的「貢獻度」或「權重」,也稱為主成分負荷 (Component Loadings)。透過觀察這些負荷值,我們可以為新的主成分命名(例如:高價格、高品質、高創新負荷 -> 或許可命名為「專業性能維度」) 。
  • pca.explained_variance_ratio_: 這是 PCA 模型的一個重要屬性,它會告訴我們每一個主成分分別「解釋」了原始資料多少百分比的變異(資訊量)。例如,[0.75, 0.15] 代表第一主成分解釋了 75% 的資訊,第二主成分解釋了 15%。
  • loadings = pca.components_.T * np.sqrt(pca.explained_variance_) :計算並縮放主成分的負荷量 (Loadings)。
    • pca.components_:這本身儲存了主成分的「方向」或「權重」。它告訴我們,每一個原始特徵(如’價格’、’品質’)是如何組合 C 成新的主成分軸線的。
    • .T:這是轉置 (Transpose) 的意思。它將 pca.components_ 的行和列對調,使其結構變為每一列 (row) 代表一個原始特徵,方便後續的計算。
    • pca.explained_variance_:這代表每一個主成分所能「解釋」的原始資料變異量。您可以將其理解為該主成分的重要性或影響力。
    • np.sqrt(...)np.sqrt() 是計算平方根。對變異量取平方根,得到的就是該主成分的標準差。這可以被視為該主成分軸線的「尺度」。
    • * (相乘):最後,程式將代表「方向」的 pca.components_.T 與代表「尺度」的 np.sqrt(pca.explained_variance_) 相乘。
這行程式碼的物理意義,就像是將一個只有方向的單位向量,乘上一個代表其重要性的長度

總結來說,這個案例的學習路徑是:

準備資料 -> 標準化 -> 執行 PCA 降維 -> 繪製產品定位圖 -> 解讀主成分

「顧客分群」詳解

本案例將帶領我們進入「非監督式學習 (Unsupervised Learning)」的領域。與之前的預測模型不同,這次我們的資料沒有「正確答案」(如 Churn 欄位)。我們的目標是讓機器自動從數據中找出潛在的結構與群體,這個過程稱為分群 (Clustering)

1. 環境設定:中文字型

核心概念: matplotlibseaborn 套件預設並未包含中文字型,若直接繪圖,圖表中的中文(如標題、座標軸標籤)將會顯示為無法辨識的方塊亂碼(暱稱為豆腐)。因此,繪製中文圖表前的第一步,就是手動安裝並設定字型。

本案例應用重點:

  • !wget ...: 我們在 Colab 中使用 wget 這個指令,從網路上下載一個開源的思源黑體字型檔 (.otf 檔),並將其存放在系統的字型路徑中。
  • import matplotlib.font_manager as fm: 引入字型管理器,用來讀取我們剛下載的字型檔。
  • plt.rcParams['font.family'] = ...: 這是最關鍵的一步,透過 rcParams (runtime configuration parameters) 這個設定,我們明確地告知 matplotlib:「接下來所有的圖表,請一律使用我們剛剛指定的那個中文字型來繪製。」

2. 載入數據

  • files.upload(): 執行這行程式碼時,Colab 會在您的瀏覽器中跳出一個檔案上傳的對話視窗,讓您可以從本機電腦選擇要上傳的檔案
  • uploaded = ...: 當您選擇檔案並完成上傳後,files.upload() 會回傳一個 Python 字典 (dictionary),裡面包含了您上傳的檔案資訊(檔名作為 key,檔案內容作為 value)。這個字典會被存放在 uploaded 這個變數中。
  • try: ... except Exception as e: ...:這是一個錯誤處理的結構。
    • try:: 程式會嘗試執行 try 區塊內的所有程式碼。
    • except Exception as e:: 如果在 try 的過程中,發生任何錯誤(例如,上傳的檔案不是 CSV 格式、檔案已損毀等),程式不會因此崩潰,而是會跳到 except 區塊,執行裡面的程式碼來處理這個例外狀況。
  • file_name = next(iter(uploaded)):因為 uploaded 是一個字典,我們需要從中取出檔名。
    • iter(uploaded) 會建立一個字典鍵(也就是檔名)的迭代器。
    • next(...) 則會從這個迭代器中取出第一個項目。由於我們一次只上傳一個檔案,所以這樣就能成功取得該檔案的檔名。
如果使用本地端的編輯器執行Python腳本(例如Spyder,VSCode),只要設定好工作目錄,就可以直接使用pandas read_csv() 方法載入數據集。upload()是用在當你使用colab環境時。

3. Scikit-learn – 資料標準化 (Standardization)

核心概念: K-Means 演算法是透過計算「距離」來進行分群的。如果我們的特徵單位或尺度差異過大(例如「年收入」的數值遠大於「消費分數」),那麼尺度較大的特徵將會主導整個分群過程,導致結果失準。因此,在進行分群前,我們必須先將所有特徵「標準化」,讓它們處於同一個比較基準上。

本案例應用重點:

  • from sklearn.preprocessing import StandardScaler: 從 scikit-learn 中匯入標準化工具。
  • StandardScaler(): 初始化一個標準化轉換器。
  • .fit_transform(): 這是標準化的核心步驟。它會自動計算資料的平均值與標準差,然後對資料進行轉換,讓轉換後的資料平均值為 0,標準差為 1。

4. Scikit-learn – 使用 K-Means 演算法進行分群

核心概念: K-Means 是最經典的分群演算法之一。一旦我們決定了 k 值,就可以用它來訓練模型並找出分群結果。

本案例應用重點:

  • from sklearn.cluster import KMeans: 從 scikit-learn 中匯入 K-Means 模型。
  • KMeans(n_clusters=5, ...): 初始化 K-Means 模型,其中最重要的參數 n_clusters 就是我們直接指定(本案例為5),會是透過手肘法 (elbow) 決定的最佳分群數。
  • .fit_predict(): 這個方法會一次性完成兩件事:首先,它會根據資料訓練模型,找出 5 個最佳的群體中心點 (fit);接著,它會為資料中的每一個顧客,分配一個所屬的群組編號(0, 1, 2, 3, 或 4),並回傳這個結果 (predict)。
決定分群數 (k值) ,除了主觀設定一個值之外,也可以利用 Elbow方法,請看本文最後說明。

5. Matplotlib – 分群結果的視覺化

核心概念: 視覺化是驗證與解讀分群結果最直觀的方式。

本案例應用重點:

  • 使用 seaborn 函式庫來繪製一個進階且美觀的彩色散點圖,目的是將分群結果視覺化。
    • sns.scatterplot()snsseaborn 函式庫的通用縮寫。scatterplot 是專門用來繪製散點圖的函式。
    • data=df:告訴函式「請從我們整理好的 df 這張資料表來抓取數據。」
    • x='Annual Income (k$)':設定圖表的 X 軸(水平軸)要對應到 df 資料表中,名為「Annual Income (k$)」的那個欄位。
    • y='Spending Score (1-100)':設定圖表的 Y 軸(垂直軸)要對應到名為「Spending Score (1-100)」的那個欄位。
    • hue='Cluster':這是繪製分群圖的最關鍵參數。hue 的意思是「色調」。這個參數會指示 seaborn 根據 Cluster 欄位中的數值(例如 0, 1, 2, 3, 4)來為每一個點上不同的顏色。這使得我們能夠一眼就看出不同群體的分佈位置。
    • palette='viridis'palette 是調色盤的意思。這個參數用來設定 hue 上色時的顏色主題。'viridis' 是一個專業且美觀的漸層色盤。
    • s=100s 代表 size,用來設定散點圖上每個點的大小。
    • alpha=0.8:設定每個點的透明度。0.8 代表 80% 的不透明度,當點重疊時,顏色會加深,有助於觀察資料的密度。
    • edgecolor='k':設定每個點的邊框顏色。'k' 是黑色 (black) 的縮寫,為點加上黑色邊框可以讓視覺效果更清晰。
  • kmeans.cluster_centers_: 這是 K-Means 模型訓練完後,用來儲存各個群體中心點座標的屬性。我們會再用一次 plt.scatter(),將這些中心點以不同的樣式(如紅色的星號)標示在地圖上。
    • plt.scatter():呼叫 scatter 函式,代表我們要在同一張圖上,再畫一層新的散佈圖。
    • centers[:, 0]centers[:, 1]centers 是一個儲存了所有群組中心點座標的陣列(Array)。centers[:, 0] 是一種陣列切片 (slicing) 的語法,意思是「取出所有列的第 0 個欄位」,也就是所有中心點的 X 座標。
    • 同理,centers[:, 1] 就是取出所有中心點的 Y 座標。
    • c='red'c 代表 color。將這些中心點的顏色設定為紅色,使其在圖上非常顯眼。
    • s=250s 代表 size。將中心點的大小設定為 250,比一般的資料點大很多,以凸顯其重要性。
    • alpha=0.9:設定點的透明度為 90%(接近不透明),讓中心點的顏色更飽和。
    • marker='X'marker 代表標記樣式。將中心點的形狀設定為 ‘X’,以區別於代表個別顧客的圓點。
    • label='群組中心':為這些紅色的 ‘X’ 標記設定一個圖例名稱,叫做「群組中心」。當我們稍後呼叫 plt.legend() 時,圖例上就會顯示「X 群組中心」的說明。

手肘法 (The Elbow Method)

核心概念: 在使用 K-Means 之前,我們需要先決定到底要將顧客分成幾群 (k 值)。「手肘法」是一種常用的、透過視覺化來輔助判斷最佳 k 值的方法。

重點說明:

  • for k in range(1, 11):: 使用一個 for 迴圈,來依序測試將顧客分為 1 群、2 群、… 直到 10 群的各種情況。
  • kmeans.inertia_: inertia 是 K-Means 模型的一個屬性,它代表了「群內點到其中心點的距離平方和」。這個值越小,代表分群效果越緊密。也稱為WCSS(within-cluster sum of squares)組內評分和。
  • wcss.append(kmeans.inertia_): 在迴圈中,將每種 k 值算出來的 inertia_ 存入一個名為 wcss 的列表中,以便後續繪製「手肘圖」。
  • 以下是一段程式碼範例:
# 假設 X_scaled 是已經標準化後的資料
# X_scaled = scaler.fit_transform(df[['Annual Income (k$)', 'Spending Score (1-100)']])

wcss = [] # Within-Cluster Sum of Squares, 用來存放每個 k 值的 inertia_

# 測試 k 從 1 到 10 的情況
for k in range(1, 11):
    kmeans = KMeans(n_clusters=k, init='k-means++', random_state=42)
    kmeans.fit(X_scaled)
    wcss.append(kmeans.inertia_)

# 繪製手肘圖
plt.figure(figsize=(10, 6))
plt.plot(range(1, 11), wcss, marker='o', linestyle='--')
plt.title('手肘法 (The Elbow Method)')
plt.xlabel('分群數量 (k)')
plt.ylabel('WCSS (群內平方和)')
plt.xticks(range(1, 11))
plt.grid(True)
plt.show()

總結來說,這個案例的學習路徑是:

資料標準化 -> 直接指定K值,或用手肘法找出最佳 K 值 -> 訓練 K-Means 模型 -> 視覺化分群結果

「客戶流失預測模型」詳解

本案例將帶領我們進入「分類 (Classification)」的世界,這是機器學習中另一大核心任務。我們將學習如何建立一個模型,來預測一個類別型結果——顧客「是」或「否」會流失。課程的重點在於分類模型獨有的資料前處理技巧,以及如何評估模型的預測成效。

1. 環境設定:中文字型

核心概念: matplotlibseaborn 套件預設並未包含中文字型,若直接繪圖,圖表中的中文(如標題、座標軸標籤)將會顯示為無法辨識的方塊亂碼(暱稱為豆腐)。因此,繪製中文圖表前的第一步,就是手動安裝並設定字型。

本案例應用重點:

  • !wget ...: 我們在 Colab 中使用 wget 這個指令,從網路上下載一個開源的思源黑體字型檔 (.otf 檔),並將其存放在系統的字型路徑中。
  • import matplotlib.font_manager as fm: 引入字型管理器,用來讀取我們剛下載的字型檔。
  • plt.rcParams['font.family'] = ...: 這是最關鍵的一步,透過 rcParams (runtime configuration parameters) 這個設定,我們明確地告知 matplotlib:「接下來所有的圖表,請一律使用我們剛剛指定的那個中文字型來繪製。」

2. 載入數據

  • files.upload(): 執行這行程式碼時,Colab 會在您的瀏覽器中跳出一個檔案上傳的對話視窗,讓您可以從本機電腦選擇要上傳的檔案
  • uploaded = ...: 當您選擇檔案並完成上傳後,files.upload() 會回傳一個 Python 字典 (dictionary),裡面包含了您上傳的檔案資訊(檔名作為 key,檔案內容作為 value)。這個字典會被存放在 uploaded 這個變數中。
  • try: ... except Exception as e: ...:這是一個錯誤處理的結構。
    • try:: 程式會嘗試執行 try 區塊內的所有程式碼。
    • except Exception as e:: 如果在 try 的過程中,發生任何錯誤(例如,上傳的檔案不是 CSV 格式、檔案已損毀等),程式不會因此崩潰,而是會跳到 except 區塊,執行裡面的程式碼來處理這個例外狀況。
  • file_name = next(iter(uploaded)):因為 uploaded 是一個字典,我們需要從中取出檔名。
    • iter(uploaded) 會建立一個字典鍵(也就是檔名)的迭代器。
    • next(...) 則會從這個迭代器中取出第一個項目。由於我們一次只上傳一個檔案,所以這樣就能成功取得該檔案的檔名。
如果使用本地端的編輯器執行Python腳本(例如Spyder,VSCode),只要設定好工作目錄,就可以直接使用pandas read_csv() 方法載入數據集。upload()是用在當你使用colab環境時。

3. Pandas – 分類模型的預處理 (Preprocessing)

核心概念: 機器學習模型只能理解數字,無法直接處理文字類型的類別資料(例如 Gender 欄位的 ‘Male’/’Female’)。因此,在訓練模型前,我們必須將這些文字轉換為數值格式。

本案例應用重點:

  • le.fit_transform(df_processed['Churn']) :將文字類型的目標變數轉換為數值
    • LabelEncoder: 這是 scikit-learn 函式庫中的一個工具,中文稱為「標籤編碼器」。它的唯一功能,就是將文字標籤(例如 ‘Yes’, ‘No’ 或 ‘蘋果’, ‘香蕉’)轉換成數字編碼(例如 0, 1, 2)。
    • le = ...: 這行程式碼的作用是建立一個 LabelEncoder 的實例,您可以想像成我們準備好了一台「標籤編碼機」,並將它命名為 le
    • 整個轉換的核心做了兩件事情:fit (學習) 和 transform (轉換)。
    • fit (學習):
      • fit_transform 會先掃描 df_processed['Churn'] 這個欄位,找出裡面所有不重複的文字標籤。在這個案例中,它會找到 'No''Yes' 這兩種。
      • 接著,它會在內部建立一個對應的規則,通常是按照字母順序來編碼,例如:‘No’ -> 0, ‘Yes’ -> 1。這個過程就是 fit,代表編碼機已經「學會」了轉換的規則。
    • transform (轉換):
      • 學會規則後,編碼機會再次遍歷 Churn 欄位中的每一個值,並根據剛剛學會的規則,將所有的 'No' 都換成 0,所有的 'Yes' 都換成 1
  • pd.get_dummies(): 這是本案例最關鍵的資料前處理步驟,稱為 One-Hot Encoding。它會自動將所有文字類型的欄位(如 Gender, Contract, HasSupportTicket)轉換成多個 0 和 1 的新欄位,讓機器學習模型能夠理解這些類別資訊。
    • drop_first=Truepd.get_dummies() 函式中一個非常重要的參數,它的主要目的是為了避免「多重共線性」(Multicollinearity),也常被稱為虛擬變數陷阱 (Dummy Variable Trap)。用一個簡單的例子來解釋:假設我們有一個 Gender 欄位,裡面只有 ‘Male’ 和 ‘Female’ 兩種值。
    • 如果「不使用」drop_first=True
      • pd.get_dummies() 會產生兩個新的欄位:Gender_MaleGender_Female
      • 如果某位客戶是男性,那 Gender_Male 會是 1,Gender_Female 會是 0。
      • 如果某位客戶是女性,那 Gender_Male 會是 0,Gender_Female 會是 1。
      • 問題:這兩個新欄位是完全相關的。只要我們知道 Gender_Male 的值,就能 100% 推斷出 Gender_Female 的值(例如 Gender_Male 是 0,Gender_Female 必定是 1)。這種完美的線性關係會對某些機器學習模型(特別是線性迴歸)造成干擾,讓模型難以穩定地估計出各個特徵的影響力。
    • 如果「使用」了 drop_first=True
      • pd.get_dummies() 會先產生 Gender_FemaleGender_Male 兩個欄位,然後丟棄第一個(在此例中是 Gender_Female),只留下 Gender_Male 這一個欄位。
      • 現在,模型的解讀方式變成:
        • 如果 Gender_Male 是 1,代表該客戶是男性。
        • 如果 Gender_Male 是 0,代表該客戶不是男性,也就是女性(這就是被丟棄的那個基準類別)。
      • 好處:我們只用一個欄位,就完整地保留了原始的性別資訊,同時完全避免了欄位間的完美相關性,讓模型能更穩定地運作。
    • 總結來說,drop_first=True 的目的就是在進行 One-Hot Encoding 時,自動捨棄掉一個多餘的參考欄位,以避免多重共線性的問題,讓後續的機器學習模型更穩健。
  • pd.to_numeric(errors='coerce'): 在資料清理階段,確保費用相關的欄位都是數值型態。errors='coerce' 是一個重要的參數,它會自動將任何無法轉換為數字的值變為 NaN (缺失值),方便我們後續統一處理。
  • 用中位數填補空值:
    • df_processed['TotalCharges']:
    • 首先,程式碼選定了我們正在處理的 DataFrame df_processed 中,名為 TotalCharges (總消費金額) 的這個欄位。
    • .median():
    • 接著,它計算了 TotalCharges 這個欄位中所有現存數值的中位數。中位數是指將所有數值由小到大排序後,位於最中間的那個數。使用中位數來填補空值,是一種比平均數更穩健的方法,因為它不容易受到極端值(非常高或非常低的消費金額)的影響。
    • .fillna(...):
    • 這個函式的名字是 “fill na” 的縮寫,也就是「填補空值 (NA/NaN)」。它的作用是找到 TotalCharges 欄位中所有空白或無效的儲存格。
    • inplace=True:
    • 這是一個非常重要的參數。inplace=True 的意思是:「請直接在原始的 df_processed 資料表上進行修改」。如果沒有這個參數(或設為 False),fillna 會回傳一個修改過後的新資料表,但原始的 df_processed 不會改變。
機器學習模型(如決策樹、迴歸模型等)的運算基礎是數學,它們只能理解數字,無法直接處理 'Yes','No','Male' 或 'Female' 這樣的文字。因此,在訓練模型之前,我們必須將這些文字標籤轉換成模型可以理解的數值格式。這個過程就是「標籤編碼」(Labe Encodidng)。

4. Scikit-learn – 建立決策樹分類模型

核心概念: 我們將使用 scikit-learn 來建立一個決策樹 (Decision Tree) 分類器,這是一種直觀且易於理解的分類演算法。

本案例應用重點:

  • 定義特徵 (X) 與目標 (y): 我們需要明確地將資料集分為兩部分:X 是用來預測的特徵(例如客戶合約類型、月費等),而 y 則是我們要預測的目標——Churn 欄位。
  • train_test_split(): 與迴歸模型相同,我們將資料切分為訓練集與測試集,以客觀地評估模型成效。
  • DecisionTreeClassifier(): 從 scikit-learn 中選擇並初始化一個決策樹分類模型。
  • .fit().predict(): 同樣使用 .fit() 進行訓練,並用 .predict() 來對測試集進行流失預測。

5. Scikit-learn – 分類模型的成效評估

核心概念: 分類模型的評估指標比迴歸模型更豐富,我們不只關心「答對率」,更關心「模型錯在哪裡」。

本案例應用重點:

  • confusion_matrix (混淆矩陣): 這是評估分類模型最重要的工具。它能清楚地顯示出模型在「預測流失,且實際也流失 (True Positive)」和「預測未流失,但實際已流失 (False Negative)」等四種情況下的表現,幫助我們了解模型的具體錯誤類型。
  • classification_report: 這個函式會一次性回報多個關鍵指標,包含準確率 (Precision)召回率 (Recall)F1-score,讓我們能更全面地評估模型的好壞。
  • accuracy_score: 整體預測的正確率,也就是「答對的題數 / 總題數」。

6. Matplotlib & Seaborn – 分類結果的視覺化

核心概念: 我們將評估指標與模型洞察,透過視覺化圖表呈現出來。

本案例應用重點:

  • seaborn.heatmap(): 我們使用熱力圖來視覺化「混淆矩陣」,透過顏色的深淺,讓模型的預測結果一目了然。
  • model.feature_importances_: 這是決策樹模型的一個重要屬性,它儲存了每一個特徵對於預測結果的「重要性分數」。
  • sns.barplot(x='重要性', y='特徵', data=feature_importance_df, palette='viridis') 這行程式碼是使用 seaborn 函式庫來繪製一個水平長條圖,目的是將「特徵重要性」這個分析結果視覺化。。

總結來說,這個案例的學習路徑是:

資料清理 -> One-Hot Encoding -> 切分資料集 -> 訓練分類模型 -> 評估分類模型 -> 視覺化”特徵重要性”

「顧客終身價值 (LTV) 預測」詳解

本案例將帶領我們進入「預測性分析」的領域。我們將學習如何使用機器學習中的迴歸 (Regression) 演算法,來預測一個連續的數值——顧客未來的消費總額。課程的重點不僅在於訓練模型,更在於如何從原始數據中提煉出有意義的特徵 (Feature Engineering)。

1. 環境設定:中文字型

核心概念: matplotlibseaborn 套件預設並未包含中文字型,若直接繪圖,圖表中的中文(如標題、座標軸標籤)將會顯示為無法辨識的方塊亂碼(暱稱為豆腐)。因此,繪製中文圖表前的第一步,就是手動安裝並設定字型。

本案例應用重點:

  • !wget ...: 我們在 Colab 中使用 wget 這個指令,從網路上下載一個開源的思源黑體字型檔 (.otf 檔),並將其存放在系統的字型路徑中。
  • import matplotlib.font_manager as fm: 引入字型管理器,用來讀取我們剛下載的字型檔。
  • plt.rcParams['font.family'] = ...: 這是最關鍵的一步,透過 rcParams (runtime configuration parameters) 這個設定,我們明確地告知 matplotlib:「接下來所有的圖表,請一律使用我們剛剛指定的那個中文字型來繪製。」

2. 載入數據

  • files.upload(): 執行這行程式碼時,Colab 會在您的瀏覽器中跳出一個檔案上傳的對話視窗,讓您可以從本機電腦選擇要上傳的檔案
  • uploaded = ...: 當您選擇檔案並完成上傳後,files.upload() 會回傳一個 Python 字典 (dictionary),裡面包含了您上傳的檔案資訊(檔名作為 key,檔案內容作為 value)。這個字典會被存放在 uploaded 這個變數中。
  • try: ... except Exception as e: ...:這是一個錯誤處理的結構。
    • try:: 程式會嘗試執行 try 區塊內的所有程式碼。
    • except Exception as e:: 如果在 try 的過程中,發生任何錯誤(例如,上傳的檔案不是 CSV 格式、檔案已損毀等),程式不會因此崩潰,而是會跳到 except 區塊,執行裡面的程式碼來處理這個例外狀況。
  • file_name = next(iter(uploaded)):因為 uploaded 是一個字典,我們需要從中取出檔名。
    • iter(uploaded) 會建立一個字典鍵(也就是檔名)的迭代器。
    • next(...) 則會從這個迭代器中取出第一個項目。由於我們一次只上傳一個檔案,所以這樣就能成功取得該檔案的檔名。
如果使用本地端的編輯器執行Python腳本(例如Spyder,VSCode),只要設定好工作目錄,就可以直接使用pandas read_csv() 方法載入數據集。upload()是用在當你使用colab環境時。

3. Pandas – 進階資料處理與特徵工程

核心概念: 特徵工程是將原始數據轉換為能更好地代表問題潛在規律的特徵,以供機器學習模型使用的過程。在本案例中,我們將從交易記錄中建構出經典的 RFM 模型指標。

本案例應用重點:

  • pd.to_datetime(): 將文字格式的日期轉換為 Python 的時間物件,這是進行時間相關計算的基礎。
  • pd.Timedelta(): 用於進行日期的加減運算,例如在本案例中,我們用它來定義分析的基準日。
  • df.groupby('...'): 再次運用分組功能,這次是根據 CustomerID 將所有交易記錄歸戶到每一位顧客身上。
  • .agg()lambda 函式: 這是本案例的特徵工程核心。我們使用 .agg() 對分組後的資料進行多重彙總計算,並在其中巧妙地運用 lambda 匿名函式,來快速定義「計算最近一次消費天數」這樣客製化的計算邏輯。

4. Scikit-learn – 建立你的第一個機器學習模型

核心概念: scikit-learn 是 Python 最主流的機器學習函式庫。我們將學習一套標準的模型建立流程:切分資料 -> 初始化模型 -> 訓練模型 -> 進行預測。

本案例應用重點:

  • 資料切分 train_test_split(): 這是機器學習的關鍵步驟。我們將資料集分為「訓練集」(用來訓練模型) 和「測試集」(用來評估模型成效)。test_size=0.2 代表我們保留 20% 的資料作為從未見過的考試題目,以檢驗模型的真實預測能力。
  • 模型初始化 LinearRegression(): 從 scikit-learn 中選擇並建立一個線性迴歸模型的「空白模具」。
  • 模型訓練 .fit(): 這是機器「學習」的過程。我們將訓練集的特徵 (X_train) 與答案 (y_train) 交給模型,.fit() 方法會自動找出特徵與答案之間的數學關係。
  • 模型預測 .predict(): 使用訓練完成的模型,對測試集的特徵 (X_test) 進行預測,得出模型的預測結果。

5. Scikit-learn – 模型的成效評估

核心概念: 模型的好壞不能憑感覺,必須要有客觀的評估指標。

本案例應用重點:

  • from sklearn.metrics import ...: 從 metrics 模組中,我們匯入了兩個常用的迴歸模型評估工具。
  • mean_squared_error (MSE): 均方誤差,用來衡量模型預測值與真實值之間的平均誤差程度,數值越小代表模型越準確。
  • r2_score (R²): R-squared 值,代表模型對資料變異的解釋能力,其值越接近 1,表示模型的解釋力越強。

6. Matplotlib – 迴歸結果的視覺化

核心概念: 對於迴歸模型,最直觀的評估方式就是比較「預測值」與「真實值」的差異。

本案例應用重點:

  • plt.scatter(): 我們使用散點圖,將 X 軸設為「真實值」,Y 軸設為「模型預測值」。
  • 繪製對角線 plt.plot(): 我們額外繪製一條 y=x 的虛線。如果模型預測完美,所有的點都會落在這條線上。因此,我們可以透過觀察散點的分佈與這條線的貼近程度,來直觀判斷模型的預測效果。

總結來說,這個案例的學習路徑是:

資料前處理 -> 特徵工程 (計算 RFM) -> 切分資料集 -> 訓練迴歸模型 -> 評估模型成效 -> 視覺化預測結果

顧客分群模型:方法、應用與最新發展

顧客分群(Customer Segmentation)是現代行銷與客戶關係管理的核心技術,透過將顧客依據行為、特徵或價值分組,企業能更精準地制定行銷策略、提升客戶滿意度與利潤。隨著數據量與複雜度提升,機器學習與深度學習等先進方法已成為分群模型的主流。

主要分群方法與技術

  • 傳統分群法:K-means、層次式聚類(Hierarchical Clustering)、Fuzzy C-Means 等,適用於基於行為、人口統計或地理特徵的分群 (V.Vijilesh et al., 2021; Tabianan et al., 2022; Christy et al., 2018; Sun et al., 2021; Saxena et al., 2024)。
  • RFM模型:以Recency(最近消費)、Frequency(消費頻率)、Monetary(消費金額)為基礎,常結合K-means進行分群,部分研究加入多元參數(如產品多樣性)提升預測力 (Smaili & Hachimi, 2023; Christy et al., 2018; Madhiraju et al., 2024)。
  • 進階機器學習與深度學習:如自組織映射(SOM)、強化學習結合K-means、主成分分析(PCA)降維、DBSCAN等,能處理高維與複雜行為數據,提升分群精度 (Shah, 2024; Tabianan et al., 2022; Wani et al., 2023; Wang, 2022; Wang, 2025; Sun et al., 2021; Saxena et al., 2024)。

應用場景與效益

  • 精準行銷與資源分配:分群後可針對高價值客戶、潛在流失客戶等制定差異化策略,提升行銷效率與客戶忠誠度 (Balpande et al., 2025; Kumari, 2022; V.Vijilesh et al., 2021; Tabianan et al., 2022; Xiahou & Harada, 2022; Madhiraju et al., 2024)。
  • 動態市場追蹤:部分模型可追蹤分群隨時間變化,協助企業即時調整策略 (Böttcher et al., 2009)。
  • 反洗錢、風險管理:在金融領域,分群有助於風險分級與異常行為監控 (, 2020)。

顧客分群常用方法與應用比較

方法/模型適用場景優勢代表文獻
K-means聚類一般行為/屬性分群簡單高效,易於解釋(V.Vijilesh et al., 2021; Tabianan et al., 2022; Christy et al., 2018)
RFM分析零售、電商聚焦消費價值,易於行動(Smaili & Hachimi, 2023; Christy et al., 2018; Madhiraju et al., 2024)
深度學習/強化學習大數據、複雜行為分析處理高維數據,精度高(Wang, 2022; Wang, 2025)
動態分群快速變動市場可追蹤分群變化(Böttcher et al., 2009)

Figure 1: 顧客分群常用方法與應用場景比較

研究趨勢與未來方向

  • 多源數據融合:結合行為、評論、社群等多元數據,提升分群細緻度 (Kulkarni et al., 2022; Wang, 2022)。
  • 自動化與智能化:強化學習、群體智能等AI方法提升分群自適應能力 (Wang, 2022; Wang, 2025)。
  • 分群與預測結合:分群結果結合流失預測、回應預測等,提升行銷決策價值 (Smaili & Hachimi, 2023; Xiahou & Harada, 2022; Madhiraju et al., 2024)。

結論

顧客分群模型已從傳統統計方法進化到結合機器學習與深度學習的智能系統,能有效提升行銷精準度、客戶關係管理與企業利潤。未來趨勢將聚焦於多源數據融合與自動化分群,協助企業在競爭激烈的市場中持續創新與成長。

References

Balpande, S., Kolhe, J., Neware, A., & Gharjale, P. (2025). Customer Segmentation. International Journal of Innovative Research in Engineering & Multidisciplinary Physical Sciences. https://doi.org/10.37082/ijirmps.v13.i2.232353

Kumari, P. (2022). customer segmentation. The Fairchild Books Dictionary of Fashion. https://doi.org/10.1002/9780470685815.ch5

Shah, I. (2024). Customer Segmentation. International Journal for Research in Applied Science and Engineering Technology. https://doi.org/10.22214/ijraset.2024.58144

, V., , A., Dharshini, M., & , R. (2021). Customer Segmentation Using Machine Learning. Elementary Education Online. https://doi.org/10.17051/ilkonline.2021.03.335

Kulkarni, S., Lokhande, V., Bhalerao, N., Tajane, Y., & Kharat, J. (2022). Advance Customer Segmentation. **.

Tabianan, K., Velu, S., & Ravi, V. (2022). K-Means Clustering Approach for Intelligent Customer Segmentation Using Customer Purchase Behavior Data. Sustainability. https://doi.org/10.3390/su14127243

Smaili, M., & Hachimi, H. (2023). New RFM-D classification model for improving customer analysis and response prediction. Ain Shams Engineering Journal. https://doi.org/10.1016/j.asej.2023.102254

Christy, A., Umamakeswari, A., Priyatharsini, L., & Neyaa, A. (2018). RFM ranking – An effective approach to customer segmentation. J. King Saud Univ. Comput. Inf. Sci., 33, 1251-1257. https://doi.org/10.1016/J.JKSUCI.2018.09.004

Wani, A., Priyanka, M., & Prasath, R. (2023). Unleashing Customer Insights: Segmentation Through Machine Learning. 2023 World Conference on Communication & Computing (WCONF), 1-5. https://doi.org/10.1109/WCONF58270.2023.10235136

Wang, C. (2022). Efficient customer segmentation in digital marketing using deep learning with swarm intelligence approach. Inf. Process. Manag., 59, 103085. https://doi.org/10.1016/j.ipm.2022.103085

Wang, G. (2025). Customer segmentation in the digital marketing using a Q-learning based differential evolution algorithm integrated with K-means clustering. PLOS ONE, 20. https://doi.org/10.1371/journal.pone.0318519

(2020). Customer Segmentation. Anti‐Money Laundering Transaction Monitoring Systems Implementation. https://doi.org/10.1002/9781119381877.ch8

Xiahou, X., & Harada, Y. (2022). B2C E-Commerce Customer Churn Prediction Based on K-Means and SVM. J. Theor. Appl. Electron. Commer. Res., 17, 458-475. https://doi.org/10.3390/jtaer17020024

Madhiraju, B., Reddy, S., & Sasikala, G (2024). CUSTOMER SEGMENTATION USING RFM ANALYSIS. EPRA International Journal of Economic and Business Review. https://doi.org/10.36713/epra17685

Sun, Z., Zuo, T., Liang, D., Ming, X., Chen, Z., & Qiu, S. (2021). GPHC: A heuristic clustering method to customer segmentation. Appl. Soft Comput., 111, 107677. https://doi.org/10.1016/J.ASOC.2021.107677

Böttcher, M., Spott, M., Nauck, D., & Kruse, R. (2009). Mining changing customer segments in dynamic markets. Expert Syst. Appl., 36, 155-164. https://doi.org/10.1016/j.eswa.2007.09.006

Saxena, A., Agarwal, A., Pandey, B., & Pandey, D. (2024). Examination of the Criticality of Customer Segmentation Using Unsupervised Learning Methods. Circular Economy and Sustainability, 4, 1447-1460. https://doi.org/10.1007/s43615-023-00336-4