반응형

몽고DB 데이터 저장

현재 몽고 DB에 아래와 같은 데이터가 저장되어 있습니다. KEY로는 reg_date, user_id, ids가 있으며, ids안에 다시 key:value 형태로 id와 score를 저장하고 있습니다.

{
    "_id" : ObjectId("abcdefg"),
    "reg_date" : "2023-05-07",
    "user_id" : "foo",
    "ids" : [
        {
            "id" : "boo",
            "score" : "100.0"
        },
        {
            "id" : "boo1",
            "score : "80.0"
        }
    ]
}

트리노 몽고DB 조회

트리노에서 위의 몽고 데이터를 조회하게 되면 아래와 같이 나옵니다.

reg_date user_id ids
2023-05-07 foo {{id=boo, score=100.0},{id=boo1, score = 80.0}}

 

문제

앞서 말씀 드린 것과 같이 ids안에는 각각의 id와 score가 key:value형태로 저장되어있습니다. 

이번 포스팅에서는 json형태의 ids안에 key를 각 컬럼 value를 row로 변경해보려 합니다.

reg_date user_id ids
2023-05-07 foo {{id=boo, score=100.0},{id=boo1, score = 80.0}}

                                                                         ▼

reg_date user_id id score
2023-05-07 foo boo 100.0
2023-05-07 foo boo1 80.0

해결

아래와 같이 unnest, cross join을 통해 간단하게 추출할 수 있습니다.

select a.reg_date, a.user_id ,id ,score 
from mongo.db.table a
cross join unnest(ids) as x(id,score)
where reg_date '2023-05-07'
and user_id ='foo'
반응형
반응형

원인

이번주 부터 갑자기 자동화로 수집되는 크롤링들이 안되는 경우가 있었을 겁니다. 이유는 바로 115버전으로 업데이트 되면서 chromedriver_autoinstaller.install(True)이 제대로 작동하지 않아서 입니다. 저는 아래와 같은 에러메세지가 발생했습니다.

해결

1. 크롬드라이버다운(115)

https://chromedriver.chromium.org/downloads

 

ChromeDriver - WebDriver for Chrome - Downloads

Current Releases If you are using Chrome version 115 or newer, please consult the Chrome for Testing availability dashboard. This page provides convenient JSON endpoints for specific ChromeDriver version downloading. For older versions of Chrome, please se

chromedriver.chromium.org

우선 115가 아니더라도 자신의 크롬버전의 맞은 크롬드라이브를 다운받습니다. 우선 아래 빨간색 밑줄 클릭후

 

저는 115이기 때문에  stable win64버전을 다운받았습니다.

2. 코드 수정

기존에러 코드

chrome_ver = chromedriver_autoinstaller.get_chrome_version().split('.')[0]
try:
    driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver.exe', options=option)
    
except:
    chromedriver_autoinstaller.install(True)
    driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver.exe', options=option)
driver.implicitly_wait(10)

수정된 에러코드

저는 스크립트와 크롬드라이브를 같은 폴더내에 위치하여 경로를 아래와 같이 잡았습니다. 수정 후 배치를 다시 진행되면 스크립트가 정상적으로 수행되는 것을 볼 수 있습니다.

chrome_ver = chromedriver_autoinstaller.get_chrome_version().split('.')[0]
try:
    driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver.exe', options=option)
    
except:
    chromedriver_autoinstaller.install(True)
    
    ## 현재 작동안함
    #driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver.exe', options=option)
    
    ## 신규 코드
    driver = webdriver.Chrome(f'./chromedriver.exe', options=option)
driver.implicitly_wait(10)
반응형
반응형

docker 실습을 위해 wsl에 우분투 운영체제를 설치하려고합니다.

 

설치

검색에서 microsoft store를 클릭 후 원하는 운영체제를 검색합니다. 검색후 다운로드 및 설치를 진행하면 됩니다. 중간에 cmd창이 열리면서 사용자명 입력하라고 하며, 입력하면 설치가 완료됩니다.

설치확인

powerShell로 실행했으며, 잘 설치 된걸 확인했습니다.

반응형
반응형

WLS에 설치된 우분투가 도커 컴포즈 진행 중 먹통이 되는 상황이 발생하여, 삭제를 하였고 방법을 공유드립니다.

 

명령어

# 설치된 운영체제 확인
wslconfig.exe /l

# 운영체제 삭제
wslconfig.exe /u [운영체제 명]

# 운영체제 삭제 확인
wslconfig.exe /l

실행

반응형
반응형

안녕하세요 오늘은 금융 전략을 위한 머신러닝 책에 대해 리뷰를 해보는 시간을 가져보도록 하겠습니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

도서소개

 도서명  : 금융 전략을 위한 머신러닝

 출판사 : 한빛미디어

 가격 : 정가 35,000원

 

목차

PART 1 프레임워크
CHAPTER 1 금융머신러닝
CHAPTER 2 머신러닝모델개발
CHAPTER 3 인공신경망
PART 2 지도학습
CHAPTER 4 지도학습: 모델및개념
CHAPTER 5 지도학습: 회귀(시계열모델)
CHAPTER 6 지도학습: 분류
PART 3 비지도학습
CHAPTER 7 비지도학습: 차원축소
CHAPTER 8 비지도학습: 군집화
PART 4 강화학습과자연어처리
CHAPTER 9 강화학습
CHAPTER 10 자연어처리

책내용

chapter5 시계열알고리즘 및 실전 문제
chapter5 실전문제1 주가예측 결과

추천독자

1. 머신러닝 도입을 생각하고 있는 금융권 종사자

2. 금융권 데이터분석 취업을 준비하고 있는 분

3. 머신러닝을 통한 주가예측을 해보고 싶은 분

4. 머신러닝에 대한 기본 지식을 습득하고자 하는분

총평

코로나 팬데믹 이후 많은 사람아 금융자산에 관심을 가지게 되었고, 코인 및 주식은 요즘 젊은 세대에 없어서는 안될 대화 주제가 되었습니다. 이런 상황에서 데이터분석을 통한 기업분석, 머신러닝을 통한 주식 자동 매매 알고리즘을 개발해보고 싶다는 생각을 가졌고, 금융 전략을 위한 머신러닝 책을 읽게 되었습니다. 

 

금융 전략을 위한 머신러닝책은 파이썬 및 금융에 대한 기본지식을 가지고 있는 사람이 아닌 분에게는 다소 어렵게 읽힐 수 있는 책입니다. 위에 목차에서도 볼 수 있듯이 머신러닝에 대한 전반적인 내용을 책에 넣으려고 했기 때문에 위의 사전지식이 있어야 어느 정도 수월하게 읽을 수 있습니다. 또한, 특정 알고리즘 등에 대해 깊게 파고드는 책이 아니며, 금융 전략을 진행하는 시작점에 도움이 되는 책이라고 생각합니다.

 

책에서 가장 좋았던 부분은 각 챕터 마다 알고리즘에 대해 학습하고, 그 알고리즘을 적용한 실전 문제를 코드와 함께 볼 수 있다는 점입니다. 꼭 금융이 아니더라고 머신러닝에 대해 배우고 싶은 분들에게도 추천해주고 싶습니다. 마지막으로 아쉬운 점은 한 권에 방대한 양의 머신러닝 알고리즘을 다루려 하니, 내용이 자세하지는 않습니다. 그러다 보니 파이썬 및 머신러닝에 대해 기본지식을 가지고 있지 않다면, 어렵게 읽힐 수 있을 것 같습니다. 

 

반응형
반응형

Visual Studio Code를 사용할 때 마다,내가 선택한 Anaconda의 가상환경에 접속되게 하는 설정 방법입니다. 가상환경을 사용하는 이유는, 프로젝트마다 다양한 라이브러리를 설치하게 되며, 기존의 라이브러리를 업데이트 할 경우, 일어나는 충돌 방지할 수 있습니다. 또한 다른 환경에서 프로그램을 동작 할 경우 일어나는 버전문제를 해결할 수 있습니다. 

 

1. 아나콘다 다운로드

https://www.anaconda.com/products/individual#windows

 

Anaconda | Individual Edition

Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

 

2. Visual Studio Code 다운로드

https://code.visualstudio.com/download

 

Download Visual Studio Code - Mac, Linux, Windows

Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications.

code.visualstudio.com

 

3. VScode에서 Python extension설치

 

4. conda 가상환경 만들기

- conda -V : 콘다 버전 확인

- conda info --encs :콘다 환경리스트 확인

- python -V : 파이썬 버전 확인

- conda create -n my_env python=3.8.8 : python버전이 3.8.8인 가상환경 my_env생성, 파이썬 버전 지정하지 않을 경우 최신버전 설치 됩니다.

 

5. 설치된 가상환경 확인

중간에 y/n이 나올 경우 y를 입력하면 됩니다. 설치 후 conda info --envs를 입력하면 my_env 가상환경이 설치된걸 확인할 수 있습니다.

 

6. VScode 새로 만든 가상환경 설정

command + shift + p 입력 후 Select interpreter 선택하게 되면, 설치한 콘다 환경과, 새로 만든 가상환경이 보입니다. 새로 만든 가상환경 선택 후 hungry.py를 실행해보겠습니다. 익숙하신분도 있겠지만, 밑바닥 부터 시작하는 딥러닝1의 코드입니다. 

실행하면 vscode에서 자동으로 가상환경을 활성화 시킵니다. conda activate my_env 

 

7. 가상환경 제거

새롭게 만든 가상환경이 필요없다는 가정 하에 삭제 하겠습니다. 제거 후 conda info --envs로 확인하면 basd 환경만 남아있는걸 볼 수 있습니다.

conda env remove -n my_env : 가상환경 my_env 제거

반응형
반응형

맥북 m1을 사고 jdk 1.8.0_291 설치 후 eclipse설치 중 failed to create java virtual machine 에러 메세지가 발생했습니다. 

 

추측하기로는 jdk 8버전과 호환되는 eclipse2020-03, 2020-06은 m1과 호환되지 않다고 생각합니다.

 

따라서 우선 기존의 jdk를 삭제했습니다.

터미널에서 아래의 명령어를 입력하면 됩니다.

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefPane
sudo rm -fr ~/Library/Application\ Support/Oracle/Java

cd /Library/java/JavaVirtualMachines
sudo rm -rf jdk버전

 

다음

1. jdk 11(LTS) 설치(https://www.oracle.com/java/technologies/javase-downloads.html)

2. eclipse 2020-09 버전 설치 (https://www.eclipse.org/downloads/packages/release/2020-09/r)

 

다음과 같이 eclipse사용 및 jdk호환이 되었습니다.

이만 마치겠습니다.

반응형
반응형

Colab 사용 시 기본적으로 약 12GB의 램을 제공합니다. 충분하다면 충분한 용량이지만 부족하다면 턱없이 부족합니다. 그렇다면 어떻게 램을 증가시킬까요?

 

위의 사진처럼 list를 만든 후 for문을 통해 문장을 붙이며 ram을 최대치까지 증가시킵니다. 

 

위의 코드와 똑같이 입력하시면 약50% 진행 후 램이 초과되며, 아래와 같은 메세지가 나타납니다.

 

"고용량 RAM 런터임으로 전환하시겠습니까?"의 메세지에 예를 누르면

 

Colab의 RAM이 약 25GB로... 어?!

 

RAM이 35GB로 증가하였습니다. 얼마전까지 25GB로 기억하는데 역시 갓lab........... 잘쓰겠습니다.

반응형

+ Recent posts