[英]How can I drop the index of a Pandas Series (pandas.core.series.Series) to return a numpy.ndarray?
我正在嘗試顯示預測測試數據(二進制文本分類)的混淆矩陣。 但是在運行model.predict()
后,我無法讓y_pred
匹配y_test
。
首先,讓我們看一下測試/真實數據:
y_test = (y_test > 0.5)
print(y_test)
print(type(y_test))
輸出:
2 False
17 True
18 True
...
4980 True
4986 False
4990 True
pandas.core.series.Series
缺失的索引包含在訓練集中。
當我們根據測試數據進行預測時,會發生以下情況:
y_pred = model.predict(data_test)
y_pred = (y_pred > 0.5)
print(y_pred)
print(type(y_pred))
輸出:
[[ True]
[ True]
[ True]
[False]
...
[ True]
[ True]
[ True]]
numpy.ndarray
測試/真實數據:
y_test = (y_test > 0.5)
print(y_test)
輸出:
2 False
17 True
18 True
...
4980 True
4986 False
4990 True
最終,我希望構建一個混淆矩陣,但數據格式不同。
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, y_pred)
你有什么建議嗎?
迄今為止的嘗試:
y_test_np = y_test.values
輸出:
[False True True ... True False True]
更接近,但看起來我需要每個項目也是一個數組(例如[[ True] [False] [ True]]
)。 如何對齊數組?
只是為了說明,讓我們創建一些示例數據。
y_test = pd.Series([True, False])
y_pred = np.array([[True], [False]])
您可以將熊貓系列y_test
轉換為 numpy 數組
y_test.values
並squeeze
numpy 數組y_pred
以獲得相同的形狀
numpy.squeeze(y_pred)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.