簡體   English   中英

Sklearn 預處理 -- *** TypeError: 找不到匹配的簽名

[英]Sklearn Preprocessing -- *** TypeError: No matching signature found

我正在嘗試標准化 CSR 矩陣,

但我收到此錯誤: (*** TypeError: No matching signature found).

from sklearn.preprocessing import normalize
normalize(x_m, norm="l2", axis=1)

該矩陣是 609186x849632 類型為 'numpy.float16' 的稀疏矩陣,其中包含 189140200 個以壓縮稀疏行格式存儲的元素

其實我解決了這個問題。 我認為這是因為數據類型。 np.float16更改為np.float32 ,解決了問題。 我不知道為什么,這個問題只發生在np.float16數據類型上。

from sklearn.preprocessing import normalize

columns_changed = []

for col in df.columns:
    col_type = x_m[col].dtypes
    if col_type == 'float16':
      columns_changed.append(col)
      x_m[col] = x_m[col].astype(np.float32)

normalize(x_m, norm="l2", axis=1)

for col in columns_changed:
  x_m[col] = x_m[col].astype(np.float16)

x_m

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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