AI時代系列(1) 機器學習三部曲: 🔹 第一部:《機器學習 —— AI 智慧的啟航》
71/100 第八週:機器學習在產業中的應用
71. 電商推薦系統 🛍 提升購物體驗,讓顧客買得更順手!
________________________________________
🔎 一、什麼是推薦系統?
推薦系統是一套讓平台 「猜到你想買什麼」 的 AI 技術,依據使用者的行為、喜好和特徵,自動推薦產品或服務,讓購物更貼心、更順手。
✅ 產業應用廣泛:
• 電商平台:蝦皮、MOMO、Amazon
• 影音平台:Netflix、YouTube
• 音樂平台:Spotify、KKBOX
• APP商店:Google Play、App Store
________________________________________
🌟 二、電商推薦系統的核心價值
功能 實際效果
個人化推薦 根據每個人喜好推薦商品,提升購物體驗
提升轉換率 用戶更容易下單,平台營收增加
提高黏著度 越用越準,讓人想一直逛、一直買
挖掘潛在需求 推薦用戶沒發現過但可能會愛的產品
________________________________________
🛠 三、電商推薦系統實作流程(可講解+帶實作)
步驟 重點
1. 資料收集 訂單紀錄、瀏覽紀錄、點擊行為、商品屬性
2. 特徵工程 處理商品類型、價格、品牌等特徵
3. 建立推薦模型 協同過濾、內容型推薦或混合模型
4. 模型評估 準確率、召回率、Top-K推薦效果
5. 實際部署應用 接入網站、APP,讓用戶實際感受到推薦
🧪 實作範例(以 Python & Pandas + Scikit-learn 為主)
✅ 1. 資料收集(模擬資料)
python
import pandas as pd
# 假設有以下訂單紀錄資料
data = {
'user_id': [1, 1, 2, 2, 3, 4],
'item_id': [101, 102, 101, 103, 104, 102],
'rating': [5, 3, 4, 2, 5, 3]
}
df = pd.DataFrame(data)
print(df)
✅ 2. 特徵工程(簡單 One-Hot + 標準化)
python
from sklearn.preprocessing import StandardScaler
# 商品屬性表
item_df = pd.DataFrame({
'item_id': [101, 102, 103, 104],
'price': [100, 200, 150, 300],
'category': ['A', 'A', 'B', 'C']
})
# One-hot 編碼類別
item_df = pd.get_dummies(item_df, columns=['category'])
# 標準化價格
scaler = StandardScaler()
item_df['price'] = scaler.fit_transform(item_df[['price']])
print(item_df)
✅ 3. 建立推薦模型(使用協同過濾矩陣分解)
python
from sklearn.decomposition import TruncatedSVD
import numpy as np
# 建立使用者-商品矩陣
user_item_matrix = df.pivot_table(index='user_id', columns='item_id', values='rating').fillna(0)
# 使用 SVD 進行矩陣分解
svd = TruncatedSVD(n_components=2)
matrix_reduced = svd.fit_transform(user_item_matrix)
# 預測使用者對商品的喜好
predicted = np.dot(matrix_reduced, svd.components_)
pred_df = pd.DataFrame(predicted, index=user_item_matrix.index, columns=user_item_matrix.columns)
print(pred_df)
✅ 4. 模型評估(Top-K 命中率簡易實作)
python
def get_top_k_recommendations(user_id, k=2):
user_pred = pred_df.loc[user_id].sort_values(ascending=False)
return user_pred.head(k).index.tolist()
# 示範推薦給 user_id = 1 的前兩個商品
print("Top-K 推薦:", get_top_k_recommendations(1))
✅ 5. 實際部署應用(簡易 API via Flask)
python
# 安裝 Flask: pip install flask
from flask import Flask, jsonify, request
app = Flask(__name__)
@app.route('/recommend', methods=['GET'])
def recommend():
user_id = int(request.args.get('user_id', 1))
top_k = get_top_k_recommendations(user_id)
return jsonify({'user_id': user_id, 'recommendations': top_k})
if __name__ == '__main__':
app.run(debug=True)
這套推薦系統的實作流程分為五個步驟,從資料收集到實際應用全面涵蓋。
首先,透過 pandas 模擬建立包含 user_id、item_id 和 rating 的訂單評分資料表,作為推薦系統的基礎數據來源,反映使用者對商品的互動行為。
接著進行特徵工程,建立商品屬性資料,對分類進行 One-Hot 編碼並將價格標準化,讓模型能理解商品特性。
第三步利用 pivot_table 將資料轉為使用者-商品矩陣,並透過 TruncatedSVD 進行矩陣分解,建立協同過濾模型,預測使用者對商品的潛在偏好。
第四步定義 get_top_k_recommendations 函數,根據預測結果取得前 K 名推薦商品,作為推薦清單。
最後透過 Flask 架設簡易 Web API,使用者只要訪問 /recommend?user_id=1,即可獲得對應的推薦清單,方便整合至網站或 App,完成推薦系統的實際部署與應用。
________________________________________
✅ 四、推薦系統常用技術與模型
方法 特點與應用
協同過濾(Collaborative Filtering) 根據相似用戶或相似商品行為推薦(Amazon經典做法)
內容型推薦(Content-Based) 根據商品屬性推薦(商品標籤、價格、品牌)
矩陣分解(SVD) 挖掘隱藏特徵,效果穩定
深度學習(Wide & Deep、Embedding) 用於大型平台,處理大量用戶與商品關係
________________________________________
📈 五、真實案例分享
✅ Amazon:商品「搭配購買」、「猜你喜歡」https://aws.amazon.com/tw/
✅ Netflix:推薦你可能愛看的影集 https://www.netflix.com/tw/
✅ Spotify:根據你愛聽的音樂推薦新歌https://open.spotify.com/
________________________________________
🎯 七、結論重點
• 推薦系統讓 每一次逛電商,都像有專屬銷售顧問在旁邊
• 大數據 + AI 幫助企業挖掘用戶潛在需求
• 提升銷售額、增加回購率、提高客戶滿意度
________________________________________
✅ 八、下一步實作與延伸
👉 深入內容型推薦
👉 加入深度學習 Embedding 技術
👉 練習設計「冷啟動」解決方案
👉 學會 A/B 測試評估推薦效果
________________________________________