【資料分析】python機器學習-使用不同的方法來評估模型準確率

更新於 2024/10/12閱讀時間約 21 分鐘
raw-image

在評估預測模型的準確率時,不同的評估方法可以從不同的角度分析模型的性能,從而幫助你更全面地理解模型的優缺點。這有助於你選擇最合適的方法來提升模型性能,並根據具體的業務需求做出最佳決策。


# 可使用目錄功能快速確認要閱覽的主題


方法選擇參考:

回歸問題

Mean Squared Error (MSE)

  • 定義: 預測值與實際值之間的平方誤差的平均值。
  • 適用情境: 適合在關注較大誤差並希望懲罰大誤差的情況下使用。

Mean Absolute Error (MAE)

  • 定義: 預測值與實際值之間的絕對誤差的平均值。
  • 適用情境: 適合在對誤差的絕對值敏感且希望避免極端誤差過度影響時使用。

R-squared (R²)

  • 定義: 解釋了模型能解釋的目標變量變異的比例。
  • 適用情境: 適合在需要衡量模型解釋變異能力時使用,尤其在基線模型已知的情況下。

Root Mean Squared Error (RMSE)

  • 定義: MSE 的平方根,保持與數據單位一致。
  • 適用情境: 適合在希望與原數據單位一致並關注較大誤差的影響時使用。


分類問題

Accuracy (準確率)

  • 定義: 正確分類的樣本數占總樣本數的比例。
  • 適用情境: 適合在類別分佈均衡且錯誤成本相近的分類問題中使用。

Precision (精確率)

  • 定義: 模型預測為正類的樣本中,實際為正類的比例。
  • 適用情境: 適合在錯誤陽性(假陽性)代價高的情況下使用,例如垃圾郵件過濾。

Recall (召回率)

  • 定義: 實際為正類的樣本中,模型正確識別的比例。
  • 適用情境: 適合在錯誤陰性(假陰性)代價高的情況下使用,例如疾病篩查。

F1-score

  • 定義: Precision 和 Recall 的調和平均數。
  • 適用情境: 適合在數據不平衡且 Precision 和 Recall 需要平衡時使用。

ROC-AUC (Receiver Operating Characteristic - Area Under Curve)

  • 定義: 表示模型在各種分類閾值下的性能,AUC值越接近1越好。
  • 適用情境: 適合在需要比較多個分類模型的整體性能時使用。


更多詳細解釋可參考:

【資料分析】最清楚分別準確率、精確率、召回率、F1-Score 的差異與使用情境


其它常用模型評估技術

交叉驗證(cross_val_score)

  • 定義: 用於執行模型的交叉驗證操作,從而估計模型的預測性能。它自動執行 K 次訓練和測試,每次使用不同的數據子集,並計算每次測試的性能指標。
  • 適用情境: 適合於當需要對模型進行徹底和穩健的評估時使用,特別是在需要避免過擬合並確保模型具有良好泛化能力的情況下。cross_val_score 提供了對模型性能的穩健估計,使得模型評估不依賴於特定的數據分割,適合用於比較不同模型或超參數調整後的模型效果。


為什麼需要用不同方法做模型的準確率評估?

使用不恰當的評估方法可能會誤導你對模型性能的判斷,導致選擇了不適合的模型,或錯過了潛在的好模型。因此,根據具體的數據特性和業務需求選擇合適的評估方法是至關重要的。

以下是一些例子來說明使用不恰當的評估方法可能會導致的誤導性結論。


1. 不平衡數據集中的高準確率陷阱

  • 問題情境: 假設你在處理一個分類問題,如欺詐檢測,其中95%的交易都是合法的,只有5%是欺詐交易。
  • 錯誤方法: 如果你只使用 accuracy_score 來評估模型的性能,並且模型總是預測所有交易都是合法的,那麼它的準確率會高達95%。
  • 潛在問題: 這樣的高準確率會讓你誤以為模型性能很好,但實際上,它根本無法識別欺詐行為。這對業務來說可能是災難性的,因為模型完全忽略了重要的少數類別。

正確方法: 在這種情況下,應該使用 precisionrecallF1-score 來衡量模型的性能,特別是在識別少數類別(欺詐行為)時的表現。


2. 使用MSE評估非均勻分佈的回歸問題

  • 問題情境: 假設你在預測房價,而數據集中包括了價值非常高的豪宅和普通的住宅。豪宅的價格差異可能非常大,從而產生較大的誤差。
  • 錯誤方法: 如果你只使用 MSE 來評估模型性能,豪宅的價格誤差會被平方放大,導致 MSE 變得非常大。
  • 潛在問題: 這會讓你以為模型表現很差,但事實上,模型對於普通住宅的預測可能是非常準確的。這種情況下,MSE 可能過於強調了豪宅部分的誤差,而忽略了其他部分的良好表現。

正確方法: 在這種情況下,可以考慮使用 MAE 來更均衡地評估模型的表現,因為 MAE 不會像 MSE 那樣過度放大大的誤差。


3. 忽略時間序列的順序特性

  • 問題情境: 你在做時間序列預測,如股價預測。數據的時間順序至關重要,因為未來的數據不應該用來預測過去。
  • 錯誤方法: 如果你在時間序列數據上使用普通的交叉驗證(k-fold cross-validation),可能會隨機分割數據,將未來的數據用於模型訓練,從而違反了時間序列的順序性。
  • 潛在問題: 這會導致過度擬合,並產生不真實的高準確率。模型看起來表現良好,但實際上在真正的預測中可能表現很差,因為它已經看過了未來的信息。

正確方法: 在這種情況下,應該使用時間序列特定的交叉驗證方法,如 TimeSeriesSplit,以保證訓練和測試集的時間順序是正確的。


4. 不考慮異常值的影響

  • 問題情境: 你在做一個簡單的線性回歸,預測某個城市的平均年收入。數據集中有幾個異常值(如某些超高收入的人群),它們嚴重偏離了大多數數據。
  • 錯誤方法: 如果你使用 MSE 來評估模型性能,這些異常值會極大地影響結果,導致 MSE 非常高。
  • 潛在問題: 這會讓你以為模型表現很差,可能讓你錯誤地放棄一個其實對大部分數據表現良好的模型。

正確方法: 在這種情況下,可以考慮使用 MAE,因為它對異常值不敏感,或者考慮對數據進行異常值處理後再評估模型。


回歸問題模型評估指標


Mean Absolute Error (MAE)

預測值與實際值之間差異的絕對值的平均。它衡量了預測值與實際值之間的平均絕對差異。

應用場景:

MAE 適合用於需要衡量預測誤差大小但不想對大誤差給予過大懲罰的場景。對於異常值不敏感,常用於財務、銷售預測等領域。

from sklearn.metrics import mean_absolute_error
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
mae = mean_absolute_error(y_true, y_pred)
print("Mean Absolute Error (MAE):", mae)


MAE 優點:

  • 直觀且易於理解:MAE 衡量的是預測值與實際值之間差異的平均絕對值,因此它提供了一個非常直觀的衡量模型誤差的方式。
  • 對異常值不敏感:由於是絕對值,MAE 不會像平方誤差那樣對異常值過於敏感。

MAE 缺點:

  • 缺乏方向性:MAE 不會告訴你誤差是正的還是負的,只給出了誤差的大小。
  • 對誤差的處理相對平等:不像 MSE 那樣能夠給予大誤差更高的權重,這可能在某些情況下是個缺點。


Mean Squared Error (MSE)

預測值與實際值之間差異的平方的平均。它放大並懲罰了大的誤差。

應用場景:

MSE 適合用於需要重點關注並避免大誤差的領域,如制造業和品質控制。

from sklearn.metrics import mean_squared_error
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
mse = mean_squared_error(y_true, y_pred)
print("Mean Squared Error (MSE):", mse)


MSE 優點:

  • 放大大誤差:由於誤差被平方,所以較大的誤差會對總體評分有較大影響,這有助於強調和處理這些大誤差。
  • 廣泛應用:在許多優化算法中,MSE 是自然的性能評估指標,因為其導數(需要用於梯度下降等算法)易於計算。

MSE 缺點:

  • 對異常值高度敏感:由於誤差被平方,因此異常值會對 MSE 造成很大的影響,這可能會導致模型過於關注極端情況。
  • 不易直觀理解誤差的實際大小:由於單位是原始數據的平方,因此較難直觀感知誤差的實際大小。


Root Mean Squared Error (RMSE)

RMSE 是 MSE 的平方根,使得誤差單位與原數據單位一致。

應用場景:

RMSE 適用於需要直接以原始數據單位評估模型誤差大小的場景,如能源消耗、環境監測等。

from sklearn.metrics import mean_squared_error
import numpy as np
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
mse = mean_squared_error(y_true, y_pred)
rmse = np.sqrt(mse)
print("Root Mean Squared Error (RMSE):", rmse)


RMSE 優點:

  • 誤差尺度一致性:由於取了平方根,RMSE 的單位與原數據的單位一致,這使得誤差的大小更容易被理解和解釋。
  • 放大大誤差:與 MSE 一樣,RMSE 也放大了大誤差的影響,有助於識別和處理這些情況。

RMSE 缺點:

  • 對異常值仍然敏感:雖然不如 MSE 那麼敏感,但 RMSE 仍然會對異常值有較高的敏感度。
  • 計算相對複雜:涉及到平方和平方根,計算成本稍高於 MAE。


R-squared (R²)

R² 是一個統計量,表示模型解釋的變異量占總變異量的比例,範圍通常在 0 到 1 之間。

應用場景:

R² 廣泛應用於量化模型對數據集變異的解釋程度,特別是在經濟學和社會科學的預測模型中。

from sklearn.metrics import r2_score
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
r2 = r2_score(y_true, y_pred)
print("R-squared (R²):", r2)


優點:

  • 解釋性強:R² 提供了一個表示模型解釋目標變量變異的百分比的度量,非常直观地顯示了模型的解釋能力。
  • 無單位:R² 是一個無單位的指標,範圍從 0 到 1,這使得它易於與其他模型或不同問題進行比較。

缺點:

  • 可能被誤解:R² 的值可以是負數(當模型比基線還差時),這可能對非技術受眾來說難以理解。
  • 對非線性模型不敏感:在處理非線性關係時,R² 可能不夠敏感,不能充分反映模型對數據的解釋能力。


分類問題模型評估指標


Accuracy (準確率)

正確預測的實例數占總實例數的比例。

應用場景:

適合於類別平衡的數據集。在類別極度不平衡的情況下,Accuracy 可能會給出誤導性的高分。

from sklearn.metrics import accuracy_score
y_true = [0, 1, 0, 1]
y_pred = [0, 1, 0, 0]
accuracy = accuracy_score(y_true, y_pred)
print("Accuracy:", accuracy)


Accuracy 優點:

  • 直觀易懂:準確率提供了一個直接的衡量模型整體正確性的方式。
  • 計算簡單:只需計算正確預測的比例。

Accuracy 缺點:

  • 對類別不平衡不敏感:在類別極度不平衡的數據集中,即使模型只預測多數類也能獲得高準確率。
  • 忽略了不同類別的錯誤成本:對所有類別的錯誤判斷一視同仁,無法反映實際應用中不同錯誤的成本。


Precision (精確率)

正確預測為正類的實例數占所有預測為正類的實例數的比例。

應用場景:

當錯誤的正預測的成本很高時,如在醫療診斷或垃圾郵件檢測中。

from sklearn.metrics import precision_score
y_true = [0, 1, 0, 1]
y_pred = [0, 1, 0, 0]
precision = precision_score(y_true, y_pred)
print("Precision:", precision)


Precision 優點:

  • 重點衡量正類預測的質量:在正類預測非常關鍵的情況下,如欺詐檢測或疾病診斷,精確率非常有用。
  • 有助於降低假正率:對那些將錯誤正類預測視為高成本的應用特別有用。

Precision 缺點:

  • 可能忽略召回率:單獨使用精確率可能會忽略模型識別正類樣本的能力(即召回率低的情況)。


Recall (召回率)

被正確預測為正類的實例數占所有真實正類的實例數的比例。

應用場景:

當錯過正類的成本很高時,如在癌症篩查中,錯過病例的後果非常嚴重。

from sklearn.metrics import recall_score
y_true = [0, 1, 0, 1]
y_pred = [0, 1, 0, 0]
recall = recall_score(y_true, y_pred)
print("Recall:", recall)


Recall 優點:

  • 專注於正類的全面性:召回率衡量了所有正類中被模型正確識別的比例,對於如醫學診斷這樣不能錯過任何正類案例的場景非常重要。
  • 減少假負率:適用於對漏判敏感的應用。

Recall 缺點:

  • 可能忽視精確率:高召回率可能伴隨著更多的假正率(即精確率降低)。


F1-Score

F1-Score 是 Precision 和 Recall 的調和平均,是兩者之間的平衡。

應用場景:

當你需要同時考慮 Precision 和 Recall,且這兩者同等重要時,常見於類別不平衡的情況。

from sklearn.metrics import f1_score
y_true = [0, 1, 0, 1]
y_pred = [0, 1, 0, 0]
f1 = f1_score(y_true, y_pred)
print("F1-Score:", f1)


F1-Score 優點:

  • 平衡精確率和召回率:F1-Score 是精確率和召回率的調和平均,當你需要平衡這兩個指標時非常有用。
  • 適合於不平衡數據集:尤其在正負類比例不均時,提供更實際的性能評估。

F1-Score 缺點:

  • 不容易解釋:相比精確率和召回率,調和平均更難直觀理解。
  • 對極端值敏感:如果精確率或召回率其中之一非常低,F1-Score 也會受到極大影響。


ROC-AUC (Receiver Operating Characteristic - Area Under Curve)

ROC 曲線是真正率對假正率的圖,AUC 表示該曲線下的面積,是模型區分兩個類別的能力的度量。

應用場景:

適合於評價模型在各種閾值下的整體表現,特別是在接收者需要從多個模型中選擇一個最佳模型時。

from sklearn.metrics import roc_auc_score
y_true = [0, 1, 0, 1]
y_scores = [0.1, 0.4, 0.35, 0.8]
roc_auc = roc_auc_score(y_true, y_scores)
print("ROC-AUC Score:", roc_auc)


ROC-AUC 優點:

  • 性能的整體評估:ROC 曲線展示了在不同閾值設定下模型的表現,AUC 表示模型區分正負類的能力。
  • 不受類別分布影響:ROC-AUC 性能不直接受到類別不平衡的影響,對比單一準確率更全面。

ROC-AUC 缺點:

  • 在極端類別不平衡下可能具有誤導性:雖然性能評估不受影響,但在正樣本非常少的情況下,假正率的變化不夠敏感,可能會過分樂觀地評估模型性能。
  • 計算和解釈相對複雜:比起基本的準確率或精確率,ROC 曲線和 AUC 的計算及解釋需要更多的統計知識。


更多詳細解釋可參考:

【資料分析】最清楚分別準確率、精確率、召回率、F1-Score 的差異與使用情境


其它常用模型評估技術


交叉驗證(cross_val_score)

cross_val_score 是 scikit-learn 提供的一個功能,用於執行模型的交叉驗證,它自動將數據集分割成多個子集,進行多次訓練和測試以評估模型的效能。它可以幫助估計模型的性能指標(如準確率、均方誤差等),並通過多次不同的數據子集分割來減少評估的偏差。

應用場景:

  • 模型選擇和調參: 通過交叉驗證多個模型或同一模型的不同參數配置,找出最適合數據的模型或參數設置。
  • 泛化能力評估: 在不同的數據子集上評估模型,以估計模型在新數據上的表現。
  • 避免過擬合: 通過在多個獨立的數據子集上訓練和測試,檢查模型是否過度學習到某一特定子集的特性。
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_val_score
from sklearn.datasets import load_iris

# 加載數據集
data = load_iris()
X, y = data.data, data.target

# 創建隨機森林分類器模型
model = RandomForestClassifier(n_estimators=100, random_state=42)

# 執行 5 折交叉驗證,計算準確率
scores = cross_val_score(model, X, y, cv=5, scoring='accuracy')

# 輸出每一折的準確率以及平均準確率
print("Cross-validation scores:", scores)
print("Mean accuracy:", scores.mean())


交叉驗證(cross_val_score) 優點

  1. 減少過擬合風險:
    • 交叉驗證通過多次將數據集分割成不同的訓練集和測試集來訓練和評估模型,幫助確保模型在未見數據上也能表現良好,從而降低過擬合的風險。
  2. 更可靠的性能評估:
    • 由於模型在多個獨立的數據子集上被評估,因此得到的性能指標(如準確率、精確率等)通常比單次數據分割更加穩定和可靠。
  3. 全面利用可用數據:
    • 在 K 折交叉驗證中,每一個數據點都會被用作訓練和測試,這使得模型訓練可以充分利用所有可用數據,增加學習效率。
  4. 靈活選擇評估指標:
    • cross_val_score 允許選擇不同的性能評估指標,如準確率、F1 分數、ROC-AUC 等,使其適應不同的模型和需求。


交叉驗證(cross_val_score) 缺點

  1. 計算成本高:
    • 交叉驗證需要多次訓練模型,對於大型數據集或計算密集型的模型,這可能導致顯著的計算成本和時間成本。
  2. 數據分割的隨機性:
    • 雖然通常認為交叉驗證可以減少評估的隨機性,但數據的分割方式仍然可能影響模型的性能評估,尤其是在數據量較小或分布不均的情況下。
  3. 不適用於時間序列數據:
    • 標準的交叉驗證方法不考慮數據點之間的時間依賴性,對於時間序列數據可能不合適。這種情況下需要使用專門的時間序列交叉驗證技術。
  4. 管理數據洩漏的挑戰:
    • 在進行交叉驗證時,需要仔細管理數據處理和特徵選擇過程,以防止信息從訓練集洩漏到測試集,尤其是在特徵工程和數據預處理階段。


avatar-img
7會員
20內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
JayRay 的沙龍 的其他內容
監督式學習是機器學習的一種方法,通過利用標註數據進行訓練,模型學習輸入特徵與結果標籤間的關係。此方法分為分類與回歸兩類,並涵蓋了多種算法如線性回歸、邏輯回歸和決策樹等。每種算法各有優缺點,適用於不同的應用場景。學習這些內容有助於理解如何選擇合適的模型以解決實際問題。
Seaborn 是基於 Matplotlib 的 Python 資料視覺化庫,旨在簡化統計圖形的繪製過程。本文介紹了 Seaborn 各類圖形的使用情況,包括散佈圖、折線圖、柱狀圖、直方圖、熱力圖和箱線圖,幫助用戶快速選擇合適的視覺化工具以進行有效的數據分析。
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
在資料分析過程中,透過衡量變數之間的線性或非線性關係,能有效探索數據集,篩選出重要特徵,並進行預測建模。本文介紹瞭如何理解數據、使用相關矩陣找出變數關聯性,以及利用互資訊評估變數之間的依賴程度,幫助資料科學家在建模過程中選擇適當的變數,提升模型效果。
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
監督式學習是機器學習的一種方法,通過利用標註數據進行訓練,模型學習輸入特徵與結果標籤間的關係。此方法分為分類與回歸兩類,並涵蓋了多種算法如線性回歸、邏輯回歸和決策樹等。每種算法各有優缺點,適用於不同的應用場景。學習這些內容有助於理解如何選擇合適的模型以解決實際問題。
Seaborn 是基於 Matplotlib 的 Python 資料視覺化庫,旨在簡化統計圖形的繪製過程。本文介紹了 Seaborn 各類圖形的使用情況,包括散佈圖、折線圖、柱狀圖、直方圖、熱力圖和箱線圖,幫助用戶快速選擇合適的視覺化工具以進行有效的數據分析。
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
在資料分析過程中,透過衡量變數之間的線性或非線性關係,能有效探索數據集,篩選出重要特徵,並進行預測建模。本文介紹瞭如何理解數據、使用相關矩陣找出變數關聯性,以及利用互資訊評估變數之間的依賴程度,幫助資料科學家在建模過程中選擇適當的變數,提升模型效果。
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
阿揪西放送的老朋友們應該知道,今年我剛結束了一段大齡留學生活。這段時間偶爾有網友私訊詢問學校申請、開銷和準備流程等問題,我也樂於分享各種細節。其中常提到的建議之一就是:開通一個便捷的網銀帳戶。
Thumbnail
從基本概念開始,然後逐步深入學習 pandas 的各種功能。這是一個非常強大的 Python 資料分析工具,常用於處理結構化數據。 基本概念 pandas 主要有兩個核心資料結構: Series: 一維的資料結構,類似於 Python 中的列表,但它可以帶有標籤(index)。 DataFr
Thumbnail
資料分析就像廚師料理一樣,但你知道可以分成哪9大流程嗎?一起看看資料分析流程和廚師料理有多像!
Thumbnail
資料分析三個主要的目的分別是探索性、解釋性及預測性。看看他們在方法及複雜度上有什麼差異,以及適用的情境。
Thumbnail
決定「分析單位」是資料分析執行前,最需要確認的項目;決定了「分析單位」等同於決定分析結果數據呈現方式、解讀和應用方法。讓我們一起了解「分析單位」到底是什麼?什麼會決定分析單位?以及沒有弄清楚分析單位會有什麼影響?
Thumbnail
上一篇介紹了 Python 中的條件判斷,方法是透過了自動程式條件式判斷,以不同劇本的方式來執行動作。然而實際情況下,我們還常會遇到一種問題,就是必須重複執行某些相同的步驟,而迴圈(loop)的設計就是為了解決此「重複執行」的一種控制結構,讓我們可以在條件符合的情況下利用迴圈執行資料的輸入、處理與輸
Thumbnail
經歷過第一次的課程內容後,我們已經初步理解到Python的基本運算功能,接下來就要開始進入到高階語言都有的程式控制邏輯,先來個小小開胃菜—條件判斷。 if敘述 直接來帶範例會比較清楚理解: 第一次我們輸入國文分數為50分,由於數值50並沒有大於60,第一個if敘述的condition條件判斷就會是F
Thumbnail
首先,聊聊我與SimilarWeb的不解之緣😊,以前在媒體界擔任產品經理時,老闆最愛問下屬的一件事,別人家競品的網站狀況如何?流量如何?廣告策略有哪些?可是坦白說,沒有認識到別家公司內部員工的話,誰有辦法清楚知道,這時只能想些折衷的辦法,去翻翻網路資訊,或請教一些數位界的前輩,了解是否有哪些第三方
Thumbnail
前幾年因為工作方面的需求,花了一些時間自學了Python,進行網站爬蟲與資料分析,但近期由於職務的轉換,Python的實作應用機會減少了許多,對於code撰寫的敏感度也因此降低不少,趁著上個月看到勞動力職能發展協會官網有一門新課程「Python大數據資料探勘分析應用班」正在線上招生,想說既然政府與公
Thumbnail
最近在公司跟資料科學家一起討論了產品推薦機制的運作邏輯,才開始理解了甚麼是關聯分析(Associative Analysis),覺得挺有趣的,想說把學習心得記錄下來,藉此機會跟大家分享。 接著下來,我們就以「樂屋網」產品的使用者行為資料庫,做為假設的範例,進行簡單的解釋說明。 條件機率與貝氏定理
Thumbnail
這一次在高雄上課,租用昂貴的電腦教室,只是很可惜,這家巨匠居然沒有安裝office,只有開放原始碼的試算表,有一點卡卡的,影響我的教學。 趁學員陸續到期,趕緊教他們下載資料;下載資料對我來說雖然簡單,但對於這一批學員來說,卻可能是第一次操作;還好很多學員立即學會,也立馬變身為種子教官,教會旁邊的學員
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
阿揪西放送的老朋友們應該知道,今年我剛結束了一段大齡留學生活。這段時間偶爾有網友私訊詢問學校申請、開銷和準備流程等問題,我也樂於分享各種細節。其中常提到的建議之一就是:開通一個便捷的網銀帳戶。
Thumbnail
從基本概念開始,然後逐步深入學習 pandas 的各種功能。這是一個非常強大的 Python 資料分析工具,常用於處理結構化數據。 基本概念 pandas 主要有兩個核心資料結構: Series: 一維的資料結構,類似於 Python 中的列表,但它可以帶有標籤(index)。 DataFr
Thumbnail
資料分析就像廚師料理一樣,但你知道可以分成哪9大流程嗎?一起看看資料分析流程和廚師料理有多像!
Thumbnail
資料分析三個主要的目的分別是探索性、解釋性及預測性。看看他們在方法及複雜度上有什麼差異,以及適用的情境。
Thumbnail
決定「分析單位」是資料分析執行前,最需要確認的項目;決定了「分析單位」等同於決定分析結果數據呈現方式、解讀和應用方法。讓我們一起了解「分析單位」到底是什麼?什麼會決定分析單位?以及沒有弄清楚分析單位會有什麼影響?
Thumbnail
上一篇介紹了 Python 中的條件判斷,方法是透過了自動程式條件式判斷,以不同劇本的方式來執行動作。然而實際情況下,我們還常會遇到一種問題,就是必須重複執行某些相同的步驟,而迴圈(loop)的設計就是為了解決此「重複執行」的一種控制結構,讓我們可以在條件符合的情況下利用迴圈執行資料的輸入、處理與輸
Thumbnail
經歷過第一次的課程內容後,我們已經初步理解到Python的基本運算功能,接下來就要開始進入到高階語言都有的程式控制邏輯,先來個小小開胃菜—條件判斷。 if敘述 直接來帶範例會比較清楚理解: 第一次我們輸入國文分數為50分,由於數值50並沒有大於60,第一個if敘述的condition條件判斷就會是F
Thumbnail
首先,聊聊我與SimilarWeb的不解之緣😊,以前在媒體界擔任產品經理時,老闆最愛問下屬的一件事,別人家競品的網站狀況如何?流量如何?廣告策略有哪些?可是坦白說,沒有認識到別家公司內部員工的話,誰有辦法清楚知道,這時只能想些折衷的辦法,去翻翻網路資訊,或請教一些數位界的前輩,了解是否有哪些第三方
Thumbnail
前幾年因為工作方面的需求,花了一些時間自學了Python,進行網站爬蟲與資料分析,但近期由於職務的轉換,Python的實作應用機會減少了許多,對於code撰寫的敏感度也因此降低不少,趁著上個月看到勞動力職能發展協會官網有一門新課程「Python大數據資料探勘分析應用班」正在線上招生,想說既然政府與公
Thumbnail
最近在公司跟資料科學家一起討論了產品推薦機制的運作邏輯,才開始理解了甚麼是關聯分析(Associative Analysis),覺得挺有趣的,想說把學習心得記錄下來,藉此機會跟大家分享。 接著下來,我們就以「樂屋網」產品的使用者行為資料庫,做為假設的範例,進行簡單的解釋說明。 條件機率與貝氏定理
Thumbnail
這一次在高雄上課,租用昂貴的電腦教室,只是很可惜,這家巨匠居然沒有安裝office,只有開放原始碼的試算表,有一點卡卡的,影響我的教學。 趁學員陸續到期,趕緊教他們下載資料;下載資料對我來說雖然簡單,但對於這一批學員來說,卻可能是第一次操作;還好很多學員立即學會,也立馬變身為種子教官,教會旁邊的學員