2017-02-14 1 views
0

저는 Azure ML을 다루고 있습니다. 제 목표는 데이터 세트에 고정 된 수량 (백분율)이 있으면 어떻게 될지보고 싶습니다. 내 생각은 다음과 같을 수 있습니다 : 데이터 세트 (예 : 성인 데이터 세트 가져 오기)에서 시작하여 원본 데이터 세트를 복제하여 X 규칙으로 부릅니다. 데이터 세트 X는 20 %의 비율로 무작위로 누락 된 값을 포함합니다. 일단 우리가 원래의 데이터 세트와 중복 된 데이터 세트 X를 가지면, 신경망 알 고를 사용할 수 있고, 훈련과 테스트 세트를 생성 한 다음, 입력 된 데이터 세트 X와 함께 신경망을 훈련시킬 수 있습니다. 보는 것이 흥미로울 수있는 것은 글로벌 에러가 발생했다는 것입니다. 데이터 세트 X에서 누락 된 값의 범위를 확장한다고 상상할 수 있다면 20 %에서 시작하여 40 % 이후로 ... 가장 어려운 부분은 원본 데이터 집합을 복제하여 누락 된 데이터 집합 X를 만드는 것이라고 생각합니다. 값.데이터 세트에 누락 된 값을 일정량 넣으십시오. - Azure ML

나는 그것을 어떻게 할 수 있습니까? Azure ML 또는 R/Python 스크립트에서 모듈 사용하기?

+0

그리 어렵지 않습니다. 1과 데이터 프레임의 길이 사이의 임의의 숫자 목록을 세트의 20 % 인 값 수만큼 작성하여 변수에 저장하십시오. (ro in 1 : nrow (df)) {if (ro % in % random_list) {df $ datafield [ro] <- NA}}로 for 루프를 논리로 변환하는 행 식별자로 사용하십시오. ' – sconfluentus

+0

그 ... 그런데. 하지만 당신이해야 할 일은 어떤 언어로 스크립트를 작성하고 논리를 사용하여 임의로 생성 된 행 ID와 그 값을 대체하는 것입니다. – sconfluentus

+0

@bethanyP 답변 해 주셔서 감사합니다. 열 유형이 다른 경우에도 작동합니다. 나는 R 언어와 그 개념이 정말로 분명하지 않은 것을 안다. .. 미안하다! – Fraangel

답변

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))) 

희망이 있습니다.