Table of Contents
소개: 예측 정비의 긴 역할
이 웹 사이트는 귀하가 웹 사이트를 탐색하는 동안 귀하의 경험을 향상시키기 위해 쿠키를 사용합니다. 이 쿠키들 중에서 필요에 따라 분류 된 쿠키는 웹 사이트의 기본적인 기능을 수행하는 데 필수적이므로 브라우저에 저장됩니다. 또한이 웹 사이트의 사용 방식을 분석하고 이해하는 데 도움이되는 제 3 자 쿠키를 사용합니다. 이 쿠키는 귀하의 동의하에 만 브라우저에 저장됩니다. 이러한 쿠키를 거부 할 수도 있습니다. 이러한 쿠키 중 일부를 선택 해제하면 검색 환경에 영향을 미칠 수 있습니다.
이 문서는 MLlib가 실패 예측과 위험 평가를 엔지니어링하기 위해 적용 될 수있는 방법에 대한 확장. 우리는 전체 파이프라인을 커버 할 것입니다 : 데이터 수집 및 사전 처리, 기능 엔지니어링, 모델 선택, 교육, 평가, 및 배포. 결국, 당신은 MLlib의 알고리즘과 Spark의 분산 컴퓨팅을 활용하여 생산 등급 실패 예측 시스템을 만들 수있는 방법을 이해 할 것입니다.
Spark MLlib는 무엇입니까?
MLlib는 고성능, 분산 데이터 처리에 대한 Apache Spark의 머신러닝 라이브러리입니다. 분류, 회귀, 클러스터링, 협업 필터링 및 기능 변환에 대한 알고리즘의 제품군을 제공합니다. scikit-learn과 같은 단일 노드 라이브러리와는 달리 MLlib는 클러스터 전반에 걸쳐 수평으로 확장되어 데이터의 terabytes를 효율적으로 처리합니다.
주요 성분은 다음을 포함합니다:
- DataFrame 기반 API – Spark SQL과 DataFrame과의 통합을 원활한 데이터 조작.
- Pipelines – scikit-learn의 와 유사한 사슬 변압기와 estimators를 위한 통합된 공용영역.
- Hyperparameter tuning – 모델 최적화를 위한 크로스 유효성 및 기차 유효성 분할.
- 모델 persistence – ]/]]를 사용하여 저장 및 로드 모델의 생산 재사용 방법.
- Streaming and online Learning – MLlib는 실시간 시세를 위한 Spark Streaming과 실시간 시세를 통합할 수 있습니다.
왜 공학 실패 예측을위한 MLlib?
엔지니어링 데이터셋은 종종 전시량, 속도 및 다양한 기능을 제공합니다. 센서 데이터는 배포 계산을 필요로하는 시간 당 수백만의 레코드를 생성 할 수 있습니다. MLlib의 기본 지원 기능 추출 (예를 들어, , ], ]]) 및 다양한 알고리즘을 사용하여 이상적인 선택이됩니다. 또한 Spark의 통합 실행 시간은 엔지니어가 ETL, 모델 교육 및 단일 시스템 간의 이동 데이터에 대한 방해를 결합 할 수 있습니다.
데이터 수집 및 사전 처리
실패 예측의 품질은 입력 데이터의 품질과 폭에 크게 의존합니다. 일반적인 소스는 다음과 같습니다.
- 센서 읽음: 온도, 진동, 압력, 회전 속도, 전류 그릴.
- Operational logs: start/stops, Maintenance events, 오류 코드의 타임스탬프.
- 환경 요인: 습도, 주변 온도, 먼지 수준.
- 본문 역사: 수리 작업, 부품 교체, 검사 결과.
MLlib의 데이터 사전 처리는 일반적으로 DataFrame 변환을 사용하여 다음 단계가 포함되어 있습니다.
처리 Missing 값
MLlib의 ]를 사용하여 의미, 미디어, 또는 모드로 누락 된 수치를 채우기 위해. categorical 기능을 위해, 당신은 위주자 또는 사용 을 가진 누락 된 값을 대체 할 수 있습니다 ].
정상화 및 표준화
SVM과 논리 회귀와 같은 알고리즘은 기능 규모에 민감합니다. (z-score) 또는 를 적용하여 범위를 비교할 수 있습니다.
Time Series의 특징 추출
Raw 센서 스트림은 창에 골재가 필요합니다. Spark SQL 창 기능을 사용하여 (예 : 롤링 평균, 표준 편차, 마지막 시간 동안 최소 / 최대) 높은 수준의 기능을 만들 수 있습니다. MLlib 's 는 또한 특기적 변환을 표현할 수 있습니다.
Failure Prediction을 위한 특징 기술설계
기능 공학은 도메인 전문 지식이 기계 학습을 충족하는 곳입니다. 실패 예측에서 가장 유익한 기능은 종종 사전 고장을 캡처 패턴을 캡처합니다.
- Trend features: 슬라이딩 윈도우(예: 상승 온도 트렌드)에 센서 판독의 슬라이딩.
- Frequency-domain features: 베어링 결함을 감지하는 진동 데이터의 FFT 구성.
- Interaction features: 온도 및 압력의 제품, 또는 진동 진폭 사각형.
- 실행적인 요약: 최근 판독의 척도, kurtosis, 그리고 자동 비교.
- ]시간 마지막 유지 보수: 의 프록시는 착용과 눈물을 위해.
MLlib는 단일 기능 벡터로 여러 열을 결합하는 를 제공합니다. 치수 감소를 위해, 당신은 수십 개 또는 수백 개의 관련 기능이있는 경우 (Principal Component Analysis)를 사용하십시오.
실패 예측 모델 구축
실패 예측은 일반적으로 바이너리 분류 문제로 프레임됩니다 : "장비가 다음 N 시간 내에 실패 할 것인가?"또는 주기에서 나머지 유용한 수명 (RUL)을 추정 할 수 있습니다.
MLlib의 분류 알고리즘
MLlib는 실패 예측에 적합한 여러 분류 알고리즘을 제공합니다.
- Logistic Regression – 빠르고, 해석적이며, 확률적인 예측을 제공합니다 (위험 점수에 대한 승인).
- Decision Trees – 비선형 관계 처리 및 도메인 전문가를 위한 시각화가 용이하다.
- Random Forest – 과잉을 줄이고 정확성을 향상시키는 결정적인 나무의 앙상블.
- Gradient-Boosted Trees (GBT) – 종종 생산량의 주관적 성능이 필요하지만 주의적인 조정이 필요합니다.
- 라인 서포트 벡터기계(SVM) – 고차원 공간에 대한 효과적인 그러나 소음에 덜 강력한.
- Naive Bayes – 단순하고 빠르고, 기능이 자주적으로 독립적으로있을 때 유용합니다.
유용한 생활의 활력을 되찾다
알려진 실패 시간으로 실행할 때, 회귀 알고리즘을 사용합니다: ]Linear Regression], Random Forest Regressor, 또는 ]GBT Regressor]. 대상 변수는 실패까지 남아있는 시간입니다. MLlib의 회귀 모델은 경고를 유발할 수 있는 연속적인 값입니다.
교육 및 파이프라인 설정
MLlib의 를 사용하여 모든 사전 처리 단계와 모델 교육을 단일 워크플로우로 체인질 수 있습니다. 예:
] ]] ]] ]] ]] ] ] ] ]] ] ] ] ] ]] ] ] ] ]] ]] ] ]]] ]]]]] ]]]]]] ]]]]] ]]]]]]]] ]]] ]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
MLlib를 사용하는 위험 평가
리스크 평가는 실패의 결과로 성실하게 판단하기 위해 바이너리 실패 예측을 넘어갑니다. MLlib는 다음과 같이 지원합니다.
Probabilistic 분류
논리적 회귀와 임의의 숲 출력 클래스 확률 ([])과 같은 알고리즘. 이러한 확률은 우선 순위에 대한 위험 점수로 해석 될 수 있습니다. 예를 들어, 0.95의 확률은 높은 위험과 보증 즉각적인 검사를 나타냅니다. 0.20은 일상적으로 모니터링 될 수 있습니다.
Anomaly Detection에 대한 클러스터링
K-means 또는 Gaussian Mixture Models (GMM)]은 정상적인 작동 조건을 그룹화할 수 있습니다. 클러스터에 속하지 않는 새로운 데이터 포인트는 (또는 갑상선에서 멀리) 실패의 동위 초기 징후로 떨어질 것입니다. MLlib's 은 일반적으로 사용 목적에 매우 사용되며, 이 목적에 따라 매우 확장성이 있습니다.
생존 분석 (Time-to-Event)
MLlib는 전용 생존 분석 모듈이 없지만, 로그 전달 시간에서 실패 또는 다양한 예측 수평선으로 분류 모델을 구축하여 회귀를 사용하는 것이 중요합니다. 더 진보 된 생존 분석은 R 또는 Spark UDF를 사용하여 외부 라이브러리와 함께 스파크를 통합하는 것을 고려합니다.
모델 평가
MLlib는 분류와 회귀 모두를 위한 내장 증발기를 제공합니다:
- BinaryClassificationEvaluator - PR 곡선 아래 ROC 곡선 (AUC) 및 영역에서 컴퓨팅 영역.
- 다양한분류Evaluator – F1-score, 무게가 높은 정밀도, 리콜을 계산합니다.
- RegressionEvaluator – RMSE, MSE, MAE, R2.
Cross-validation (예 : ])는 초경량의 그리드로 과잉을 방지하고 최고의 모델을 선택하는 데 도움이됩니다. 불균형 실패 데이터 - 실패가 드문 사용 클래스 무게 (예 : ] 임의 숲에서) 또는 사용자 정의 데이터 프레임 논리를 사용하여 소수성 클래스를 오버 샘플링 할 수 있습니다.
배포 및 실시간 예측
모델이 훈련되고 평가되면, ]를 사용하여 persist. 실시간 인스퍼를 위해, 당신은 두 가지 옵션이 있습니다:
- Batch inference[] – Spark job을 사용하여 새로운 데이터 (예, 매일 또는 시간)에 파이프라인을 실행합니다. 저장된 모델을 로드하기 위해 를 사용합니다.
- Streaming inference – Kafka 또는 파일로부터 센서 데이터를 소비하기 위해 Spark Streaming(또는 Structured Streaming)을 사용합니다. 마이크로 배치 당 파이프라인 모델을 적용하여 실시간 위험 점수와 경고를 생성합니다.
보기 스트리밍 snippet:
] ] ]] ] ] ]] ] ]] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]
더 읽기를 위한 외부 링크
이해를 깊게 깊숙히 하기 위해, 이 권위 있는 리소스를 탐구하십시오:
도전과 모범 사례
효과적인 실패 예측 모델은 일반적인 pitfalls를 주소해야합니다 :
- 클래스 불균형 – 실패 이벤트는 드문다. 사용자 지정 UDF를 통해 합성 미성년자 간색 (SMOTE)를 사용하거나 클래스 무게를 조정한다.
- 무선] – 착용, 계절, 새로운 운영 조건으로 인해 장비 동작이 시간이 지남에 따라 변경됩니다. 업데이트된 데이터를 사용하여 재연 모델의 정기적인 변경.
- Featurestructure – MLlib의 ]를 사용하여 핵심 센서를 식별하고 도메인 신뢰를 구축합니다.
- Scalability – 같은 클러스터 내에서 다른 장비 유형에 대해 병렬 교육을 허용하는 자산 ID에 의한 파티션 데이터.
- Data quality – 손상되거나 누락된 센서 값은 예측을 해낼 수 있습니다. 검증된 검사와 강력한 부정 행위 전략을 구현합니다.
관련 기사
Apache Spark MLlib는 엔지니어링 실패 예측과 위험 평가를 위한 종합적이고 생산적인 툴킷을 제공합니다. 이러한 확장성은 현대 센서 네트워크에서 생성된 대규모 데이터셋을 처리하고, 다양한 알고리즘을 통해 엔지니어가 특정 장애 모드로 맞춤 모델을 구현할 수 있습니다. 파이프라인을 따라 이 데이터 사전 처리, 기능 엔지니어링, 모델 교육, 평가 및 배포를 통해 가동 중단 시간을 줄이고 비용을 절감하고 안전을 개선할 수 있습니다. 산업 AI의 분야로, MLlib의 통합 모델은 MEMS와 같은 MEMS의 유지보수 모델을 예측할 수 있습니다.