3.7.3 독립적인 자원 평가
이러한 걱정을 최소화하고 헷갈리는 변수들을 줄이기 위해 메모리 사용을 테스트할 때는 작고 독립적인 프로그램을 짜는 것이 매우 유용합니다. 독립적인 시간 측정을 위해 스크립트를 일반화할 수도 있습니다.
In [21]:
!cat scripts/knn_memtest.py
import memory_profiler, sys from mlwpy import * @memory_profiler.profile(precision=4) def knn_memtest(train, train_tgt, test): knn = neighbors.KNeighborsClassifier(n_neighbors=3) fit = knn.fit(train, train_tgt) preds = fit.predict(test) if __name__ == "__main__": iris = datasets.load_iris() tts = skms.train_test_split(iris.data, iris.target, test_size=.25) (iris_train_ftrs, iris_test_ftrs, iris_train_tgt, iris_test_tgt) = tts tup = (iris_train_ftrs, iris_train_tgt, iris_test_ftrs) knn_memtest(*tup)