바이너리 파일 저장
머신러닝 모델을 학습하는데는 오랜 시간이 걸리기 때문에 매 번 학습을 시키는 것은 비효율적입니다.
그래서 이전 포스팅에선 학습한 모델들을 바이너리 파일로 저장했습니다.
western-sky.tistory.com/16?category=829395
이 때 사용한 라이브러리가 바로 Pickle입니다.
pickle은 객체를 저장하는 '라이브러리'입니다.
With ... as 구문은 파일입출력시 자동으로 Close를 처리하는 '명령어'고요.
파일을 읽고 쓸 때 중요한 것은 파일을 항상 마지막에 닫아주어야 합니다.
하지만 프로그래머들이 실수로 Close하는 것을 까먹는 실수를 종종 범합니다.
그래서 With ... as 구문을 사용하는 것입니다.
With ... as 구문은 파일을 자동으로 닫아주는 역할을 하기 때문이죠.
pickle과 write의 차이는 '객체'를 바이너리 파일로 저장할 수 있느냐는 것입니다.
pickle은 객체도 파일로 저장할 수 있지만 write은 문자열(텍스트)만 가능합니다.
with open("file_name.txt", "wb") as file:
pickle.dump(object, file)
file_name.txt 파일을 wb방식으로 open한 뒤, file이라 부르겠다는 의미이고,
두 번째 줄은 객체(object)를 file에 저장하겠다는 의미입니다.
write함수의 간단한 예시입니다.
with open("file_name.txt", "w") as file:
file.write(string)
똑같이 file_name.txt 파일을 w방식으로 open해서, file이라 부르고,
두 번째 줄에서는 file에 문자열 string을 write한다는 뜻입니다.
가장 큰 차이점은 pickle은 텍스트가 아닌 '객체'를 파일로 저장할 수 있다는 것에 있습니다.
'데이터사이언스' 카테고리의 다른 글
과적합(Overfitting) 방지하기 (0) | 2021.03.08 |
---|---|
활성함수의 역할과 종류 이해하기 (0) | 2021.03.03 |
구글 플레이 스토어 - 리뷰 데이터 크롤링하기 (21) | 2021.01.14 |
외모지상주의 - 베스트 댓글 크롤링하기 (6) | 2021.01.12 |
Pandas - 데이터프레임 생성/병합/추출하기 (4) | 2021.01.08 |