提前感谢您的帮助。我正在尝试使用RandomUnderSampler()和拟合_样本()方法来平衡具有两个缺失值的僵尸网络数据集。该数据集包含一个标签列,用于使用0和1作为值的二进制分类。我正在使用Azure ML设计器,其中我创建了一个Python脚本执行模块,并使用平均值().没有无穷大值,最大的十进制值为5,747.13,最小值为0。
包含少量条目的数据集示例:
程式码片段:
def azureml_main(dataframe1 = None, dataframe2 = None):
# Handle Nan values
dataframe1.fillna(dataframe1.mean(), inplace=False)
# Execution logic goes here
rus = RandomUnderSampler(random_state=0)
X = dataframe1.drop(dataframe1[['label']], axis=1)
y = np.squeeze(dataframe1[['label']])
X_rus, y_rus = rus.fit_sample(X, y) # **line 32 with the ValueError**
错误:
---------- Start of error message from Python interpreter ----------
Got exception when invoking script at line 32 in function azureml_main: 'ValueError: Input contains NaN, infinity or a value too large for dtype('float64').'.
---------- End of error message from Python interpreter ----------
我使用fillna来解决2个缺失的值。我不确定如何在不影响当前值的情况下处理大的小数值。
1条答案
按热度按时间xtfmy6hx1#
谢谢Ghada。将您的解决方案张贴到答案部分以帮助其他社区成员。
使用
to_numeric()
函数在删除字符串中的空格后将字符串转换为数字。columns =['标志','原','saddr','daddr','状态','类别','子类别']用于x,在列中:(pd.to0)如果您的数据库中有一个数据框,那么您就可以使用该数据框。