본문 바로가기
반응형

DATA Science50

[pyspark] Struct Type https://sparkbyexamples.com/pyspark/pyspark-structtype-and-structfield/ PySpark StructType & StructField Explained with Examples PySpark StructType & StructField classes are used to programmatically specify the schema to the DataFrame and create complex columns like nested sparkbyexamples.com https://docs.aws.amazon.com/ko_kr/glue/latest/dg/aws-glue-api-crawler-pyspark-extensions-types.html#aws-.. 2022. 12. 12.
MLops 시나리오 이 워크샵에서는 ML 실무자가 사용하는 일반적인 절차, 즉 CRISP-DM 프로세스를 자동화하는 MLOps 파이프라인을 구현합니다. 본질적으로 CI/CD 파이프라인을 생성하여 데이터 사전 처리, 기능 엔지니어링, 모델 교육, 모델 테스트, 모델 배포 및 모델 모니터링과 같은 수동 프로세스를 자동화하게 됩니다. 모두 민첩한 DevOps 모범 사례를 사용합니다. 워크숍은 ML 실무자의 관점에서 MLOps CI/CD 파이프라인 생성 및 실행에 중점을 두는 4가지 기본 모듈로 구성됩니다. MLOps CI/CD 파이프라인 소스 및 데이터 리포지토리 구성 ML Practitioner는 AWS CodeCommit에 리포지토리를 생성하여 모델 소스 코드를 저장합니다. 또한 모델 교육 및 추론 이미지를 저장할 리포지토리.. 2021. 8. 19.
MLops 실습 개요 데이터 과학자와 ML 실무자는 ML 모델을 구축, 테스트 및 프로덕션 환경에 배포하기 위해 Jupyter 노트북 이상의 것이 필요합니다. 또한 이러한 작업을 안정적이고 유연하며 자동화된 방식으로 수행해야 합니다. 실제 비즈니스 사례를 위한 모델을 개발하기 위한 ML 여정을 시작할 때 고려해야 할 세 가지 기본 질문이 있습니다. 조직에서 코드 한 줄과 관련된 변경 사항을 배포하는 데 얼마나 걸립니까? 프로덕션에서 모델 개념 드리프트를 어떻게 설명합니까? 반복 가능하고 안정적이며 자동화된 방식으로 모델을 구축, 테스트 및 배포할 수 있습니까? 따라서 이러한 질문에 대한 너의 답변이 만족스럽지 않다면 MLOps는 다음을 수행하는 데 도움이 될 수 있는 개념입니다. CI/CD(지속적 통합/지속적 제공)를 위한 .. 2021. 8. 19.
CRISP-DM 란? CRISP-DM으로 알려진 데이터 마이닝을 위한 산업 간 표준 프로세스는 데이터 마이닝 전문가가 사용하는 일반적인 접근 방식을 설명하는 개방형 표준 프로세스 모델입니다. 가장 널리 사용되는 분석 모델입니다. 2015년에 IBM은 CRISP-DM을 개선하고 확장하는 데이터 마이닝/예측 분석을 위한 분석 솔루션 통합 방법(ASUM-DM이라고도 함)이라는 새로운 방법론을 발표했습니다. 현재 연구에 따르면 CRISP-DM은 데이터 마이닝 산업의 기존 문제를 해결한 다양한 장점으로 인해 가장 널리 사용되는 데이터 마이닝 모델입니다. 이 모델의 단점 중 일부는 프로젝트 관리 활동을 수행하지 않는다는 것입니다. CRISP-DM의 성공 이면에 있는 사실은 이것이 산업, 도구 및 응용 프로그램에 중립적이라는 것입니다. .. 2021. 8. 19.
로지스틱 회귀: 모델 학습 로지스틱 회귀의 손실 함수 선형 회귀의 손실 함수는 제곱 손실입니다. 로지스틱 회귀의 손실 함수는 로그 손실로 다음과 같이 정의됩니다. 로그손실로그손실=∑(x,y)∈D−ylog(y′)−(1−y)log(1−y′) 여기서 (x,y)∈D는 라벨이 있는 예(x,y 쌍)가 많이 포함된 데이터 세트입니다. y는 라벨이 있는 예의 라벨입니다. 로지스틱 회귀이므로 y 값은 모두 0 또는 1이어야 합니다. y'는 x의 특성 세트에 대한 예측 값(0~1 사이의 값)입니다. 로그 손실 방정식은 정보 이론에서 말하는 섀넌의 엔트로피 측정과 밀접한 관련이 있습니다. 또한 우도 함수의 음의 로그로 y의 Bernoulli 분포를 가정합니다. 실제로 손실 함수를 최소화하면 최대 우도 추정치가 생성됩니다. 로지스틱 회귀의 정규화 정규.. 2021. 7. 28.
로지스틱 회귀: 확률 계산 많은 문제에 확률 추정치가 출력으로 필요합니다. 로지스틱 회귀는 매우 효율적인 확률 계산 메커니즘입니다. 실제로 반환된 확률을 다음 두 방법 중 하나로 사용할 수 있습니다. '있는 그대로' 이진 카테고리로 변환 확률을 '있는 그대로' 사용하는 방법을 살펴보겠습니다. 한밤중에 개가 짖는 확률을 예측하기 위해 로지스틱 회귀 모델을 만든다고 가정합니다. 이 확률은 다음과 같이 표시합니다. p(bark | night) 로지스틱 회귀 모델이 예측한 p(bark | night)가 0.05이면 개 주인은 1년 동안 약 18번 놀라서 깨게 됩니다. startled = p(bark | night) * nights 18 ~= 0.05 * 365 많은 경우 로지스틱 회귀 출력을 이진 분류 문제의 해결 방법으로 매핑합니다. .. 2021. 7. 26.
단순성을 위한 정규화: 람다 모델 개발자는 람다라는 스칼라(정규화율이라고도 함)를 정규화 항의 값에 곱하여 정규화 항의 전반적인 영향을 조정합니다. 즉, 모델 개발자는 다음을 수행하는 것을 목표로 합니다. 최소화손실데이터모델복잡도모델최소화 (손실 (데이터|모델)+λ복잡도 (모델)) L2 정규화를 수행하면 모델에 다음과 같은 효과를 줄 수 있습니다. 가중치 값을 0으로 유도(정확히 0은 아님) 정규 (종 모양 또는 가우시안) 분포를 사용하여 가중치 평균을 0으로 유도 람다 값을 높이면 정규화 효과가 강화됩니다. 예를 들어 높은 람다 값에 대한 가중치 히스토그램은 그림 2처럼 보일 수 있습니다. 람다 값을 낮추면 그림 3과 같이 더 평평한 히스토그램이 산출되는 경향이 있습니다. 람다 값을 선택할 때 세워야 할 목표는 단순성과 학습 데이.. 2021. 7. 25.
L₂ 정규화 다음에 제시된 일반화 곡선은 학습 반복 횟수에 대해 학습 세트와 검증 세트의 손실을 보여줍니다. 그림 1은 학습 손실은 점차 감소하지만 검증 손실은 결국 증가하는 모델을 보여줍니다. 즉, 이 일반화 곡선은 모델이 학습 세트의 데이터에 대해 과적합하다는 것을 보여줍니다. 이전에 언급했던 Occam 개념을 활용하면 복잡한 모델에 페널티를 부여하는 정규화라는 원칙을 사용하여 과적합을 방지할 수 있을지도 모릅니다. 다시 말해 다음은 단순히 손실을 최소화하는 것만을 목표로 삼습니다 (경험적 위험 최소화). 최소화 (손실 (데이터|모델) ) 이제 구조적 위험 최소화를 통해 다음과 같이 손실과 복잡도를 함께 최소화해 보겠습니다. 최소화 (손실 (데이터|모델) + 복잡도 (모델) ) 이제 우리의 학습 최적화 알고리즘은.. 2021. 7. 25.
특성교차: 원-핫 벡터 교차 이제까지는 별개의 두 부동 소수점 특성의 특성 교차에 초점을 맞추었습니다. 실제로 머신러닝 모델에서 연속 특성을 교차하는 경우는 거의 없습니다. 하지만 원-핫 특성 벡터를 교차하는 경우는 많습니다. 원-핫 특성 벡터의 특성 교차는 논리적 결합이라고 생각하세요. 예를 들어 국가와 언어, 두 특성이 있다고 가정합니다. 각 특성을 원-핫 인코딩하면 country=USA, country=France 또는 language=English, language=Spanish로 해석할 수 있는 이진 특성이 포함된 벡터가 생성됩니다. 그런 다음 이러한 원-핫 인코딩의 특성을 교차하면 다음과 같이 논리적 결합으로 해석할 수 있는 이진 특성이 생성됩니다. country:usa AND language:spanish 다른 예로 위.. 2021. 7. 25.
특성교차: 비선형성 인코딩 그림 1과 2에서 다음을 상상해 보세요. 파란색 점은 병든 나무를 나타냅니다. 주황색 점은 건강한 나무를 나타냅니다. 그림 1. 선형 문제 병든 나무와 건강한 나무를 깔끔하게 구분하는 선을 그릴 수 있나요? 예. 그릴 수 있습니다. 이 문제는 선형 문제입니다. 완벽한 선을 그릴 수는 없습니다. 병든 나무 한두 개가 '건강한' 쪽에 있을 수도 있지만, 이 선을 기준으로 나무의 상태를 적절히 예측할 수 있습니다. 이제 다음 그림을 보세요. 그림 2. 선형 문제 병든 나무와 건강한 나무를 깔끔하게 구분하는 직선 하나를 그릴 수 있나요? 아니요. 그릴 수 없습니다. 이 문제는 비선형 문제입니다. 어떤 선을 그려도 나무의 상태를 적절히 예측할 수 없습니다. 그림 3. 하나의 선으로 두 클래스를 구분할 수 없음 그.. 2021. 7. 25.
표현: 데이터 정제 한 그루의 사과나무에서는 좋은 사과와 벌레 먹은 사과가 같이 열립니다. 그러나 과일 가게에서 판매하는 과일들은 모두 최고의 품질을 자랑합니다. 유통 과정 중간에서 누군가가 심혈을 기울여 불량한 과일을 솎아내고 약간 흠집이 있는 과일을 깨끗이 손질한 것입니다. ML 엔지니어 역시 불량한 예를 솎아내고 약간 문제가 있는 예를 깨끗이 손질하는 데 막대한 노력을 기울입니다. '나쁜 사과' 몇 개가 거대한 데이터 세트를 망칠 수 있습니다. 특성 값 조정 조정이란 부동 소수점 특성 값을 100~900 등의 자연 범위에서 0~1 또는 -1~+1 등의 표준 범위로 변환하는 작업입니다. 특성 세트가 단일 특성으로만 구성된 경우 조정에 따르는 실질적인 이점은 거의 없습니다. 그러나 특성 세트가 여러 특성으로 구성되었다면 .. 2021. 7. 25.
표현: 좋은 특성의 조건 원시 데이터를 적절한 특성 벡터로 매핑하는 여러 가지 방법을 살펴보았지만, 아직 남은 과정이 많습니다. 지금부터는 이러한 특성 벡터 내에서 어떠한 종류의 값이 실제로 좋은 특성이 되는지 알아보겠습니다. 거의 사용되지 않는 불연속 특성 값 배제 좋은 특성 값은 데이터 세트에서 5회 이상 나타나야 합니다. 이러한 특성 값은 모델에서 라벨과의 관계를 학습하기가 쉽습니다. 즉, 동일한 이산 값을 갖는 예가 많으면 모델에서 다양한 설정으로 특성을 확인하여 라벨을 예측하는 좋은 지표인지를 판단할 수 있습니다. 예를 들어 house_type 특성은 값이 victorian인 예를 많이 포함할 수 있습니다. ✔house_type: victorian 반대로, 특성의 값이 한 번만 나타나거나 매우 드물게 나타난다면 모델에서.. 2021. 7. 25.
반응형