River는 온라인 기계 학습을위한 파이썬 라이브러리입니다. 스트리밍 데이터에 대한 기계 학습을 수행하기위한 가장 사용자 친화적 인 라이브러리가되는 것을 목표로합니다. River는 Creme과 Scikit-Multiflow 사이의 합병의 결과입니다.
빠른 예로, 웹 사이트 피싱 데이터 세트를 분류하기 위해 로지스틱 회귀를 훈련시킬 것입니다. 다음은 데이터 세트의 첫 번째 관찰을 살펴 봅니다.
>>> PPRINT 가져 오기 PPRINT >>> RIVER 가져 오기 데이터 세트에서 >>> DataSet = DataSets.phishing () >>> x, y, y dataset : ... pprint (x) ... 인쇄 (Y) ... break { 'age_of_domain': 1, 'ancher_from_other_domain': 0.0, 'empty_server_form_handler': 0.0, 'https': 0.0, 'ip_in_url': 1, 'is_popular': 0.5, 'long_url': 1.0, 'popup_window' : 0.0, 'request_from_other_domain': 0.0} true
이제 데이터 세트의 모델을 스트리밍 방식으로 실행합시다. 우리는 예측과 모델 업데이트를 순차적으로 인터 리브합니다. 한편, 우리는 모델이 얼마나 잘 수행되고 있는지 확인하기 위해 성능 메트릭을 업데이트합니다.
>>> 강 수입에서 >>> 강에서 renear_model >>> 강에서 수입 메트릭에서 >>> 강 수입 전처리에서 >>> model = compose.pipeline (pipeline) ... preprocessing.standardscaler (), ... linear_model.logisticRegression () ...) >>> metric = metrics.accuracy () >>> x, y, y dataset : ... : 89.28%
물론, 이것은 단지 고안된 예일뿐입니다. 보다 철저한 튜토리얼은 문서의 소개 섹션을 확인하도록 환영합니다.
River는 Python 3.8 이상 에서 작업하기위한 것입니다. pip
로 설치할 수 있습니다.
PIP 설치 강
Linux, MacOS 및 Windows에는 사용할 수있는 바퀴가 있습니다. 이것은 아마도 당신이 원천에서 강을 건설 할 필요가 없다는 것을 의미합니다.
GitHub에서 최신 개발 버전을 설치할 수 있습니다.
PIP 설치 git+https : //github.com/online-ml/river-opgrade Pip git+ssh : //[email protected]/online-ml/river.git -oopgrade #을 사용하여 SSH를 설치하십시오
이 방법은 컴퓨터에 Cython과 Rust를 설치해야합니다.
River는 다음과 같은 알고리즘 제품군의 온라인 구현을 제공합니다.
광범위한 최적화기가있는 선형 모델
의사 결정 트리와 임의의 숲
(근사) 가장 가까운 이웃
이상 탐지
드리프트 감지
추천 시스템
시계열 예측
산적
인수 화 기계
불균형 학습
클러스터링
포장/부스팅/스태킹
적극적인 학습
River는 또한 다른 온라인 유틸리티를 제공합니다.
기능 추출 및 선택
온라인 통계 및 메트릭
전처리
내장 데이터 세트
프로그레시브 모델 검증
모델 파이프 라인
포괄적 인 개요는 API를 확인하십시오
온라인 기계 학습이 필요한지 스스로에게 물어봐야합니다. 대답은 아니오 일 것입니다. 대부분의 시간 배치 학습은 그 일을 잘합니다. 온라인 접근 방식은 다음과 같은 경우 청구서에 적합 할 수 있습니다.
과거 데이터를 다시 방문하지 않고도 새로운 데이터에서 배울 수있는 모델을 원합니다.
당신은 컨셉 드리프트에 강력한 모델을 원합니다.
일반적으로 이벤트 기반 인 제작 컨텍스트에서 발생하는 일에 더 가까운 방식으로 모델을 개발하려고합니다.
강의 일부 특이성은 다음과 같습니다.
성능보다 명확성과 사용자 경험에 중점을 둡니다.
한 번에 하나의 샘플을 처리하는 데 매우 빠릅니다. 시도해보십시오.
그것은 나머지 Python의 생태계와 잘 어울립니다.
선적 서류 비치
패키지 릴리스
굉장한 온라인 기계 학습
2022 Gaia에서 발표
온라인 클러스터링 : KDD'22의 알고리즘, 평가, 메트릭, 응용 프로그램 및 벤치마킹.
우리는 항상 새로운 아이디어와 접근 방식에 열려있는 방식으로 자유롭게 기여하십시오.
질문이나 문의가 있으면 토론을 시작하십시오. 개인 이메일을 보내지 않고 공개적으로 귀하의 질문을하는 것이 더 유용합니다. 또한 기부하기 전에 토론을 시작하여 모든 사람이 정렬되고 불필요한 작업을 피할 수 있습니다.
버그 나 성능 문제를 발견했다고 생각되면 문제를 여는 것을 환영합니다.
우리의 로드맵은 공개적입니다. 시선을 사로 잡거나 제안을하는 모든 일을 자유롭게 작업하십시오.
코드 기반에 수정을 받으려면 기여 가이드 라인을 확인하십시오.
River가 귀하에게 유용했고 과학적 간행물에서 인용하고 싶다면 JMLR에 게시 된 논문을 참조하십시오.
@article {Montiel2021River, Title = {River : Python에서 스트리밍 데이터를위한 기계 학습}, author = {Montiel, Jacob 및 Halford, Max and Mastelini, Saulo Martiello and Bolmier, Sourty, Raphael and Vaysse, Robin and Zouitine, Adil 그리고 Gomes, Heitor Murilo and Read, Jesse and Abdessalem, Talel and Others}, Year = {2021}}
River는 무료 및 오픈 소스 소프트웨어입니다. 3-Clause BSD 라이센스에 따라 라이센스가 부여됩니다.