こんにちは👋 今日は、 7 つの ML リポジトリ (おそらく聞いたこともないもの) について詳しく見ていきましょう。 上位 1% の開発者が使用する 上位 1% を定義するものは何ですか? 開発者のランキングは 問題であり、どの方法論にも問題があります。 難しい たとえば、開発者を Python で記述したコードの行数でランク付けすると、おそらくかなり優秀な Python 開発者が上位に来るでしょう。 ただし、多くの Python コードをリポジトリにコピー&ペーストしただけで、それほど優れたものではない人もいるかもしれません。 🙁 Quine では、 、やはり 100% 完璧ではありません。 ほとんどの場合において堅牢であると考えられる方法論を開発しましたが これは DevRank と呼ばれます (これを計算する方法について詳しくは ご覧ください)。 、こちらを この記事で使用する上位 1% の概念は DevRank に基づいています。 はい、私たちはこれを日々改善するために取り組み続けています。 上位 1% がどのリポジトリを使用しているかをどうやって知ることができるでしょうか? 99 パーセンタイルがスターを付けたリポジトリを調べます。 次に、上位 1% の開発者と下位 50% の開発者がリポジトリにスターを付ける傾向を比較し、リストを自動的に生成します。 言い換えれば、これらの 。 リポジトリは上位 1% の開発者が使用する隠れた宝石であり、より広範な開発者コミュニティにはまだ発見されていません 賢いCSV 面倒な CSV は私が扱います 私たちの友人によって開発されたパッケージ。多くの ML パイプラインの開始時に発生する小さいながらも一般的な問題は、うまく解決されました。 🔮 CSV ファイルのロードに関する一般的な問題点を処理するために、 CleverCSV は、引数で何も指定しなくても、さまざまな CSV 方言を検出して読み込むことができます。 CSV ファイルには、これをネイティブに実行するために必要な情報が提供されていないため、ライブラリにはいくつかの賢明な推論が必要です。 CleverCSV は、形式に誤りがある乱雑な CSV ファイルも処理できます。 Python ライブラリに加えて、CleverCSV にはコード生成、調査、標準化のためのコマンド ライン インターフェイスも含まれています。 https://github.com/alan-turing-institute/CleverCSV スキル CLI を介して scikit-learn を使用して ML ワークフローを合理化する 複数のアルゴリズムで相互検証された結果を取得するために ?よりクリーンなコーディング体験を得るには、代わりに のインターフェースを試してください。 ⚡️ 、sklearn で無限のボイラープレートを作成していませんか skll Skll は、scikit-learn を使用した機械学習実験をより効率的に実行できるように設計されており、大規模なコーディングの必要性が軽減されます。 提供されている主要なユーティリティは と呼ばれ、構成ファイルで指定されたデータセットに対して一連の学習器を実行します。 run_experiment また、形式変換や機能ファイル操作のためのツールなど、既存のコードと簡単に統合できる Python API も提供します。 https://github.com/EducationalTestingService/skll バンディットパム ほぼ線形時間での k-Medoids クラスタリング ここで基本的なアルゴリズムに戻ります。BanditPAM 。 🎉 は、ほぼ直線的な時間で実行できる新しい k-medoids (堅牢な「k-means」と考えてください) アルゴリズムです 以前のアルゴリズムのように、O(n^2) 時間ではなく O(nlogn) 時間で実行されます。 クラスター中心はデータ ポイントであるため、意味のある観測値に対応します。 K-means クラスターの中心は無効なデータに対応する可能性があります。これはk-medoidでは不可能です。 任意の距離メトリックを使用できます (たとえば、L1 またはハミング距離を考えてください)。効率的な K 平均法アルゴリズムは通常、L2 距離に制限されます。 この に基づいて実装された BanditPAM は、グループ作業用の強力でスケーラブルなソリューションを探しているデータ サイエンティスト、特に大規模または複雑なデータを扱うデータ サイエンティストにとって理想的です。 論文 https://github.com/motiwari/BanditPAM レコードリンケージ 誰もが必要とするレコードマッチャーと重複検出機能 ありますか? からインスピレーションを受け、最新の Python ツール用に再構築されたこの素晴らしいライブラリを使用してください。 🛠️ 異なるデータセット内で、名前のスペルが間違っているユーザーや、属性がわずかに異なるユーザーを照合するのに苦労したことが Freely Extensible Biomedical Record Linkage (FEBRL) numpy と pandas を使用して、強力な FEBRL ライブラリの Python ネイティブ実装を提供します。 教師ありアプローチと教師なしアプローチの両方が含まれます。 教師あり ML アプローチを可能にするマッチング ペアを生成するツールが含まれています。 RecordLinkage は、レコード リンクとデータ重複排除タスクを実行するための柔軟な Python ベースのソリューションを探しているデータ サイエンティストに最適です。 https://github.com/J535D165/recordlinkage 地引き網 Web ページのコンテンツ抽出のみに焦点を当てる 。 Dragnet はページ上のコンテンツとユーザーのコメントに焦点を当て、残りの部分は無視します。スクレーパー友達にとっては便利です。 🕷️ Web ページからのコンテンツの抽出 Dragnet は、広告やナビゲーション機器などの不要なコンテンツを削除することで、Web ページからキーワードやフレーズを抽出することを目的としています。 HTML 文字列からコンテンツを抽出するためのコメントを含めるか除外するオプションを備えた単純な Python 関数 ( および ) を提供します。 extract_content extract_content_and_comments エクストラクター クラスは、より高度な使用のために用意されており、エクストラクターのカスタマイズとトレーニングが可能です。 sklearn-style https://github.com/dragnet-org/dragnet スペーシースタンザ 最新の StanfordNLP 研究モデルを直接 spaCy に導入 品詞タグ付け、依存関係解析、固有表現認識などの標準的な NLP タスクに興味がありますか? 🤔 SpaCy-Stanza は、spaCy パイプラインで使用される Stanza (旧 StanfordNLP) ライブラリをラップします。 このパッケージには、選択した言語の固有表現認識機能が含まれており、自然言語処理タスクでのユーティリティを拡張します。 68 の言語をサポートしているため、さまざまな言語アプリケーションに多用途に使用できます。 このパッケージを使用すると、追加の spaCy コンポーネントを使用してパイプラインをカスタマイズできます。 https://github.com/explosion/spacy-stanza 毛皮の小さなボール 「グラフサンプリングタスク用のスイスアーミーナイフ」 サンプルを採取する必要があるほど大規模なデータセットを扱ったことがありますか?単純なデータの場合、ランダム サンプリングにより、より小さいサンプルでの分布が維持されます。ただし、複雑なネットワークでは、雪だるま式サンプリング ( 、ネットワーク構造をより適切に把握できます。 最初のユーザーを選択し、その接続を含める) の方が これは、分析における偏りを避けるのに役立ちます。 🔦 さて、 か? 👩💻 グラフ構造のデータがあり、そのサンプルを (アルゴリズムまたは計算上の理由で) 処理する必要があります Littleballoffur は、ノード サンプリング、エッジ サンプリング、探索サンプリングなど、グラフやネットワークからサンプリングするためのさまざまな方法を提供します。 統合されたアプリケーションのパブリック インターフェイスを使用して設計されているため、ユーザーは深い技術的ノウハウがなくても、複雑なサンプリング アルゴリズムを簡単に適用できます。 https://github.com/benedekrozemberczki/littleballoffur これらの発見が皆さんにとって価値があり、より堅牢な ML ツールキットの構築に役立つことを願っています。 ⚒️ これらのツールを活用してオープンソースで影響力のあるプロジェクトを作成することに興味がある場合は、まず での現在の DevRank を確認し、今後数か月でそれがどのように進化するかを確認する必要があります。 Quine 最後に、 これらのプロジェクトに出演して支援することをご検討ください。 ⭐️ PS: 私たちは彼らとは提携していません。私たちは、素晴らしいプロジェクトは高く評価されるに値すると考えています。 また来週、 ハッカーヌーンの仲間 💚 バップ 自称オープンソースで「最もクールな」サーバー 😝 に参加したい場合は、 参加する必要があります。私たちは、オープンソースへの取り組みをお手伝いします。 🫶 Discord サーバーに でも公開されています。 ここ