훈련으로 데이터 세트의 하위 집합을 얻은 경우 Python에서 데이터 세트를 분할하는 데 질문이 있습니다 .python의 일부 기능이 데이터 세트에서 훈련 세트를 제외하고 나머지 데이터 세트를 직접 가져올 수 있습니까? 처럼:
testing set = numpy.exclude(dataset , trainingset)
예를 들어 데이터 세트에 10 개의 행이 있고 2,4,7,9 행을 학습 세트로 사용 했으므로 나머지 데이터 세트를 쉽게 얻을 수있는 방법은 무엇입니까? 자세하게는이 훈련 데이터 셋은
for i in range(0,5):
Test_data = dataset[ratio*i:ratio*(i+1),:]
Train_data = dataset[0:ratio*i&ratio*(i+1):-1,:]
& 정의가 없기 때문에 내 코드가 작동하지 않았습니다.
학습 세트 행의 인덱스를 이미 알고있는 경우 제외하면 나머지 행의 인덱스를 가져올 수 있습니다.
training_rows_ix = [2,4,7,9]
non_training_rows = [i for i in dataset.index if i not in training_rows_ix]
test_set = dataset.loc[non_training_rows]
또는 목록 이해 대신 집합 연산을 사용합니다.
non_training_rows = sorted(set(dataset.index) - set(training_rows_ix))
또한 데이터 세트를 테스트 트레인으로 분할하는보다 강력한 솔루션은 scikit-learn의 테스트 트레인 분할을 살펴보세요.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다