분류 전체보기 96

[MLOps] 11. 교차검증 (Cross-validation)

앞서 HPO를 통해 찾은 파라미터가 최적의 값인지 알아보는 방법은 무엇일까? 하이퍼파라미터 최적화의 대표적인 툴인 Optuna 활용 예시는 아래 실습 포스팅을 참고. https://ysryuu.tistory.com/16 [MLOps] 9. Optuna 실습 Optuna란? 하이퍼파라미터를 최적화 할 수 있는 대표적인 프레임워크 중 하나에 대해 모른다면 아래 포스팅 참고. https://ysryuu.tistory.com/15 [MLOps] 8. 하이퍼파라미터 최적화 Hyperparameter Optmization이란? ysryuu.tistory.com 교차검증 : K-fold Cross Validation 이란? - 목적 : 전체 Training 데이터를 Train, test(valid) 로만 나누는 Ho..

MLOps 2024.04.22

[MLOps] 10. MLflow + Optuna 실습

MLflow와 Optuna를 함께 사용 해보도록 하겠다. 시작하기 전, MLflow만 실습한 내용과 Optuna만 실습한 내용 각각은 아래 링크를 참고. https://ysryuu.tistory.com/14 https://ysryuu.tistory.com/16 [MLOps] 7. MLflow 로깅 실습 모델 파일 실행시 mlflow로 로깅해보기 모델이 있는 py파일에 로깅 코드를 함께 추가해서 실행해보자. 원래 train.py에 있는 내용은 아래 링크 참고하면 된다. 아래 파일 내용에서 mlflow관련 부분 제 ysryuu.tistory.com [MLOps] 9. Optuna 실습 Optuna란? 하이퍼파라미터를 최적화 할 수 있는 대표적인 프레임워크 중 하나에 대해 모른다면 아래 포스팅 참고. http..

MLOps 2024.04.22

[MLOps] 9. Optuna 실습

Optuna란? 옵튜나는 하이퍼파라미터를 최적화 할 수 있는 대표적인 프레임워크 중 하나. 하이퍼파라미터 최적화 개념은 아래 포스팅 참고. https://ysryuu.tistory.com/15 [MLOps] 8. 하이퍼파라미터 최적화 Hyperparameter Optmization이란? 하이퍼파라미터 최적화란, 주어진 목적함수를 최대/최소화 하는 최적의 파라미터 탐색 행위임 어떤 목적 함수들은 확률 관점에서 목적함수의 최대화가 필요한 반면 (Ac ysryuu.tistory.com 옵튜나 공식 github doc : https://github.com/optuna/optuna/blob/master/README.md#key-features optuna/README.md at master · optuna/opt..

MLOps 2024.04.22

[MLOps] 8. 하이퍼파라미터 최적화

Hyperparameter Optmization이란? 하이퍼파라미터 최적화란, 주어진 목적함수를 최대/최소화 하는 최적의 파라미터 탐색 행위임 어떤 목적 함수들은 확률 관점에서 목적함수의 최대화가 필요한 반면 (Accuracy, F1...) 다른 목적 함수들은 오류 관점에서 목적함수의 최소화가 필요함 (MSE, MAE...) 목적함수란? 목적함수란 머신러닝 모델의 평가지표로, 최적화optimization의 대상. 목적 함수objective function, 손실 함수loss function, 비용 함수cost function... 모두 모델 성능 평가에 따른 함수 최적화의 예시 n_estimator 에 따른 accuracy 값의 차이. 200일때 가장 높은 정확도가 됨을 알 수 있음. 이처럼 머신러닝에..

MLOps 2024.04.18

[MLOps] 7. MLflow 로깅 실습

모델 파일 실행시 mlflow로 로깅해보기 모델이 있는 py파일에 로깅 코드를 함께 추가해서 실행해보자. 원래 train.py에 있는 내용은 아래 링크 참고하면 된다. 아래 파일 내용에서 mlflow관련 부분 제외된 것. https://ysryuu.tistory.com/4?category=1165111 [MLOps] 2. 도커 사용 실습 - 이미지 build 및 .py파일 재현 1. 설치된 패키지 확인하기 $pip3 freeze 설치된 패키지들 및 버전을 확인할 수 있다. 2. 도커 설치하기 나는 맥북을 사용중이라 아래 사이트에서 맥용 데스크탑 버전을 다운 받았다. https://docs.docker.c ysryuu.tistory.com import mlflow from sklearn.datasets ..

MLOps 2024.04.18

[MLOps] 6. MLflow 로깅 방법

MLflow를 통해 실험을 로깅해보자. 파라미터와 메트릭을 로깅하는 방법을 알아보자. 1. MLflow 환경 설정 우선 docker compose 이용해서 환경 설정을 하고 MLflow를 연다. https://ysryuu.tistory.com/8?category=1165111 [MLOps] 5. 도커 Compose로 MLflow 시작하기 도커 Compose란? : 복잡한 명령 arguments, 다수 컨테이너를 처리해야 할때 활용 - 도커 명령어들을 코드로 관리할 수 있다. - 여러 컨테이너들의 실행 순서를 지정할 수 있다. - 여러 컨테이너 간의 볼 ysryuu.tistory.com 2. MLflow에서 새로운 실험 만들기 python을 실행한 후, 아래의 코드를 순차적으로 실행하면, MLflow 사이..

MLOps 2024.04.18

[Node.js] 2. Node.js 실행하기 (feat.REPL)

간단한 JS 파일 실행하기 1. JS 파일 만들기 VScode 환경에서 파일 생성 console.log('Hello Node.js') 2. 실행하기 파일을 경로에 저장 후, VScode 내장 터미널에서 아래와 같이 파일을 실행하면, 실행 결과 확인 가능함. node test.js js라는 확장자를 붙이지 않아도 실행 가능. 동일한 실행 결과를 볼 수 있다. node test REPL 모드에서 실행하기 node.js는 자바스크립트를 파일로만 실행하는게 아니라 REPL모드로 터미널에서 바로 실행가능하다. REPL 이란? - Read : 내용을 읽고 - Eval : 결과 값을 계산한 다음 - Print : 결과값을 출력 - Loop : 이런 과정을 계속 반복하기 REPL 모드 켜고 끄기 REPL 모드로 nod..

Dev 2024.04.18

[Node.js] 1. Node.js 개념 및 설치 방법

Node.js란? Node.js는 웹 브라우저 밖에서도 자바스크립트를 활용할 수 있게 하는 언어로, 특히 서버 개발, GUI 프로그램, 로봇용 프로그램 등을 쉽게 만들 수 있음. Node.js 의 유용성 Node.js를 배우면 자바스크립트 하나만 알아도 하나의 웹서비스를 만들 수 있음. 웹서비스 개발을 위해서는 Front end + Backend 가 일반적으로 필요하고, Frontend 개발에는 HTML, CSS, Javascript 등이, Backend 개발에는 Python, java, php 등의 언어가 필요했으나, Node.js는 자바스크립트로도 백엔드 개발을 가능하게 하므로, 전체 웹서비스 JS로 만들기 가능하다는 점이 가장 큰 장점. Node.js는 프레임워크일까? 정답 : 아니다. Node...

Dev 2024.04.18

[코테] 스택 - 2. 괄호 짝 맞추기

문제 : https://wikidocs.net/223100 문제08 괄호 짝 맞추기 # 문제 08 괄호 짝 맞추기★★ 저자 권장 시간 _ 30분 | 권장 시간 복잡도 _ O(N) | 출제 _ 저자 출제 [깃허브 URL](https://github.com/dr… wikidocs.net 스택 개념을 활용해서 괄호의 짝을 맞추는 가장 기본적인 문제다. (가 있을 경우 스택에 append, 짝이 맞는 )이 발견될 경우 () 쌍을 함께 지운다는 개념. 이때 )는 굳이 append하지 않아도 된다. def solution(s) : stack = [] for i in s : if i == '(' : stack.append(i) elif i == ')' : if len(stack) == 0 : # 비어있다면 retur..

Dev 2024.04.18

[코테] 스택 - 1. 스택 세부동작

스택에서 중요한 기능은 크게 네가지. Push, Pop, IsEmpty, IsFull 이다. 자료를 넣고 빼는 Push, Pop 즉 동작에 관한 기능과 더불어, 현재 스택의 상태가 어떠한지, 어떤 것들이 들어있는지를 확인하는 IsEmpty, IsFull 상태에 관한 기능도 중요해 보인다. 아래 네가지 기능을 간단하게 표현 한 것. 당연하게도 IsFull 확인을 위해서는 스택의 max 길이 정보가 주어져야 한다. IsFull stack = [] max_size = 10 def isFull(stack): if len(stack) == max_size : return True IsEmpty def isEmpty(stack): if len(stack) == 0 : return True Push def push(..

Dev 2024.04.18