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
3条答案
按热度按时间8cdiaqws1#
实际上我解决了这个问题。我认为这是因为数据类型。将
np.float16
更改为np.float32
,解决了问题。我不知道为什么,这个问题只发生在np.float16
数据类型上。w8rqjzmb2#
2o7dmzc53#
如果它对任何人都有用,我在使用sklearn.linear_model中的广义线性模型时遇到了这个错误,即PoissonRegressor和GammaRegressor(这个错误在sklearn的www.example.com子模块中的某个地方出现loss.py)。只有一个目标变量,所以,正如我们通常对sklearn模型所做的那样,我做了
.reshape((-1, 1))
或等效的切片[:, None]
。令人惊讶的是,这导致了错误:当我删除目标向量整形时,错误消失了,代价是众所周知的sklearn警告数组的1D形状:)