본문 바로가기

Python

(13)
[Amazon Personalize] Personalize Python SDK 전체 프로세스 정리 1. 데이터 준비 INTERACTIONS, ITEM, USER 데이터에 대해 적절한 필드을 가진 CSV 파일로 S3에 저장 2. 데이터 스키마 생성 사용할 데이터세트별로 스키마를 만들고 만든 각 스키마의 arn 을 추출 3. 데이터세트 그룹 및 데이터세트 생성 전체 데이터세트 그룹을 만들어둠 각 데이터별로 데이터세트 생성 (dataset group arn 지정을 통해 하나의 dataset group 으로 통합 ) 4. S3에 원본 데이터 저장 personalize 에 활용할 데이터를 S3에 csv 파일 형태로 저장 이때 해당 Bucket이 personalize에 활용될 수 있도록 정책을 변경해주어야 함. 이때 해당 Bucket이 personalize에 활용될 수 있도록 정책을 변경해주어야 함. 5. Ro..
[AWS SageMaker] 저장된 모델로 배포하기 How to deploy using pre-trained model in SageMaker sagemaker 는 머신러닝 모델 학습부터 배포까지 한번에 진행할 수 있다고 이야기 하고 있다. 테스트를 진행하다보니 모델을 저장하는 단계와 배포하는 단계에 대해서는 어느정도 알게 된 것 같다. 그런데 이 테스트 코드의 단점은 이미 저장한 모델을 활용하는 부분이 빠져있다는 것이다. 모델에 데이터를 학습하고 바로 모델을 배포하고 예측하기도 하지만, 학습된 모델을 이후 다른 작업이나 프로젝트에도 활용이 가능해야 한다. 그래서 학습된 모델을 저장하고 나서 이 모델을 활용하기 위한 방법을 찾아보았다. # STEP 1. 학습된 모델의 저장 위치 와 What kind ? 이전에 학습을 진행한 모델이 S3의 어느 위치에 저장..
[AWS SageMaker] US census data for population segmentation https://aws.amazon.com/ko/blogs/machine-learning/analyze-us-census-data-for-population-segmentation-using-amazon-sagemaker/ Analyze US census data for population segmentation using Amazon SageMaker | Amazon Web Services August 2021: Post updated with changes required for SageMaker SDK v2, courtesy of Eitan Sela, Senior Startup Solutions Architect In the United States, with the 2018 midterm elect..
[AWS SageMaker] MNIST 데이터셋 Clustering 얼마 전 부터 AWS SageMaker 공부를 시작했다. SageMaker 는 AWS 상에서 쉽게 데이터 처리와 머신러닝 모델 구축 그리고 배포까지 도와주는 서비스라고 한다. 모델을 학습시켜본 적은 있지만 모델을 저장하고 배포한 적이 없어서 어떤 식으로 진행이 되는 것인지 배우려고 한다. 일단 그 전에 SageMaker 자체에 좀 익숙해지기 위해 테스트를 진행해보는 중이다. 브랜디 랩스 개발자 분이 올려주신 코드를 활용해보았다. SageMaker 기본 세팅 이후 s3에 학습 데이터를 저장하기 위해 sagemaker의 제한을 두는 role을 지정하여 사용해야 한다. 데이터 저장 및 활용 손글씨 숫자 데이터인 MNIST 이미지 데이터를 활용하기 위해 우선적으로 다운로드가 필요했다. 참고했던 사이트에서 활용하..
Komaran 의 java.lang.NullPointerException 에러 + 해결방안 텍스트 데이터에 대해 Konlpy 태깅 작업을 하던 중 에러가 발생. Mecab, Kkma, Okt 태깅 작업에서는 해당 에러가 발생하지 않았지만 Komaran 을 적용할 때만 발생. 찾아본 결과 텍스트 내의 \n 등의 문자등을 인식하지 못해 발생하는 것. 다른 태깅들은 자동으로 제외를 시켜주지만 Komaran은 자동으로 처리를 해주지 않아 발생하는 것으로 보임. replace 함수를 통해 해당 문자를 바꿔주었지만 여전히 에러. 텍스트를 직접 확인해보니 replace 적용이 되지 않은 상태였다. replace 적용을 위해 해당 칼럼을 str 를 처리하고 replace 하는 방식이 필요. 문자열로 변환한 다음 처리했더니 에러 없이 적용이 되는 것으 확인할 수 있음.
MongoDB를 위한 Robo 3T 설치 및 open Shell MongoDB를 관리하기 위한 툴로 Robo 3T를 사용하기로 했다. 그냥 테스트용으로 사용할 예정이었기 때문에 관리 툴까지는 생각해본 적이 없었다. 하지만 데이터를 수집하다보니 데이터의 양이 많아졌고, 관리 툴의 필요성이 느껴졌다. robo 3T 말고 다른 툴도 사용하다고 하는데 일단 난 Robo 3T를 골랐다. 설치는 생각보다 훨씬 간단했다. brew 만 있으면 된다. Robo 3T 가 있는지 확인하고 brew install 로 바로 설치하면 끝 이 과정에서는 오류도 발생하지 않았다. 설치하고 나면 응용프로그램에 Robo3T가 설치된 것을 확인할 수 있다. 설치하고 더블 클릭해서 들어가면 보안 문제가 발생했다 그건 맥 설정 들어가서 보안 영역에서 open 해주면 해결되었다. Robo 3T에 대해 검색..
MongoDB 설치 on M1 공공 데이터 포털에서 데이터를 수집해 firebase에 저장하고 있었다. 하지만 무료 계정은 역시나 용량이 작다... 결국 로컬에 데이터베이스를 설치하기로 했다. 많은 양의 데이터를 저장할 예정이고 공공데이터 등 외부에서 수집할 데이터를 저장하기 때문에 join 작업이 많이 없기 때문에 NoSQL 데이터베이스를 선택했다. 그 중 MongoDB를 사용하기로 했다. mac M1 을 사용하고 있어 설치하는데 x86 Homebrew 를 설치 및 이용해야 한다고 하는데 무슨 말인지 이해하지는 못했고 아래의 글 그대로 진행했다. https://sun5066.tistory.com/entry/M1-맥북-몽고디비-설치 [M1 맥북 프로] 몽고디비 설치 일단... M1 칩셋에서는 몽고디비가 아직까지 로제타2로 돌아가기 때..
공공데이터 API 수집 + Python + Firebase 저장 이제 국민연금공단에서 제공하고 있는 사업자 내역 데이터를 가져올 수 있다. 가지고 온 데이터는 월별 데이터로 월별 50만개 정도의 데이터가 있다. 약 50만개 * 70개월 = 약 3500만개 정도 되는 것이다. 물론 모든 데이터를 가지고 있을 필요는 없지만 근래와 이후 발생할 데이터를 고려한다면 파일 형태 저장이 아닌 데이터베이스에 저장할 필요가 있다고 판단했다. 이때 활용할 데이터베이스는 Firebase 이다. 회사 업무로 여러가지를 찾아보면서 알게 되었는데 많이들 사용하는 것 같다. 그래서 이번 작업은 Python 을 이용해 공공데이터를 수집하고 바로 Firebase에 저장하는 것이다. 우선 연동하기에 앞서 Firebase 에 프로젝트를 생성해야 한다. 이 과정을 통해 비공개 키를 받았다. 또한 py..