불균형 데이터 파이프라인 테스트
이 단계에서는 unbalanced_data_pipeline 함수가 예상대로 작동하는지 테스트합니다.
unbalanced_data_pipeline.py 파일에 다음 코드를 추가합니다.
if __name__ == "__main__":
data = [
[[1, 2, 5], [1, 0]],
[[1, 6, 0], [1, 0]],
[[4, 1, 8], [1, 0]],
[[7, 0, 4], [0, 1]],
[[5, 9, 4], [0, 1]],
[[2, 0, 1], [0, 1]],
[[1, 9, 3], [0, 1]],
[[5, 5, 5], [0, 1]],
[[8, 4, 0], [0, 1]],
[[9, 6, 3], [0, 1]],
[[7, 7, 0], [0, 1]],
[[0, 3, 4], [0, 1]],
]
for epoch in range(10):
batch_data = unbalanced_data_pipeline(data, 6)
batch_data = list(batch_data)
print(f"{epoch=}, {batch_data=}")
if __name__ == "__main__": 블록에서 샘플 데이터와 배치 크기 6 으로 unbalanced_data_pipeline 함수를 호출합니다.
unbalanced_data_pipeline.py 파일을 실행하여 출력을 확인합니다.
python unbalanced_data_pipeline.py
출력은 원래 과제에서 제공된 예시와 유사해야 합니다.
epoch=0, batch_data=[[[1, 2, 5], [1, 0]], [[4, 1, 8], [1, 0]], [[1, 6, 0], [1, 0]], [[2, 0, 1], [0, 1]], [[7, 0, 4], [0, 1]], [[5, 9, 4], [0, 1]]]
epoch=1, batch_data=[[[4, 1, 8], [1, 0]], [[1, 2, 5], [1, 0]], [[1, 6, 0], [1, 0]], [[2, 0, 1], [0, 1]], [[9, 6, 3], [0, 1]], [[1, 9, 3], [0, 1]]]
epoch=2, batch_data=[[[4, 1, 8], [1, 0]], [[1, 2, 5], [1, 0]], [[1, 6, 0], [1, 0]], [[5, 5, 5], [0, 1]], [[7, 0, 4], [0, 1]], [[8, 4, 0], [0, 1]]]
epoch=3, batch_data=[[[1, 2, 5], [1, 0]], [[1, 6, 0], [1, 0]], [[4, 1, 8], [1, 0]], [[7, 7, 0], [0, 1]], [[8, 4, 0], [0, 1]], [[0, 3, 4], [0, 1]]]
epoch=4, batch_data=[[[4, 1, 8], [1, 0]], [[1, 6, 0], [1, 0]], [[1, 2, 5], [1, 0]], [[5, 5, 5], [0, 1]], [[0, 3, 4], [0, 1]], [[8, 4, 0], [0, 1]]]
epoch=5, batch_data=[[[1, 6, 0], [1, 0]], [[4, 1, 8], [1, 0]], [[1, 2, 5], [1, 0]], [[2, 0, 1], [0, 1]], [[7, 0, 4], [0, 1]], [[7, 7, 0], [0, 1]]]
epoch=6, batch_data=[[[1, 2, 5], [1, 0]], [[1, 6, 0], [1, 0]], [[4, 1, 8], [1, 0]], [[8, 4, 0], [0, 1]], [[5, 9, 4], [0, 1]], [[0, 3, 4], [0, 1]]]
epoch=7, batch_data=[[[1, 2, 5], [1, 0]], [[1, 6, 0], [1, 0]], [[4, 1, 8], [1, 0]], [[2, 0, 1], [0, 1]], [[0, 3, 4], [0, 1]], [[1, 9, 3], [0, 1]]]
epoch=8, batch_data=[[[1, 6, 0], [1, 0]], [[4, 1, 8], [1, 0]], [[1, 2, 5], [1, 0]], [[7, 7, 0], [0, 1]], [[2, 0, 1], [0, 1]], [[0, 3, 4], [0, 1]]]
epoch=9, batch_data=[[[1, 2, 5], [1, 0]], [[4, 1, 8], [1, 0]], [[1, 6, 0], [1, 0]], [[7, 0, 4], [0, 1]], [[0, 3, 4], [0, 1]], [[5, 5, 5], [0, 1]]]
이 단계에서는 unbalanced_data_pipeline 함수가 예상대로 작동하는지 테스트했습니다. 이제 이 함수는 불균형 데이터를 처리하고 대략적으로 균형 잡힌 클래스 분포를 가진 데이터 배치를 반환할 수 있습니다.