azure 使用imblearn中的欠采样方法时,如何处理输入值错误?

qlvxas9a  于 2022-12-04  发布在  其他
关注(0)|答案(1)|浏览(116)

提前感谢您的帮助。我正在尝试使用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个缺失的值。我不确定如何在不影响当前值的情况下处理大的小数值。

xtfmy6hx

xtfmy6hx1#

谢谢Ghada。将您的解决方案张贴到答案部分以帮助其他社区成员。
使用to_numeric()函数在删除字符串中的空格后将字符串转换为数字。
columns =['标志','原','saddr','daddr','状态','类别','子类别']用于x,在列中:(pd.to0)如果您的数据库中有一个数据框,那么您就可以使用该数据框。

相关问题