我正在处理Azure ML,我的目标是看看如果我的数据集中有一个固定数量(百分比)的缺失值会发生什么。 我的想法可能是: 从数据集开始(参见示例成人数据集),复制原始数据集并将其调用为约定X.数据集X将包含20%的百分比中随机缺失的值。一旦我们拥有原始数据集和重复数据集X,我们就可以使用神经网络算法,创建训练和测试集,然后在输入中使用数据集X训练此神经网络。可能有趣的是,产生了全局错误。在我们可以想象扩展数据集X中缺失值的范围之后。从20%开始,在40%之后等等......我认为最难的部分是复制原始数据集,因此创建数据集X时缺少此数据集值。
我能以哪种方式做到?在Azure ML中使用模块还是使用R / Python脚本?
答案 0 :(得分:0)
只是分享我的想法,请参阅示例代码&评论如下。
import numpy as np
import pandas as pd
# Origin DataFrame
df = pd.DataFrame(np.random.randn(6,4))
# Copy data via flatten data matrix as an array
array = df.values.flatten()
# insert missing data by percent
# Define the percent of missing data
percent = 0.2
size = len(array)
# generate a random list for indexing data which will be assigned NaN
chosen = np.random.choice(size, int(size*percent))
array[chosen] = np.nan
# Create a new DataFrame with missing data
df2 = pd.DataFrame(np.reshape(array, (6,4)))
希望它有所帮助。