Xin chào 👋
Hôm nay, chúng ta hãy đi sâu vào 7 kho lưu trữ ML mà 1% nhà phát triển hàng đầu sử dụng (và những kho mà bạn có thể chưa từng nghe đến)!
Xếp hạng các nhà phát triển là một vấn đề khó khăn và mọi phương pháp đều có vấn đề của nó.
Ví dụ: nếu bạn xếp hạng các nhà phát triển theo số dòng mã họ đã viết bằng Python thì có thể bạn sẽ xếp một số nhà phát triển Python khá giỏi ở đầu.
Tuy nhiên, bạn có thể gặp những người vừa sao chép nhiều mã Python vào kho lưu trữ của họ và chúng không tốt như vậy. 🙁
Tại Quine, chúng tôi đã phát triển một phương pháp mà chúng tôi cho là hiệu quả trong hầu hết các trường hợp , nhưng một lần nữa không hoàn hảo 100%!
Nó được gọi là DevRank (bạn có thể đọc thêm về cách chúng tôi tính toán điều này tại đây ).
Khái niệm Top 1% mà tôi sử dụng trong bài viết này dựa trên DevRank.
Và vâng, chúng tôi tiếp tục làm việc này để làm cho nó tốt hơn mỗi ngày!
Chúng tôi xem xét các kho lưu trữ mà phân vị thứ 99 đã gắn dấu sao.
Sau đó, chúng tôi so sánh xu hướng của 1% nhà phát triển hàng đầu so với 50% nhà phát triển kém nhất để gắn dấu sao cho một repo và tự động tạo danh sách.
Nói cách khác, những kho lưu trữ này là những viên ngọc ẩn được 1% nhà phát triển hàng đầu sử dụng và vẫn chưa được cộng đồng nhà phát triển rộng lớn hơn khám phá .
Tôi xử lý các tệp CSV lộn xộn của bạn
Một gói do một số người bạn của chúng tôi phát triển để xử lý các điểm khó khăn thường gặp khi tải tệp CSV . Một vấn đề nhỏ nhưng phổ biến khi bắt đầu nhiều quy trình ML đã được giải quyết tốt. 🔮
CleverCSV có thể phát hiện và tải nhiều phương ngữ CSV khác nhau mà không cần phải nói bất cứ điều gì trong các đối số của nó. Các tệp CSV không cung cấp thông tin cần thiết để thực hiện việc này một cách tự nhiên, do đó thư viện yêu cầu một số suy luận thông minh.
CleverCSV thậm chí có thể xử lý các tệp CSV lộn xộn có lỗi về định dạng.
Ngoài thư viện Python, CleverCSV còn có giao diện dòng lệnh để tạo, khám phá và tiêu chuẩn hóa mã.
https://github.com/alan-turing-institute/CleverCSV
Hợp lý hóa quy trình công việc ML với scikit-learn thông qua CLI
Bạn có đang viết bản soạn sẵn vô tận trong sklearn để nhận được kết quả được xác thực chéo bằng nhiều thuật toán không? Thay vào đó, hãy thử giao diện của skll
để có trải nghiệm mã hóa rõ ràng hơn nhiều. ⚡️
Skll được thiết kế để cho phép chạy thử nghiệm máy học với scikit-learn hiệu quả hơn, giảm nhu cầu mã hóa rộng rãi.
Tiện ích hàng đầu được cung cấp có tên là run_experiment
và nó chạy một loạt người học trên các tập dữ liệu được chỉ định trong tệp cấu hình.
Nó cũng cung cấp API Python để tích hợp đơn giản với mã hiện có, bao gồm các công cụ để chuyển đổi định dạng và vận hành tệp tính năng.
https://github.com/EducationalTestingService/skll
Phân cụm k-Medoids theo thời gian gần như tuyến tính
Quay lại các thuật toán cơ bản ở đây - BanditPAM là một thuật toán k-medoids mới (hãy nghĩ đến một thuật toán “k-mean”) mạnh mẽ có thể chạy trong thời gian gần như tuyến tính. 🎉
Chạy trong thời gian O(nlogn) thay vì thời gian O(n^2), như các thuật toán trước đó.
Trung tâm cụm là các điểm dữ liệu và do đó tương ứng với các quan sát có ý nghĩa. Trung tâm của cụm k-means có thể tương ứng với dữ liệu không hợp lệ; điều này là không thể với k-medoids.
Các số liệu khoảng cách tùy ý có thể được sử dụng (chẳng hạn như khoảng cách L1 hoặc Hamming), các thuật toán k-mean hiệu quả thường được giới hạn ở khoảng cách L2.
Được triển khai từbài báo này, BanditPAM lý tưởng cho các nhà khoa học dữ liệu đang tìm kiếm một giải pháp mạnh mẽ, có thể mở rộng cho công việc nhóm, đặc biệt là những người xử lý dữ liệu lớn hoặc phức tạp.
https://github.com/motiwari/BanditPAM
Công cụ so khớp bản ghi và phát hiện sự trùng lặp mà mọi người đều cần
Bạn đã bao giờ gặp khó khăn trong việc đối sánh những người dùng trong các tập dữ liệu khác nhau đã viết sai tên của họ hoặc những người có thuộc tính hơi khác nhau chưa? Sử dụng thư viện tuyệt vời này lấy cảm hứng từ Liên kết hồ sơ y sinh mở rộng tự do (FEBRL) , được xây dựng lại cho công cụ Python hiện đại. 🛠️
Cung cấp triển khai gốc Python của thư viện FEBRL mạnh mẽ, sử dụng numpy và pandas.
Bao gồm cả phương pháp tiếp cận có giám sát và không giám sát.
Bao gồm các công cụ tạo cặp khớp để hỗ trợ các phương pháp tiếp cận ML được giám sát.
RecordLinkage lý tưởng cho các nhà khoa học dữ liệu đang tìm kiếm một giải pháp linh hoạt, dựa trên Python để thực hiện các tác vụ liên kết bản ghi và sao chép dữ liệu.
https://github.com/J535D165/recordlinkage
Tập trung duy nhất vào việc trích xuất nội dung trang web
Trích xuất nội dung từ các trang web . Dragnet tập trung vào nội dung và nhận xét của người dùng trên một trang và bỏ qua phần còn lại. Nó rất hữu ích cho những người bạn cạp của chúng tôi ngoài kia. 🕷️
Dragnet nhằm mục đích trích xuất các từ khóa và cụm từ từ các trang web bằng cách loại bỏ nội dung không mong muốn như quảng cáo hoặc thiết bị điều hướng.
Cung cấp các hàm Python đơn giản ( extract_content
và extract_content_and_comments
) với tùy chọn bao gồm hoặc loại trừ các nhận xét để trích xuất nội dung từ chuỗi HTML.
Lớp trình trích xuất sklearn-style
hiện có để sử dụng nâng cao hơn, cho phép tùy chỉnh và đào tạo trình trích xuất.
https://github.com/dragnet-org/dragnet
Các mô hình nghiên cứu StanfordNLP mới nhất trực tiếp tại spaCy
Quan tâm đến các tác vụ NLP tiêu chuẩn như gắn thẻ một phần lời nói, phân tích cú pháp phụ thuộc và nhận dạng thực thể được đặt tên? 🤔
SpaCy-Stanza bao gồm thư viện Stanza (trước đây là StanfordNLP) để sử dụng trong các đường dẫn spaCy.
https://github.com/explosion/spacy-stanza
"Con dao quân đội Thụy Sĩ dành cho nhiệm vụ lấy mẫu đồ thị"
Bạn đã bao giờ làm việc với một tập dữ liệu lớn đến mức bạn cần lấy mẫu của nó chưa? Đối với dữ liệu đơn giản, việc lấy mẫu ngẫu nhiên duy trì sự phân bố trong một mẫu nhỏ hơn. Tuy nhiên, trong các mạng phức tạp, lấy mẫu quả cầu tuyết - nơi bạn chọn người dùng ban đầu và bao gồm các kết nối của họ - nắm bắt cấu trúc mạng tốt hơn.
Điều này giúp tránh được sự thiên vị trong phân tích. 🔦
Bây giờ, bạn có dữ liệu có cấu trúc biểu đồ và cần làm việc trên các mẫu của dữ liệu đó (vì lý do thuật toán hoặc tính toán) không? 👩💻
Littleballoffur cung cấp một loạt các phương pháp lấy mẫu từ đồ thị và mạng, bao gồm lấy mẫu nút, cạnh và thăm dò.
Được thiết kế với giao diện chung ứng dụng thống nhất, giúp người dùng dễ dàng áp dụng các thuật toán lấy mẫu phức tạp mà không cần phải có bí quyết kỹ thuật chuyên sâu.
https://github.com/benedekrozemberczki/littleballoffur
Tôi hy vọng những khám phá này có giá trị đối với bạn và sẽ giúp xây dựng bộ công cụ ML mạnh mẽ hơn! ⚒️
Nếu bạn quan tâm đến việc tận dụng những công cụ này để tạo ra các dự án có sức ảnh hưởng trong nguồn mở, trước tiên bạn nên tìm hiểu DevRank hiện tại của mình là gì trên Quine và xem nó sẽ phát triển như thế nào trong những tháng tới!
Cuối cùng, vui lòng cân nhắc hỗ trợ các dự án này bằng cách đóng vai chính. ⭐️
Tái bút: Chúng tôi không liên kết với họ. Chúng tôi chỉ nghĩ rằng những dự án tuyệt vời xứng đáng được công nhận.
Gặp lại bạn vào tuần tới,
Bạn Hackernoon của bạn 💚
Bắp
Nếu bạn muốn tham gia máy chủ mã nguồn mở tự nhận là "ngầu nhất" 😝, bạn nên tham gia máy chủ discord của chúng tôi. Chúng tôi ở đây để giúp bạn trên hành trình của mình trong nguồn mở. 🫶
Cũng được xuất bản ở đây .