A contribuição para projetos de código aberto é normalmente uma boa maneira de obter alguma prática para iniciantes e tentar uma nova área para cientistas e analistas de dados experientes.
Quais projetos você contribui? Forneça algum link de introdução + no Github.
beginner
open-source
IharS
fonte
fonte
Respostas:
O projeto Julia é um projeto em que contribuo ativamente, incluindo as bibliotecas avançadas de computação e XGBoost. Definitivamente, posso garantir sua manutenção e a qualidade da comunidade.
Alguns bons projetos de ciência de dados de código aberto nos quais até mesmo os iniciantes podem contribuir são:
Aqui está um discussão do Quora sobre esses projetos e mais alguns que não são mencionados nesta resposta.
Aqui está outra boa discussão sobre projetos de ciência de dados e ML de código aberto em Python.
fonte
Existem muitos deles disponíveis. Não sei se tenho permissão para fazer isso (por favor, deixe-me saber se está errado), mas desenvolvo um e ele já tem mais de 2 anos no git hub (na verdade, foi iniciado um ano antes do github). O projeto se chama rapaio, está no git hub aqui e recentemente comecei a escrever um manual para ele (alguns de meus amigos me perguntaram sobre isso). O manual pode ser encontrado aqui .
Ele se adapta às suas necessidades se você deseja desenvolver no Java 8, se você gosta de fazer alguma ferramenta e se deseja experimentar. Existem apenas dois princípios que eu aplico. O primeiro é escrever algo apenas quando você precisar . Isso porque acredito firmemente que somente quando você precisa de uma ferramenta, também sabe o que realmente quer dela em termos de saída, desempenho e informações. O segundo princípio é que você depende apenas do jdk, se precisar de algo, você o escreverá . Posso concordar que sou antiquado, mas dessa maneira você pode adaptar qualquer recurso para seu objetivo.
Se eu não tiver permissão para fazer isso como uma resposta, informe-me novamente. Embora, por ser uma iniciativa de código aberto, devolva algo às pessoas sem nenhum tipo de projeto com lucro, não vejo razão para não fazê-lo.
fonte
Verifique este projeto no github: https://github.com/josephmisiti/awesome-machine-learning . Ele contém uma lista abrangente de projetos de código aberto agrupados por idioma, com algumas breves descrições. Eu acho que você pode encontrar lá alguns deles que atendem às suas necessidades.
fonte
ELKI (também no GitHub ) é um projeto de código aberto para mineração de dados e ciência de dados. É único em relação à sua arquitetura modular: você pode combinar algoritmos, funções de distância e índices de aceleração com muito poucas limitações (é claro, algoritmos que não usam distâncias não podem ser combinados com distâncias). Não é o código mais fácil por causa da eficiência. Para mineração de dados, você precisa ter cuidado com a memória - o uso
ArrayList<Integer>
é desnecessário se você quiser escalabilidade.Devido à arquitetura modular, é fácil contribuir com apenas pequenos módulos, como uma função ou algoritmo de distância única.
Mantemos uma lista de idéias de projetos de mineração dados , agrupadas aproximadamente por dificuldade. A maioria dos projetos é a implementação de alguma variante de um algoritmo. O ELKI visa permitir estudos comparativos de algoritmos, por isso tentamos permitir qualquer combinação e abrangem também variantes de algoritmos. Por exemplo, com k-means, não temos apenas o algoritmo Lloyds, mas 10 variantes do tema geral de k-means. Mais de 220 artigos foram (pelo menos parcialmente) reimplementados no ELKI.
Ao implementar tudo na mesma ferramenta, obtemos resultados muito mais comparáveis. Se você usa R para benchmarking, geralmente está comparando maçãs e laranjas. O k-means no próprio R é realmente um programa Fortran antigo e muito rápido. k-significa em R, mas no pacote "flexclust" é 100x mais lento, porque está escrito em código R real. Portanto, não confie em uma referência em R ... também, os módulos R tendem a ser incompatíveis; portanto, você não pode usar a distância A dos módulos A com o algoritmo B do módulo B. No ELKI, tentamos compartilhar tanto código quanto É possível nas implementações reduzir esses artefatos (é claro que nunca será possível ter uma referência 100% justa - sempre há espaço para otimização), mas também para permitir a combinação de módulos facilmente.
Você pode começar com algo pequeno, como a variante k-means da Hartigan & Wong, e depois continuar com o k-means esférico (que é destinado a dados esparsos, onde diferentes otimizações de desempenho podem ser necessárias) e continuar a adicionar melhor suporte a dados categóricos; ou adicionando funcionalidade de indexação.
Também adoraria ver uma interface de usuário melhor para o ELKI , mas esse é um grande esforço.
fonte
Se você gosta de ferramentas de programação visual multiplataforma, Orange é uma opção. Tendo se mudado recentemente para o Python 3, eles ainda não têm todos os widgets portados. Ele está trazendo a pilha PyData (NumPy, SciPy, SciKit Learn, ...) para Python 3, PyQt, PyQtGraph e é GPL no GitHub .
fonte