タグ

ブックマーク / ichi.pro (2)

  • Scikit-Learnの最大10倍でK-Meansクラスタリングを高速化する方法

    K-Meansクラスタリングは、機械学習で最もよく知られ、一般的に使用されているクラスタリングアルゴリズムの1つです。具体的には、教師なし機械学習アルゴリズムです。つまり、グラウンドトゥルースラベルを必要とせずにトレーニングされます。実際、それを使用するために必要なのは、必要なクラスターの数Kを設定し、Kの重心を初期化することだけです。その後、アルゴリズムを実行してクラスを取得できます。 K-Meansの美しさは、その単純さにあります。実際に行うのは、点とグループの中心の間の距離を計算することだけであり、線形の複雑さO(n)になります。これは、何百万ものデータポイントを処理していないほとんどのデータセットで完全に正常に機能します。 しかし、ここで問題が発生します。比較するデータポイントが非常に多いため、大きなデータセットに関してはK-Meansが遅くなります。さらに悪いことに、K-Mean

    Scikit-Learnの最大10倍でK-Meansクラスタリングを高速化する方法
    gabill
    gabill 2022/03/07
  • さようなら、オブジェクト指向プログラミング

    私は何十年もの間、オブジェクト指向言語でプログラミングしてきました。私が最初に使用したオブジェクト指向言語は、C ++、次にSmalltalk、最後に.NETJavaでした。 私は、継承、カプセル化、およびポリモーフィズムの利点を活用するためにガンホーでした。パラダイムの3つの柱。 私は再利用の約束を得て、この新しくてエキサイティングな風景の中で私の前に来た人々によって得られた知恵を活用することを熱望していました。 実世界のオブジェクトをクラスにマッピングすることを考えたときの興奮を抑えることができず、全世界が適切に配置されることを期待していました。 私はもっ​​と間違っていたはずがない。 継承、落下する最初の柱 一見すると、継承はオブジェクト指向パラダイムの最大の利点のように見えます。新しく教化された例としてパレードされた形状階層のすべての単純な例は、論理的に理にかなっているようです。

    さようなら、オブジェクト指向プログラミング
    gabill
    gabill 2021/12/26
    「多くに依存しすぎないこと」って実問題としてはとても大切だと思うけど、再利用と相反するからあまり重要視されない。でも作業時間の何割かをDependabot対応に追われると「これって正しいのかな?」と思えてくる。
  • 1