0

我正在執行機器學習任務,其中我使用邏輯迴歸進行主題分類。如何顯示模型的輸出?

如果這是我的代碼:

model= LogisticRegression() 
model= model.fit(mat_tmp, label_tmp) 

y_train_pred = model.predict(mat_tmp_test) 

print(metrics.accuracy_score(label_tmp_test, y_train_pred)) 

有沒有一種方法,我可以輸出究竟是什麼模型內部發生的事情。這可能是我的模型正在做的一個工作示例?就像可能顯示2-3個文件以及它們如何被分類一樣?

+0

您可以使用預測方法得到預測結果,但2-3個數據點的分類示例與「模型內發生的確切情況」非常不同。您不知道模型的行爲與您選擇的2-3個文件是否具有一般行爲的代表性。 – BrenBarn

+0

你需要更具體地描述你想要的:描述它並給出一個例子或三個例子。 「我的模型在做什麼」並不具體。你需要什麼級別的細節?你在問一些內部過程的痕跡嗎?這聽起來好像你想要輸出打破模型的「黑盒子」範例。還要注意,這個操作根據實現的算法而變化。 – Prune

回答

2

爲了充分了解模型中發生的情況,您必須先花一些時間研究邏輯迴歸算法(例如,從講義或Wikipedia)。與其他監督技術一樣,邏輯迴歸具有超參數和參數。超參數基本上指定了算法的運行方式,您必須在初始化時提供它(即在它看到任何數據之前)。例如,您可以獲得有關類的分佈的先前信息,然後這將是一個超參數。參數是從您的數據中「學習」的。

一旦你理解了算法,有趣的問題將是你的模型的參數是什麼(回想起來,這些是從數據中檢索的)。通過訪問documentation,您可以在屬性部分找到該分類器有3個參數,您可以通過它們的字段名訪問這些參數。

如果您對這些細節不感興趣,但只想評估分類器的準確性,一種有用的技術是交叉驗證。您可以將標記的數據分成相等大小的子集,並使用k-1對它們進行訓練。然後,您評估剩下的1個子集上的訓練分類器並計算精度(即可以正確預測哪些數據比例)。這種方法有其缺點,但通常證明是非常有用的。