반응형 전체 보기51 Bigquery 에서 반복문 사용법 Bigquery에서 반복문을 활용해 반복 작업을 효율적으로 수행할 수 있다종류와 관계없이 일반적인 언어의 반복문 제어와 비슷하므로 쉽게 적응해서 사용 가능하다. 지원하는 Loop 종류LOOPREPEATWHILEFOR .. IN LOOP 기본 문법LOOP /* SQL */END LOOP; LOOP와 END LOOP; 내에 반복이 필요한 SQL구문을 써준다조건을 만족할 때까지 반복 수행할 때 유용 활용 예시DECLARE x INT64 DEFAULT 0;LOOP SET x = x + 1; IF x >= 10 THEN LEAVE; END IF;END LOOP;SELECT x;DECLARE를 활용해 LOOP 내에서 사용할 변수를 선언한 후 LOOP 실행 Bigquery에서 LEAVE는 BREAK와 같은.. 2024. 10. 8. Bigquery PK 지정 방법 빅쿼리 테이블에 PK(Primary Key) 지정하는 방법관계형 데이터베이스처럼 강제성을 띄는 것은 아니지만 메타에 (table detail)에 표시되므로 유용함 CREATE OR REPLACE `프로젝트명.데이터셋명'.테이블명`( COL1 STIRNG , COL2 STRING , COL3 DATE , PRIMARY KEY (COL1, COL2) NOT ENFORCED ); PK로 지정할 컬럼들을 PRIMARY KEY (COL1) NOT ENFORCED 식으로 입력하면 된다. 2024. 9. 25. 머신러닝 시스템 설계 - Chapter 7. 모델 배포와 예측 서비스 배포 (deploy)는 일반적으로 모델을 실행하고 액세스 가능하게 함을 의미하는 포괄적인 용어 모델은 보통 개발 환경에서 실행되지만 모델을 배포하려면 개발 환경에서 벗어나야 함 모델을 테스트하기 위해 스테이징 환경에 배포하거나 최종 사용자가 사용할 프로덕션 환경에 배포 프로덕션은 다양한 스펙트럼에서 정의될 수 있음 어떤 팀에게 프로덕션이란 비즈니스 팀에 보여줄 플롯을 생성하는 일이지만 어떤 팀에게는 하루 수백만 명 사용자를 위해 모델을 계속 가동하는 것을 의미 상황에 따라 프로덕션 환경도 매우 다양하지만 일반적으로 두 번째 팀에 가까운 상황일 때 '배포'가 중요 '어려운 부분을 모두 무시하면 배포가 쉽다'라는 말처럼 단순한 배포는 매우 쉬움 특히 최근 들어 간단한 배포를 위한 도구와 코드들이 많이 제공되.. 2023. 12. 10. Virtualbox 가상머신 외부접속 환경 구성 쿠버네티스 실습을 위해 데스크탑에 Virtualbox를 이용해 가상 머신 4대를 구축했다. 하지만 주 개발환경은 Macbook 이므로 맥북에서 가상머신에 접근할 수 있도록 네트워크 설정을 진행해주었다. 먼저 데스크탑의 가상머신은 다음과 같다. 가상머신들은 NAT 과 호스트 전용 네트워크를 통해 Host (데스크탑)과 연결되어 있다. 그리고 SSH 연결을 위해 Virtualbox 포트 포워딩을 해주었다. 포트 포워딩이란 외부 IP와 외부 Port를 내부 IP와 내부 Port와 연결시켜주는 작업으로 여기서는 Host인 데스크톱이 외부가 되고 가상머신들이 내부가 된다. 나는 Vagrant를 통해 vagrantfile에서 포트포워딩을 코드로 설정해주었지만 그렇지않다면 Virtualbox에서 설정-네트워크-어댑터.. 2023. 11. 27. 머신러닝 시스템 설계 - Chapter 6. 모델 개발과 오프라인 평가 ML 모델 개발을 하기 위해선 먼저 적절한 ML 알고리즘을 선정해야함이번 장에서는 ML 알고리즘을 선택하기 위한 팁들과 디버깅, 실험 추적, 버전 관리 등 모델 개발의 다양한 측면에 대해 기술함 모델 개발은 반복 프로세스이므로 반복이 끝날 때마다 모델 성능 비교 필요모델 배포 전 다양한 테스트를 통해 프로덕션 환경에서 좋은 결과를 내는 모델을 선정해야함 ML 모델 선정은 기본적으로 ML에 대한 백그라운드가 많이 필요한 영역책의 저자인 칩 후옌은 깃허브를 통해 ‘Basic ML Review’ 제공함개인적인 생각으로 ML에 대한 기본 개념은 자주 잊어버리기 때문에 이런 페이지들을 늘 찾아보는 습관이 중요 6.1 모델 개발과 훈련 ML모델 개발과 훈련에는 모델 평가 방법, 앙상블 생성, 실험 추적, 버전 관리.. 2023. 10. 12. 머신러닝 시스템 설계 - Chapter 5. 피처 엔지니어링 2014년 논문 Practical lessons from predicting clicks on Ads at Facebook 에서는 올바른 피처를 보유하는 것이 ML모델을 개발하는 데 가장 중요하다고 말함실제로 모델 개발에 있어 하이퍼파라미터 조정 같은 알고리즘 기법보다 피처 설계가 성능에 더 결정적인 영향을 줌 5.1 학습된 피처 vs. 엔지니어링된 피처 딥러닝이 발전하면서 피처 엔지니어링에 대한 의존도가 많이 줄어듦딥러닝은 피처를 수작업으로 만들 필요없이 알고리즘에 의해 자동으로 학습되고 추출됨하지만 모든 피처가 자동으로 학습되는 것도 아니고 ML 프로덕션 환경에서 쓰이는 모델 대부분은 딥러닝 모델이 아님 예를 들어 딥러닝 이전에 자연어 분석을 위해서는 원본 텍스트에서 불용어 제거, 표제어 추출, 줄임.. 2023. 10. 10. 머신러닝 시스템 설계 - Chapter 4. 훈련 데이터 3장은 시스템 관점에서 데이터를 처리하는 방법다뤘다면 이번 챕터는 Data science 관점에서 데이터를 처리하는 방법을 다룸 ML 모델을 개발하는데 훈련 데이터는 매우 중요하지만 대부분의 커리큘럼은 전체 업무 프로세스에서 일부분일 뿐인 ‘모델링’에 치중됨 (물론 나도 그렇게 배웠다)ML 모델을 시스템으로 만들고 프로덕션에 배포하기 위해서는 데이터를 올바르게 처리하는 일도 매우 중요 이 책에서는 ‘훈련 데이터셋’이 아닌 ‘훈련 데이터’라는 용어를 사용‘데이터셋’은 유한하고 고정적인 집합을 의미하지만 프로덕션 환경에서 데이터는 유한하지도 고정적이지도 않음ML 시스템 개발 과정에서 훈련 데이터 생성 역시 반복 프로세스모델이 수명 주기를 한 사이클 돌고 나면 훈련 데이터 역시 개선될 가능성이 높음 (높은 확.. 2023. 10. 6. 머신러닝 시스템 설계 - Chapter 3. 데이터 엔지니어링 기초 3.1 데이터 소스 ML 시스템은 다양한 소스에서 온 데이터로 작동소스 별 데이터마다 특성, 목적, 처리 방법 등이 다르므로 소스를 파악하면 데이터를 효율적으로 사용하는데 도움이 됨 사용자 입력 데이터 (user input data)사용자가 명시적으로 입력하는 데이터텍스트, 이미지, 비디오, 업로드된 파일 등이 해당사용자가 원격으로 데이터를 입력하기 때문에 잘못된 포맷이 될 가능성이 매우 높으므로 철저한 검사와 처리가 필요 (수치가 필요한 곳에 문자 입력, 깨진 파일 등등)사용자는 즉각적인 반응을 원하므로 빠른 처리가 필요한 경향이 있음 시스템 생성 데이터 (system-generated data)시스템의 여러 구성 요소에서 생성된 데이터 (로그, 모델 예측 같은 시스템 출력 등)로그는 시스템의 상태와 .. 2023. 8. 15. 머신러닝 시스템 설계 - Chapter 2. 머신러닝 시스템 설계 소개 ML 시스템 설계 시 주요 고려 사항으로 목적, 요구사항, 프로세스, 문제 구조화 등이 있음목적은 시스템이 필요한 이유비즈니스용이라면 비즈니스 목적에 맞게 ML 모델의 목적 설정 필요 요구사항은 시스템 개발의 이정표신뢰성, 확장성, 유지보수성, 적응성 등 다양한 항목을 고려한 요구사항 정의 필요또 이를 만족하는 시스템을 설계하기 위한 반복 프로세스가 정의되어야 함 ML 알고리즘으로 문제를 풀기 위해서는 해당 문제를 ML 문제로 구조화하는 작업 필요 2.1 비즈니스와 머신러닝의 목적 데이터 과학자는 ML 프로젝트를 진행하면서 모델 지표 (MAE, F1-score 등) 를 끌어올리는데 주력종종 모델의 정확도를 높이기 위해 방대한 자원을 투입하기도 함 하지만 비즈니스 환경에서 이런 ML 지표 자체에는 크게 관.. 2023. 8. 6. 머신러닝 시스템 설계 - Chapter 1. 머신러닝 시스템 개요 ‘머신러닝 시스템’ 이라고 하면 다들 알고리즘만 떠올리지만 프로덕션 환경에서 알고리즘은 ML 시스템의 일부 시스템은 프로젝트의 출발점이 된 비즈니스 요구사항, 사용자와 개발자가 시스템과 상호작용하는 인터페이스, 데이터 스택, 모델을 개발 및 모니터링하고 업데이트하기 위한 로직과 이 로직을 전달할 수 있는 인프라까지 포함 1.1 머신러닝을 사용해야 하는 경우 ML 프로젝트를 수행하기 전에 반드시 필요한가? (필요조건인가?) 비용 효율적인가? 를 꼭 따져봐야함일반적으로 ML 솔루션은 아래와 같은 작업을 수행함💡ML은 기존 데이터로부터 복잡한 패턴을 학습하고 이러한 패턴을 사용해 본 적 없는 데이터에 대해 예측을 수행하는 접근법 ML 을 도입하기 전 확인해야할 사항들 학습 : 시스템에 학습 능력이 존재ML 은.. 2023. 7. 30. 13장. 통계적 품질관리 통계적 품질관리(Statistical Quality Control; SQC) - 1924년 슈하르트(W. shewahart)에 의해 소개된 이후 현재까지도 가장 보편적으로 사용되며 많은 산업체로부터 그 성능을 입증받음SQC 또한 만능의 기법은 아니며 특히 공정에 중점을 둔 것으로 품질을 향상시키고자 하는 노력에는 한계가 있음이에 최근에는 제품의 설계 분야에 보다 중점을 둔 다구찌 방법등이 등장하였지만 SQC는 여전히 기본적으로 필요한 수단즉, 효율적인 공정관리의 바탕 위에서 다구찌 방법 등이 효과를 거둘수 있음TQC(Total Quality Control) 또는 TQM(Total Quality Management) 의 경우 품질향상에 대한 노력을 조직 전체의 목표로 확장한 것이지만 중요한 부분 중 하나는.. 2023. 7. 24. 12장. 품질설계 품질에 관련된 문제의 대부분은 품질특성의 설계단계부터 내재 →\rarr → 적극적 의미에서의 품질향상을 위한 노력은 효율적인 설계에서부터 시작되어야 함기존의 관리도기법은 이미 설계된 품질을 갖는 제품의 제조공정에서 발생할 수 있는 공정이상상태를 사전에 감지하여 예방공정의 분산을 근본적으로 감소시키거나 품질을 개선시키지는 못함다구찌 기법은 설계단계에서의 품질 중요성을 강조하는 실용적인 방법론기존의 관리도 중심의 통계적 공정관리기법 (online QC), 다구찌 기법 (offline QC) 두 개를 합쳐서 품질공학(quality engineering)이라고 부르기도 함 12.1 다구찌의 품질해석 및 손실함수 일반적으로 품질이란 사용의 적합성(fitness for use) 또는 목적의 적합성(fitness .. 2023. 7. 24. 이전 1 2 3 4 5 다음 반응형