【发布时间】:2020-03-10 11:18:06
【问题描述】:
在我的数据集中,很少有数据(即1.4619664882428694e+258)大于float32 最大值(3.4028235e+38)。现在在拟合模型时出现以下错误:
Input contains NaN, infinity or a value too large for dtype('float32').
我试过下面的代码:
df_features = pd.read_csv('data\df_features.csv')
df_target = pd.read_csv('data\df_target.csv')
X_train, X_test, y_train, y_test = train_test_split(df_features, df_target, test_size=.25, random_state=0)
model = AdaBoostRegressor()
try:
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
acc = r2_score(y_test, y_pred)
print(acc)
except Exception as error:
print(error)
如果我想使用真实数据而不进行规范化,我该如何解决这个问题?是否有任何选项可以让我将 sklearn 的默认数据类型设置为 float64。如果是,那怎么办?
【问题讨论】:
-
您可以发布您的部分数据吗?
-
我在这里添加了示例数据:github.com/bikashkarmokar/float32_bug_sklearn
-
考虑接受并支持我的回答。更多详情请关注 github 请求
标签: python-3.x pandas machine-learning scikit-learn floating-point