簡體   English   中英

如何刪除 Pandas 系列 (pandas.core.series.Series) 的索引以返回 numpy.ndarray?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM