본문 바로가기
728x90
반응형
SMALL

Data-driven Methodology79

[Spark] 스파크 클러스터 스파크 클러스터 실행 환경은 일반적으로 여러 시스템 (ex: 클러스터)에 분산된다. 실행을 위해 작업을 클러스터에 제출한다. Spark 자체는 Scala / Java로 작성되었다. 그러나 Python 인터페이스를 사용하면 데이터 과학 전문가가 이점을 누릴 수 있다. 배포 유형 자체 호스팅 클러스터 배포 (24시간 풀타임 엔지니어가 필요) 클라우드 솔루션 (ex: Google Cloud의 Cloud Dataproc 및 AWS의 EMR) 공급 업체 기반 배포 (ex: Databricks) 여기서 공급 업체는 GCP, AWS 및 Azure와 같은 IAAS 제공업체 위에 위치한다. 여러 데이터 과학 도구에 쉽게 액세스할 수 있다. Airflow 및 MLflow와 같은 워크플로 관리 도구와 통합된다. PySpar.. 2024. 1. 8.
Apache Spark Apache Spark Apache Spark는 대규모 데이터 처리를 위한 분석 엔진이다. Spark에는 Cloud SQL, 스트리밍, 머신러닝, 그래프를 위한 라이브러리가 있다. Spark를 사용하면 여러 컴퓨터에서 데이터 작업 (전처리, 기능 엔지니어링, 훈련)을 실행할 수 있다. 스파크의 핵심 아이디어는 복원력 있는 분산 데이터 세트 (RDD)라는 개념이다. 이 핵심 아이디어를 사용하여 Spark는 내결함성과 규모를 관리할 수 있다. Spark에는 pandas 및 R과 유사한 dataframe 이라는 추상 데이터 유형도 있다. Spark 데이터프레임 인터페이스는 RDD 위에 위치하며 작업에 대한 보다 접근하기 쉬운 사양을 허용한다. 주로 일반적인 단일 시스템이 처리할 수 있는 것보다 훨씬 큰 데이터.. 2024. 1. 8.
[Data Science] 불균형한 데이터 균형 조정 불균형한 데이터 균형 조정 필요한 양보다 많으면 본질적으로 좋은 것은 없다. 더 많은 양의 CO2가 지구를 따뜻하게 할 것이고, 더 많은 양의 비가 도시에 범람할 것이고, 더 많은 생각은 당신의 실행을 망칠 것이다. 이러한 것은 데이터에도 동일하게 적용된다. 한 클래스의 인스턴스 수가 많을수록 가짜 예측이 발생한다. 간단한 예를 통해 이를 이해할 수 있다. 빨간 공과 파란 공이 가득한 가방이 있다고 상상하고 어떤 색 공을 그릴지 묻는다. 환자의 암 발병 여부를 예측하는 기계 학습 모델이라고 상상했을 때, 분명히 논리적인 선택은 대부분의 환자가 암이 아니기 때문에 환자에게 암이 없다고 결론을 내리는 것이다. 실제로 모델로서 모든 사람에게 암이 없다고 표시하는 것만으로도 높은 정확도를 얻을 수 있다. 데이터.. 2023. 12. 8.
[Data Science] 주성분 분석 (Principal Component Analysis, PCA) 주성분 분석 (Principal Component Analysis, PCA) 주성분 분석 (Principal Component Analysis, PCA)은 가장 널리 사용되는 차원 축소 기법 중 하나로, 원 데이터의 분포를 최대한 보존하면서 고차원 공간의 데이터들을 저차원 공간으로 변환한다. 데이터 집합을 새로운 좌표축으로 변환시키는 방법이다. 수 많은 정보의 홍수에서 이를 활용하기 위해 정보 손실을 최소화하면서 차수를 낮출 때 사용하는 방법이다. 정보를 각각 서로 간에 독립인 좌표축 들로 재구성하여, 최소한의 차원으로 최대한의 설명력을 높인다. n_components from sklearn.decomposition import PCA # PCA 모델을 생성 pca = PCA() # PCA 모델을 데이터.. 2023. 10. 30.
[Data Science] Random UnderSampling Random UnderSampling 무작위 언더샘플링에는 다수 클래스에서 무작위로 예제를 선택하고 훈련 데이터 세트에서 삭제하는 작업이 포함된다. 무작위 언더샘플링에서는 보다 균형 잡힌 분포에 도달할 때까지 다수의 클래스 인스턴스가 무작위로 삭제된다. RandomUnderSampler sampling_strategy 데이터 세트를 샘플링하기 위한 샘플링 정보이다. float인 경우, 리샘플링 후 다수 클래스의 샘플 수에 대한 소수 클래스의 샘플 수의 원하는 비율에 해당한다. 따라서, 비율은 어디가 소수 클래스의 샘플 수이고 가 리샘플링 후 다수 클래스의 샘플 수인지로 표현된다. sampling_strategy는 다음과 같은 방법으로 사용할 수 있다. 'majority' : 다수 클래스만 다시 샘플링 '.. 2023. 10. 4.
빅데이터와 기존 AI의 당면 과제 (1) 빅데이터의 정의 빅데이터는 방대한 양의 정보를 나타낸다. 이 정보는 이제 기하급수적인 속도로 증가하고 있다. 이제 인간이 매일 200경 바이트의 데이터를 생성함에 따라 빅데이터는 너무 커졌다. 따라서, 기존 데이터 관리 도구로는 ML 목적을 위해 빅데이터를 매우 효율적으로 처리하는 것이 상당히 어려워지고 있다. 빅데이터의 특성을 정의하는 데 일반적으로 다음과 같이 사용된다. 볼륨 (Volume) : 비즈니스 거래, 사물 인터넷 (IoT) 장치, 소셜 미디어, 산업 장비, 비디오 등과 같은 다양한 소스의 데이터가 엄청난 양의 데이터에 기여한다. 속도 (Velocity): 데이터 속도도 빅데이터의 필수 특성이다. 실시간 또는 거의 실시간으로 데이터가 필요한 경우가 많다. 다양성 (Variety) : 데이터는.. 2023. 9. 20.
[Data Science] 데이터 불균형 데이터 불균형 편향된 클래스 비율이 포함된 분류 데이터 세트를 불균형이라고 한다. 데이터 세트의 상당 부분을 차지하는 클래스를 메이저 클래스라고 한다. 더 작은 비율을 구성하는 항목은 다수 클래스이다. 불균형도 소수 집단 비율 약간 전체 데이터셋의 20~40% 보통 전체 데이터셋의 1~20% 높음 전체 데이터셋의 1%미만 대부분의 머신러닝 모델은 클래스 간의 데이터 비율이 비슷한 것이 바람직하다. 데이터 불균형이 크면 메이저 클래스로 치우치게 predict하는 문제가 발생한다. 데이터 불균형을 해결하는 방법으로는 크게 다음과 같다. 리샘플링 (Resampling) Weighting in Loss Function 리샘플링 (Resampling) 리샘플링 기법은 클래스별 불균형한 데이터의 수를 맞춰주기 위해.. 2023. 9. 6.
[Data Science] 탐색적 데이터 분석 (Exploratory Data Analysis) 탐색적 데이터 분석 (Exploratory Data Analysis) EDA는 데이터 세트의 다양한 특성, 특징 및 데이터 세트 간의 잠재적 관계를 이해할 수 있는 수치 및 시각화 기술의 조합이다. 이 단계의 목표, 즉 데이터셋을 이해해야 하는 것이다. 요약 통계량, 예쁜 시각화 또는 복잡한 다변량 분석을 생성하는 것이 목표가 아니다. 이러한 활동은 데이터 이해의 궁극적인 목표를 달성하는 간단한 활동이다. 또한, 계산과 이해를 혼동하지 말아야 한다. 누구나 숫자 형상의 표준 편차를 계산할 수 있다. 실제로 EDA는 꽤 지저분하다는 것이다. 여러분은 자신을 혼란스럽게 하고, 잘못된 아이디어를 얻고, 모순된 정보를 찾고, 스스로를 수정하고, 흥미롭거나 놀라운 사실을 찾고, 더 많은 데이터를 얻거나 일부 기능.. 2023. 7. 17.
[Data Science] 모델 평가 일반화 평가 모델이 학습 데이터가 아닌 새로운 데이터에 대해서도 좋은 성능을 내는지 일반화 에러를 통해 평가한다. 일반화 에러를 구하는 방법은 다양하지만 일반적으로 학습-평가 데이터 나누기, 교차검증을 통해 구할 수 있다. 학습-평가 데이터 나누기 (Train-Test data Split) 데이터를 학습용과 평가용으로 나눠 평가하는 방법이다. 일반적으로 8:2 비율이 가장 흔하게 사용된다. 무작위로 비율만큼의 데이터를 선택해 학습용 데이터를 만들고 나머지를 평가용 데이터로 사용해 모델이 학습용 데이터에만 최적화 되어있는지 검증한다. 교차 검증 학습-평가 데이터 나누기를 한 번만 하는 것이 아니라 여러 번 반복해서 일반화 에러를 평가하는 방법이다. K-Fold 교차 검증 (K-Fold Cross Valid.. 2022. 11. 29.
[Data Science] 경사 하강법 (Gradient Descent) 경사 하강법 (Gradient Descent) 손실 함수의 최소값을 찾기 위한 알고리즘이다. 실생활에서 적용되는 데이터들은 함수 형태가 복잡하여 미분 계수를 계산하는 과정에 비해 비교적 쉽게 구현 가능하다. 데이터 양이 커질수록 계산량 측면에서 효율적이다. 임의의 매개변수를 정해 비용 함수의 시작 지점 (x축)으로 지정 해당 매개변수로 모델의 오차를 구한 다음, 비용 함수의 시작 지점 (y축)으로 지정 시작 지점에서 다음 지점으로 갈 방향을 정하기 위해, 시작 지점의 기울기를 계산 기울기 (Gradient)와 보폭 (Learning rate)를 사용해 다음 지점으로 이동 위의 과정을 최소값에 도달할 때까지 반복 학습률 (Learning rate)이 너무 크면 발산할 수 있고, 학습률이 너무 작으면 학습 .. 2022. 11. 10.
728x90
반응형
LIST