上下文
我正在尝试标准化数据以运行ML模型。我正在对我的数据使用np.log
plt.hist(np.log(Portfolio_rtns['Aveva Returns']))
我也试过这样做:
log_Aveva = np.log(Portfolio_rtns['Aveva Returns'])
log_Aveva.hist();
但是你会得到这个错误
ValueError: supplied range of [-inf, -1.2977785811129585] is not finite
我检查了数据,甚至确保用0替换任何nan
值
我找到了使用np.isfinite
的this状态。但我觉得我的数据分布似乎因此而混乱
Port = np.isfinite(Portfolio_rtns['Aveva Returns'])
plt.hist(np.log(Port));
我还运行了这个函数
# Square root can also make normal distributed data
plt.hist(np.sqrt(Portfolio_rtns['Aveva Returns']));
虽然我得到了图表,但我得到了这个错误:
358: RuntimeWarning: invalid value encountered in sqrt
result = getattr(ufunc, method)(*inputs, **kwargs)
问题
我的数据有问题吗
因此,在仔细阅读Coursera之后,我发现使用
log1p
将整个数据中的所有零数加1。也可以消除负面影响。因此,解决方案是:或
data.describe()
#“数据”是您的数据李>相关问题 更多 >
编程相关推荐