기여할 오픈 소스 데이터 과학 프로젝트


15

오픈 소스 프로젝트에 참여하는 것은 일반적으로 초보자를위한 연습을하고 경험이 풍부한 데이터 과학자 및 분석가를위한 새로운 영역을 시도하는 좋은 방법입니다.

어떤 프로젝트에 기여합니까? Github에 소개 + 링크를 제공하십시오.


2
ELKI를 확인하십시오 (github, Java의 경우 Wikipedia 참조). 클러스터링 및 이상 감지를위한 가장 완벽한 프로젝트이기 때문에 이것을 많이 사용합니다. 보통 R보다 빠릅니다.
종료 : 익명-무스

답변:


15

줄리아 프로젝트는 내가 적극적으로 고급 컴퓨팅 및 XGBoost 라이브러리를 포함에 기여하는 것입니다. 그래서 나는 그것이 유지와 공동체의 질이라는 것을 확실히 보증 할 수 있습니다.

초보자도 참여할 수있는 정말 훌륭한 오픈 소스 데이터 과학 프로젝트는 다음과 같습니다.

  • Sklearn : 항상 빠른 속도로 발전하는 Sklearn 커뮤니티는 항상 새로운 개발자와 기고자에게 열려 있습니다.
  • H2O : H2O는 확장 가능한 머신 러닝 및 딥 러닝 솔루션을 개발하는 또 다른 빠르게 성장하는 데이터 과학 프로젝트입니다.
  • Go : 오픈 소스 데이터 과학 로드맵 및 리소스. 실제로 기술 프로젝트는 아니지만 절대 초보자와 야심 찬 분석가에게 매우 유용합니다.
  • Pylearn2 : 빠르게 성장하는 또 다른 머신 러닝 및 딥 러닝 프로젝트.
  • Vowpal Wabbit : Vowpal Wabbit (VW) 프로젝트는 Microsoft Research 및 (이전의) Yahoo!가 후원하는 빠른 핵심 학습 시스템입니다. 연구.

이러한 프로젝트에 대한 Quora 토론 과이 답변에 언급되지 않은 일부 내용이 있습니다.

다음은 Python의 오픈 소스 데이터 과학 및 ML 프로젝트에 대한 또 다른 멋진 토론 입니다.


2
나는 확인합니다-sklearn에 커밋하는 것은 매우 쉽습니다. 풀 요청을 열면됩니다.
Alexey Grigorev

Pylearn2는 더 이상 활성화되지 않습니다. Keras, lasagne 및 블록이 더 나은 기여 옵션입니다.
SHASHANK GUPTA

6

많은 것들이 있습니다. 나는 이것을 할 수 있는지 알지 못하지만 (잘못되면 알려주세요) 개발하고 git hub에서 이미 2 년이 넘었습니다 (실제로 github보다 1 년 전에 시작되었습니다). 이 프로젝트는 rapaio라고 하고 여기 에 git hub 있으며 최근에는 매뉴얼을 작성하기 시작했습니다 (친구 중 일부가 나에게 물었습니다). 매뉴얼은 여기 에서 찾을 수 있습니다 .

Java 8로 기꺼이 개발하려는 경우, 도구를 직접 사용하거나 실험하고 싶다면 필요에 맞습니다. 내가 적용하는 두 가지 원칙이 있습니다. 첫 번째는 필요할 때만 무언가를 쓰는 것 입니다. 도구가 필요할 때만 출력, 성능, 정보 측면에서 실제로 원하는 것을 알 수 있기 때문입니다. 두 번째 원칙은 jdk에만 의존한다는 것입니다 . 필요한 것이 있으면 작성하십시오 . 나는 구식이라는 것에 동의 할 수 있지만, 이러한 방식으로 목적에 맞는 기능을 조정할 수 있습니다.

내가 aswer로 그렇게 할 수 없다면 다시 알려주세요. 오픈 소스 이니셔티브이기 때문에 이익 유형의 프로젝트 가없는 사람들에게 무언가를 돌려주는 것은 내가 그것을 할 수없는 이유를 알 수 없습니다.


2
+1 누군가가 기여할 수있는 훌륭한 프로젝트라고 생각합니다. 공유해 주셔서 감사합니다. Atleast, 나는 그것이 무의미하다고 생각하지 않습니다 :)
Dawny33

1
다른 많은 유사한 프로젝트 중 하나와 함께 노력하는 것을 고려 했습니까? ELKI, Weka, JSAT, Smile, Hubminer, ... 벤치마킹 했습니까? 간단히 살펴보면, 나에게 매우 비싸 보이는 몇 가지 구조를 보았습니다 (아마도 R만큼 나쁘지는 않습니다).
종료 : 익명-무스

저의 목표는 훌륭한 프로그래머 친화적 인 도구 세트를 보유하는 것이었지만 성능은 목표가 아니 었습니다. 그러나 나는 그것을 다시 평가하기 시작했다. 다른 프로젝트와 관련하여 : 법적 문제로 인해 배포 된 자료에 전념 할 수 없으며 일부 유형의 오픈 소스 라이센스가있는 프로젝트에만 기여할 수 있습니다. 어쨌든, 봐 주셔서 감사합니다. 언급 한 구성에 대해 더 자세한 정보를 제공해 주시면 매우 기쁩니다. 나는 당신의 시간이 제한되어 있기를 기대하며, 완전한 토론을 감히하지 않습니다
rapaio

1
ELKI는 AGPL-3입니다. 배포되지는 않지만 높은 "로컬"성능 (아직 Java 8 없음)을위한 일부 저수준 최적화 기능이 있습니다. JSAT, Smile, Hubminer-모두 오픈 소스이며, 아마도 대부분 아파치이고, 분산되지 않았으며, 내가 실수하지 않으면 최적화되지 않습니다 (주로 ELKI를 사용합니다).
종료 : 익명-무스


4

ELKI ( GitHub 에도 있음 )는 데이터 마이닝 및 데이터 과학 오픈 소스 프로젝트입니다. 모듈 식 아키텍처와 관련하여 고유합니다. 알고리즘, 거리 함수 및 인덱스를 몇 가지 제한없이 가속을 위해 결합 할 수 있습니다 (물론 거리를 사용하지 않는 알고리즘은 거리와 결합 할 수 없음). 효율성으로 인해 가장 쉬운 코드는 아닙니다. 데이터 마이닝의 경우 메모리에주의를 기울여야 ArrayList<Integer>합니다. 확장 성을 원한다면 사용이 번거롭지 않습니다.

모듈 식 아키텍처로 인해 단일 거리 함수 또는 알고리즘과 같은 작은 모듈 만 쉽게 기여할 수 있습니다.

난이도별로 그룹화 된 데이터 마이닝 프로젝트 아이디어 목록을 유지합니다 . 대부분의 프로젝트는 일부 변형 알고리즘을 구현 한 것입니다. ELKI는 알고리즘의 비교 연구를 허용하는 것을 목표로하므로 모든 조합을 허용하고 알고리즘의 변형도 다룹니다. 예를 들어 k-means의 경우 Lloyds 알고리즘뿐만 아니라 일반적인 k-means 테마의 10 가지 변형이 있습니다. ELKI에서는 220 개가 넘는 기사가 (적어도 부분적으로) 다시 구현되었습니다.

동일한 도구로 모든 것을 구현함으로써 훨씬 더 비슷한 결과를 얻을 수 있습니다. 벤치마킹에 R을 사용하는 경우 일반적으로 사과와 오렌지를 비교합니다. R 자체의 k- 평균은 실제로 오래된 포트란 프로그램이며 매우 빠릅니다. R에서는 k- 평균이지만 "flexclust"패키지에서는 실제 R 코드로 작성되므로 100 배 느립니다. 따라서 R의 벤치 마크를 믿지 마십시오 ... 또한 R 모듈은 호환되지 않는 경향이 있으므로 모듈 B의 알고리즘 B와 모듈 A의 거리 A를 사용할 수 없습니다 .ELKI에서는 많은 코드를 공유하려고합니다. 구현 전반에 걸쳐 이러한 아티팩트를 줄일 수 있습니다 (물론 100 % 공정한 벤치 마크를 가질 수는 없습니다-항상 최적화의 여지가 있습니다). 또한 모듈을 쉽게 결합 할 수 있습니다.

Hartigan & Wong k-means 변형과 같은 작은 것으로 시작한 다음 구형 k- 평균 (다양한 성능 최적화가 필요할 수있는 희소 데이터를 의미)으로 계속 진행하여 범주 형 데이터에 대한 더 나은 지원을 계속 추가 할 수 있습니다. 또는 색인 기능 추가.

또한 ELKI의 더 나은 UI를보고 싶지만 이는 큰 노력입니다.


4

크로스 플랫폼 비주얼 프로그래밍 도구를 좋아한다면 Orange 가 옵션입니다. 최근 Python 3으로 옮겼지만 아직 모든 위젯이 포팅되지 않았습니다. PyData 스택 (NumPy, SciPy, SciKit Learn 등)을 Python 3, PyQt, PyQtGraph에 가져오고 GitHub 의 GPL 입니다 .

주황색 스크린 쇼

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.