並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 75件

新着順 人気順

k-meansの検索結果1 - 40 件 / 75件

  • K-meansのクラスタ数を決めるのにエルボー法を使うのはやめよう、という論文 - 渋谷駅前で働くデータサイエンティストのブログ

    クラスタリングに用いられるK-meansのクラスタ数決定方法については長く議論されてきた歴史があり、このブログでも以前ちょろっと取り上げたことがあります。 で、Twitterを眺めていたらタイムラインに面白い論文が流れてきました。それがこちらです。 タイトルを読んで字の如く「K-meansのクラスタ数を決めるのにエルボー法を使うのはやめろ」という論文なんですね。全体で7ページと非常にコンパクトで読みやすい内容なので、簡単にまとめて紹介してみようと思います。なおいつもながらですが、僕の技術的理解が不足しているが故の誤りなどが混じる可能性がありますので、その際はコメント欄などでご指摘くださると幸いです。 あるtoy dataに対するK-meansの結果 目検に頼らないエルボー法について考える ならば、既存のクラスタ数決定法の中では何を選ぶべきか そもそもK-meansが有効でないケースもあるこ

      K-meansのクラスタ数を決めるのにエルボー法を使うのはやめよう、という論文 - 渋谷駅前で働くデータサイエンティストのブログ
    • k-means法を用いて画像をドット絵風に変換する

      はじめに k-means法を用いて画像を減色しドット絵風に変換するWebアプリを作りました。 (よろしければstarを頂けると幸いです) 変換例 Lenna k=4 75x75 Mandrill k=8 50x50 海中のイラスト k=12 54x30 寿司のイラスト k=16 34x21 方針 k-means法を利用します。処理の流れは以下の通りです。 ランダムにK(定数)個の画素を選び、クラスタ分けに用いる代表色を決定する。 各画素について、最も近い代表色を選びクラスタ分けをする。 各クラスタについて平均色を計算し、新たな代表色とする。 上記の処理でクラスタの割当てが変化しない、または変化量が閾値を下回った場合に収束したと判断して処理を終了する。そうでなければ処理を繰り返す。 実装 画像の読み込み 変換前の画像がoriginalCanvasで、変換後の画像がconvertedCanva

        k-means法を用いて画像をドット絵風に変換する
      • K-meansの発展形アルゴリズムG-meansとX-means

        始めに 最近、M2 Macbook Airを入手したBudoこと荻本です。 この記事では、教師なし学習であるK-meansやその発展形のアルゴリズムについて調査を行ったので、いくつかの手法を紹介したいと思います。 K-meansとは 教師なし学習の手法の一つです。 非階層クラスタリング手法であり、以下のような工程となります。 各点に対しランダムにクラスタリングを行う 各クラスタに割り当てられた点について重心を計算する 各点について上記で計算された重心からの距離を計算し、距離が一番近いクラスタに割り当て直す 2.と3.の工程を、割り当てられるクラスタが変化しなくなるまで行う 図で表現すると下記のように(a)→(b)→(c)→(d)のような順序を辿ってクラスタが収束していくイメージです。 (b)の段階でまず各点に適当にクラスタが割り振られ、その重心が計算されます(重心は赤星で図示)。 (c)で

        • K-Meansクラスタリング scikit-learnを使わずゼロから実装する(Python)||es

          K-Meansは個人的にも好きなアルゴリズムで、教師あり学習を必要とせず、混沌とした中からパターンを見つけ出してくれる可能性があります。 実際、実践で使うとそのような都合の良いデータはほとんどなく、むしろ 仮説を否定する場合に使う方が現実的かもしれません。 自分の場合、顧客のセグメント分けに使うことが多いです。 ステップ 1. ランダムに k 個のデータポイントを初期のセントロイドとして選ぶ。 ステップ 2. トレーニングセット内のデータポイントと k 個のセントロイドの距離(ユークリッド距離)を求める。 ステップ 3. 求めた距離に基づいて、データポイントを一番近いセントロイドに割り当てる。 ステップ 4. 各クラスタグループ内のポイントの平均を取ることでセントロイドの位置を更新する。 ステップ 5. ステップ 2 から 4 をセントロイドが変化しなくなるまで繰り返します。 以下、シンプ

            K-Meansクラスタリング scikit-learnを使わずゼロから実装する(Python)||es
          • RでK-meansの最適なクラスタ数をAIC / BICに基づいて求める - 渋谷駅前で働くデータサイエンティストのブログ

            これはただの備忘録です。既知の話題ばかりが並べられているので、特に新鮮味のない内容である点予めご容赦ください。 クラスタリング手法として広く知られるK-meansは、その簡便さから非常に広汎に使われていますが、一方で「クラスタ数を恣意的に決め打ちせざるを得ない」という難点があり、「最適なクラスタ数をどうやって決めるか」という課題が長年に渡ってあります。この課題の解決策についてちょっと調べてみたので、以下にまとめてみました。 K-meansにおける「最適なクラスタ数の決め方」として、こちらの記事では伝統的な手法ということで エルボー法 シルエット分析 X-means(K-meansに情報量規準を適用して再帰的に最適クラスタ数を決める) の3種類が紹介されています。これらは僕も以前から聞いたことがあるもので、実際K-meansの実装の中には最初からエルボー法などを含んでいるものもあったりします

              RでK-meansの最適なクラスタ数をAIC / BICに基づいて求める - 渋谷駅前で働くデータサイエンティストのブログ
            • k-meansとk-means++を視覚的に理解する~Pythonにてスクラッチから~ - 医療職からデータサイエンティストへ

              k-means(k平均法)は教師なし学習の中でもとても有名なアルゴリズムの一つです。例えば、顧客のデータから顧客を購買傾向によってグループ分けしたり、商品の特性からいくつかのグループに分けたりと使用法は様々です。 そんなk-measですが、実は中学生でも知っている点と点の間の距離を使うだけのアルゴリズムで成り立っているので、簡単に実装することができます。 今回は、k-means とk-meansの弱点を克服したk-means++をPythonを使って実装していきます。 k-meansの仕組み k-meansの問題点とk-means++ クラスの数を決めるエルボー法 scikit-learnを使ったk-meansとk-means++ まとめ 参考 k-meansの仕組み 今回は2つの変数からサンプルをクラスタリングすることを想定してみましょう。グラフはこんな感じになります。 import n

                k-meansとk-means++を視覚的に理解する~Pythonにてスクラッチから~ - 医療職からデータサイエンティストへ
              • k-means++を理解する - Qiita

                はじめに 以前k-meansに関する記事を投稿しました。 k-meansは初期値依存という問題を抱えているため、その克服を目指したk-means++というアルゴリズムが開発されています。 今回はk-means++について勉強した内容をまとめました。 参考 k-means++の理解に当たって下記を参考にさせていただきました。 言語処理のための機械学習入門 (自然言語処理シリーズ) 高村 大也 (著), 奥村 学 (監修) 出版社; コロナ社 機械学習のエッセンス 加藤公一(著) 出版社; SBクリエイティブ株式会社 k-means++法 - Wikipedia k-means++について k-meansの復習 k-meansの概要 k-meansは、まずデータを適当なクラスタに分けた後、クラスタの平均を用いてうまい具合にデータがわかれるように調整させていくアルゴリズムです。任意の指定のk個の

                  k-means++を理解する - Qiita
                • Stop using the elbow criterion for k-means and how to choose the number of clusters instead

                  A major challenge when using k-means clustering often is how to choose the parameter k, the number of clusters. In this letter, we want to point out that it is very easy to draw poor conclusions from a common heuristic, the "elbow method". Better alternatives have been known in literature for a long time, and we want to draw attention to some of these easy to use options, that often perform better

                  • scikit-learnのk-meansでirisデータをクラスタリングしてみよう!【サンプルコード有り】 | 自動化ラボっ!

                    はじめに Pythonの機械学習モジュールであるscikit-learnは数多くの機械学習アルゴリズムをカンタンに使うことができることがわかりました。これまでは本ブログで紹介したのはいわゆる「教師あり学習」の問題が多かったのですが、今回は「教師なし」のアルゴリズムであるクラスタリングを行うこととしましょう。 ちなみに、教師あり、なしとはよく言いますが概要を述べると、教師あり学習は 教師あり学習(きょうしありがくしゅう, 英: Supervised learning)とは、機械学習の手法の一つである。事前に与えられたデータをいわば「例題(=先生からの助言)」とみなして、それをガイドに学習(=データへの何らかのフィッティング)を行うところからこの名がある。 出典: フリー百科事典『ウィキペディア(Wikipedia)』 これに対して、教師なし学習は 教師なし学習(きょうしなしがくしゅう, 英:

                      scikit-learnのk-meansでirisデータをクラスタリングしてみよう!【サンプルコード有り】 | 自動化ラボっ!
                    • K-Means Clustering for Unsupervised Machine Learning

                      K-means clustering is a type of unsupervised learning when we have unlabeled data (i.e., data without defined categories or groups). Clustering refers to a collection of data points based on specific similarities. K-Means Algorithm K-means aims to find groups in the data, with the number of groups represented by the variable K. Based on the provided features, the algorithm works iteratively to ass

                        K-Means Clustering for Unsupervised Machine Learning
                      • kaz / AI Academy on Twitter: "「筑波大学オープンコースウェア」を活用すると機械学習概論から単回帰・重回帰、SVM、k-means,PCA,ニューラルネットワーク,CNN,RNN,GANなどが全て「無料」で学べます。 上記20本が講義動画で登録なしで学べます。… https://t.co/qoD0vhifGz"

                        「筑波大学オープンコースウェア」を活用すると機械学習概論から単回帰・重回帰、SVM、k-means,PCA,ニューラルネットワーク,CNN,RNN,GANなどが全て「無料」で学べます。 上記20本が講義動画で登録なしで学べます。… https://t.co/qoD0vhifGz

                          kaz / AI Academy on Twitter: "「筑波大学オープンコースウェア」を活用すると機械学習概論から単回帰・重回帰、SVM、k-means,PCA,ニューラルネットワーク,CNN,RNN,GANなどが全て「無料」で学べます。 上記20本が講義動画で登録なしで学べます。… https://t.co/qoD0vhifGz"
                        • 機械学習入門!クラスタリングの解説とPythonによるk-means実装 | 侍エンジニアブログ

                          クラスタリングとは、機械学習の目的別の分類の一つです。教師あり学習では教師データ(ラベルとデータのセットがたくさんあるもの)から、データに対するラベル付の法則性を見つけていました。 これに対して、クラスタリングは教師なし学習です。例えば、以下のようなデータ(このデータはiris datasetの一部です)があるとします。 水色の線がクラスタを表していると思ってください。このクラスタはデータから、ラベルを気にせずにそれらしいまとまりをつけてみたものです。 このようにクラスタリングは、ラベルのない”ただのデータ”から、データのクラスター(データのまとまり)をいくつか見つけます。または、ラベルがあるデータだとしても、ラベルを使わずにクラスタをいくつか見つけます。 その結果出てくるクラスタはクラス分類した場合とは異なったデータ構成になっていることが多いです。 クラスタリングとクラス分類 クラスタリ

                            機械学習入門!クラスタリングの解説とPythonによるk-means実装 | 侍エンジニアブログ
                          • OpenCV - k 平均法 (k-means) を使い、画像の代表色を取得する方法 - Pynote

                            概要 OpenCV で k 平均法 (k-means) を使い、画像の代表色を取得する方法を紹介する。 以下の用途で利用できる。 画像で使われている主な色を取得する。 画像を見た目にあまり影響がないように減色する。(例: 1000色で表されている画像を8色で表現する。) 概要 cv2.kmeans criteria attempts retval サンプルコード k 平均法で代表色を計算する。 画像の各画素をクラスタの色で置き換える。(減色処理) cv2.kmeans retval, bestLabels, centers = cv2.kmeans( data, K, bestLabels, criteria, attempts, flags[, centers]) 引数 data: 入力データ。形状が (M, N) の numpy 配列。 K: クラスタ数 criteria: アルゴリズ

                              OpenCV - k 平均法 (k-means) を使い、画像の代表色を取得する方法 - Pynote
                            • Create a k-means model to cluster London bicycle hires dataset  |  BigQuery  |  Google Cloud

                              Send feedback Create a k-means model to cluster London bicycle hires dataset Stay organized with collections Save and categorize content based on your preferences. BigQuery ML supports unsupervised learning . You can apply the k-means algorithm to group your data into clusters. Unlike supervised machine learning, which is about predictive analytics, unsupervised learning is about descriptive analy

                                Create a k-means model to cluster London bicycle hires dataset  |  BigQuery  |  Google Cloud
                              • k-means法を使用したクラスタリングによるデータ分析(python)(【高等学校情報科 情報Ⅱ】教員研修用教材) - Qiita

                                はじめに 非階層型クラスタリングの手法の一つに、k-means法(k平均法)があります。 教材の「第3章 情報とデータサイエンス 後半 学習16.クラスタリングによる分類」の記述がわかりやすいので引用します。 k-means法では,次の手順によってクラスタリングする。 1) あらかじめ分割するクラスタ数を決めておき,ランダムに代表点(セントロイド)を決める。 2) データと各代表点の距離を求め,最も近い代表点のクラスタに分類する。 3) クラスタごとの平均を求め,新しい代表点とする。 4) 代表点の位置が変わっていたら2に戻る。変化がなければ分類終了となる。 1)によりランダムに代表点を決めることによって,結果が大きく異なり,適切なクラスタリングとな らない場合もある。何回か繰り返して分析をしたり,k-means++法を用いたりすることにより改善することができる。 1’)データの中からラン

                                  k-means法を使用したクラスタリングによるデータ分析(python)(【高等学校情報科 情報Ⅱ】教員研修用教材) - Qiita
                                • k-means法を理解する - Qiita

                                  はじめに k-means法について勉強した内容をまとめました。 最もベーシックなクラスタリングアルゴリズムです。 参考 k-means法の理解に当たって下記を参考にさせていただきました。 言語処理のための機械学習入門 (自然言語処理シリーズ) 高村 大也 (著), 奥村 学 (監修) 出版社; コロナ社 機械学習のエッセンス 加藤公一(著) 出版社; SBクリエイティブ株式会社 k-means法概要 k-means法とは何か k-means法は、まずデータを適当なクラスタに分けた後、クラスタの平均を用いてうまい具合にデータがわかれるように調整させていくアルゴリズムです。任意の指定のk個のクラスタを作成するアルゴリズムであることから、k-means法(k点平均法と呼ばれています。) k-means法のアルゴリズム k-mean法は具体的には下記のような工程を辿ります。 各点$x_{i}$に対

                                    k-means法を理解する - Qiita
                                  • 【機械学習】クラスタリングとは何か(k-means)

                                    教師なし学習の代表例であるクラスタリング(k-平均法)を解説します このチャンネルのスポンサーをこちらで募集しています↓ https://camp-fire.jp/projects/view/130136 --------------------------------------------------------------------------------------------------------- 【ヨビノリたくみの書籍一覧】 「難しい数式はまったくわかりませんが、微分積分を教えてください!」 https://amzn.to/33UvrRa →一般向けの微分積分の入門書です 「難しい数式はまったくわかりませんが、相対性理論を教えてください! https://amzn.to/33Uh9Ae →中学の易しい数学しか使わない相対性理論の解説本です 「予備校のノリで学ぶ大

                                      【機械学習】クラスタリングとは何か(k-means)
                                    • K-means法でドット絵を作る記事が面白かったのでScala.jsで真似てみた - Lambdaカクテル

                                      こういう記事を見た。 zenn.dev これは非常に面白かった。特に、寿司の画像が面白かった。そこで、自分も同じように寿司の画像をドット絵にしてみたいと思い、真似することにした。 ただ真似するだけではつまらないので、Scalaで関数型っぽくスマートに実装できないかと思った。ありがたいことに、ScalaはScala.jsという技術により、どういうわけかJavaScriptにトランスパイルできるので、全部Scala.jsで書いてしまうことにした。 github.com できた。機能は先駆者様と同じなので、サービスとしての公開はあまり考えていない。 UIはめちゃくちゃ雑に実装したので、先駆者様のような先進的な雰囲気は皆無で、田舎の図書館のパソコンみたいな雰囲気になってしまっている。 いちおう、UIとK-means法を適用する箇所は分けて実装してあるけれど、K-means法のアルゴリズムに画像固有

                                      • K-Means 8x faster, 27x lower error than Scikit-learn in 25 lines - KDnuggets

                                        K-Means 8x faster, 27x lower error than Scikit-learn in 25 lines K-means clustering is a powerful algorithm for similarity searches, and Facebook AI Research's faiss library is turning out to be a speed champion. With only a handful of lines of code shared in this demonstration, faiss outperforms the implementation in scikit-learn in speed and accuracy. By Jakub Adamczyk, Computer science student,

                                          K-Means 8x faster, 27x lower error than Scikit-learn in 25 lines - KDnuggets
                                        • scikit-learnとpyclusteringのk-means実装例を比較 - Qiita

                                          はじめに Pythonで機械学習を実装する際のデファクトスタンダードはscikit-learnだが、クラスタリングにおいては一部かゆいところに手が届いていない部分もあるため、pyclusteringが選択肢として入ってくる。 しかし、pyclusteringはscikit-learnと比較すると若干使いにくい部分があるため、利用方法の備忘のため、最も基本的なk-meansにおける実装例をまとめる。 K-meansの実行例 使用データ

                                            scikit-learnとpyclusteringのk-means実装例を比較 - Qiita
                                          • k-meansのいい感じのクラスタ数を自動で設定したい - Re:ゼロから始めるML生活

                                            教師なし分類の代表的な手法として、k-meansがあります。 k-meansは分類自体は自動で出来るんですが、その際のクラス数はマニュアルで設定する必要があります。 そのため、どう分類されるかはここで指定するクラス数に強く依存するわけです。 この辺は人間の勘でやるのも構いませんが、この辺りまで自動でなんとかしたいと思うのが人の性かなと思います。(ほんとか?) 今回はk-meansのクラス数を自動で推定する手法を調べてみたのでそのメモです。 まずは調べる やってみる 普通のk-means X-means G-means 使ったコード 参考文献 感想 まずは調べる ちょっと調べてみるとこんな感じの記事が見つかりました。 qiita.com qiita.com 何やらX-meansやらG-meansなるものがあるようで、この辺を使うといい感じにクラスタ数を設定できるようです。 中の理屈については

                                              k-meansのいい感じのクラスタ数を自動で設定したい - Re:ゼロから始めるML生活
                                            • 【E資格対策】k-meansの実装方法について詳しく見る

                                              E資格では、numpyだけで実装したk-means法のコードが出題されます。 k-means法の理解のために、それぞれのコードが何を計算しているのか、をまとめてみました。 k-means法の実装(全体) まず、全体感から眺めていきます。 k-means法は、大きく三つの関数で構成されます。 重心の初期化 重心からの距離の計算 クラスタリング(k-means)の実行 import numpy as np #1 重心の初期化 def init_centroid(X, n_data, k): idx = np.random.permutation(n_data)[:k] centroids = X[idx] return centroids #2 重心からの距離の計算 def compute_distance(X, k, n_data, centroids): distances = np.ze

                                                【E資格対策】k-meansの実装方法について詳しく見る
                                              • K-meansクラスタリングでテキストの一覧を分類 - Qiita

                                                概要 特に外向けに難しいことを発信しようとしたわけでもなく、今後もたまに使いそうだと思った備忘、そのいくつか。 手っ取り早い機械学習のあるあるだと思うのですが、ズラーっとテキストデータの一覧があって、それをざっくり分類分けしたい、なときに使えそうなもの。 あまり複雑に作り込まず、そこにフォーカスして手元で実行できるようにやってみました。 やったこと K-meansクラスタリングを用いて、テキストデータの一覧CSVファイルの各行を分類するスクリプトを作成 使ったテキストデータの一覧は ファイル名:sample.csv 内容:「text」の項目一列で構成されたシンプルなもの 環境 たぶんすぐやるなら以下一択だったとは思いますが念のため補足がてら。 言語:python ライブラリ:scikit-learn 環境:jupyter notebook 成果物 パッケージのインストール janome:日

                                                  K-meansクラスタリングでテキストの一覧を分類 - Qiita
                                                • SPSS ModelerのK-Meansノードをpythonに書き換える - Qiita

                                                  SPSS ModelerのK-MeansノードをPythonのscikit-learnで書き換えてみます。 以下の記事でModelerでの使い方は解説していますので、この内容をscikitlearnで行ってみます。 SPSS Modeler ノードリファレンス 5−18 K-Means(クラスター) - Qiita 1m.K-Meansの事前加工処理 Modeler Modelerでは以下の事前処理を自動でやってくれます。 尺度 スケーリング、ダミー変数化 NULLの処理

                                                    SPSS ModelerのK-Meansノードをpythonに書き換える - Qiita
                                                  • 量子k-means法のはなし|Takayuki Uchiba

                                                    Introductionデータポイントの数や次元数の大きいデータを扱うとき、機械学習の学習アルゴリズムの時間計算量を気にしたことがあるかもしれません。量子アルゴリズムには素因数分解や未整序データベース探索といった特定の課題で、時間計算量のオーダーを下げることに成功した例があり、学習アルゴリズムに対しても同様のことができないかというのは興味深い話です。 このノートでは、そのような量子機械学習と呼ばれるトピックから、特にk-means法の量子アルゴリズムを紹介し、その構成要素であるGrover's algorithmとswap testのうち、swap testのqiskitによる実装例を掲げます。 なお、このノートは量子コンピュータ Advent Calendar 2018, 21日目の記事になります。作成者の@gyu-donさんに感謝申し上げます。また頭痛による体調不良のため投稿が遅れたこ

                                                      量子k-means法のはなし|Takayuki Uchiba
                                                    • 【機械学習】教師なし学習K-means法を実装してみる 理論編 入門22 - SEワンタンの独学備忘録

                                                      教師なし学習 K-means法 概要とイメージ K-means法の理論 ①初期値の設定 ②クラス指示変数の更新 ③中心ベクトルの更新 ④再度クラス指示変数の更新 ⑤相互更新の繰り返し ものすごーく久しぶりになってしまいましたが、機械学習をやります。なんとかこの本だけは完走したい。 今回の一連の機械学習の最終項として「教師なし学習」を扱います。 教師なし学習 これまでは訓練データに正解データがついたデータを扱ってきましたが、今回の「教師なし学習」では正解データがついていないデータを扱います。 ■クラスタリング 教師なし学習にもいくつか種類がありますが、今回はクラスタリングを扱います。 クラスタリングは名前から教師あり学習の「分類」とも似たような印象をうけますが、クラスタリングは「クラスター」からきており、分類ではデータを予め決められたクラスに分けるのに対して、クラスタリングではデータの(特徴

                                                        【機械学習】教師なし学習K-means法を実装してみる 理論編 入門22 - SEワンタンの独学備忘録
                                                      • Mask R-CNN とK-Meansクラスタリングで画像中の対象物の色を抽出する - Qiita

                                                        GitHubリポジトリ 概要 Mask R-CNNと提供されている学習済みのモデルを使って、画像中の対象物のみをRGBデータとして抽出する。 そのRGBデータをK-Meansでクラスタリングすると対象物のドミナントカラーを抽出できる。 例 ピザ(pizza) Photo by mahyar motebassem on Unsplash 信号機(traffic light) Photo by Aleksandr Kotlyar on Unsplash 犬(dog) 使い方 $ git clone https://github.com/xy-gao/instance-dominant-colors.git $ cd instance-dominant-colors $ pip3 install -r requirements.txt from instance2color import Ins

                                                          Mask R-CNN とK-Meansクラスタリングで画像中の対象物の色を抽出する - Qiita
                                                        • Kernel k-meansのコードを整理した - 備忘録

                                                          Mathieu Blondel氏によるKernel k-meansのPythonコードがあった。 Kernel K-means. · GitHub 上記のコードはPython 2系で書かれていたので、Python 3系で動くように整理した。 Kernel K-means. · GitHub 簡単なデモンストレーションを行うnotebookは以下の通り。 当該のコードをkernel_kmeans.pyとして保存して動かしたときのもの。 gist.github.com

                                                            Kernel k-meansのコードを整理した - 備忘録
                                                          • K-means法の練習 - Qiita

                                                            はじめに 距離学習の勉強を始め、Scikit-learnを利用し、K-means法をかじってみました。 データ探索(EDA) Irisのデータセットをロードします。 print(iris_data.DESCR) .. _iris_dataset: Iris plants dataset -------------------- **Data Set Characteristics:** :Number of Instances: 150 (50 in each of three classes) :Number of Attributes: 4 numeric, predictive attributes and the class :Attribute Information: - sepal length in cm - sepal width in cm - petal length

                                                              K-means法の練習 - Qiita
                                                            • クラスター分析手法のひとつ k-means を scikit-learn で実行したり scikit-learn を使わず実装したりする - Qiita

                                                              クラスター分析手法のひとつ k-means を scikit-learn で実行したり scikit-learn を使わず実装したりするPythonscikit-learnpandassklearn クラスターを生成する代表的手法としてk-meansがあります。これについては過去にも記事を書きましたが、今回は皆さんの勉強用に、 scikit-learnを使う方法と、使わない方法を併記したいと思います。 K-meansクラスタリング(過去記事) https://qiita.com/maskot1977/items/34158d044711231c4292 データの取得 機械学習の勉強用データとしてよく使われるあやめのデータを用います。 import urllib.request url = "https://raw.githubusercontent.com/maskot1977/ipyth

                                                                クラスター分析手法のひとつ k-means を scikit-learn で実行したり scikit-learn を使わず実装したりする - Qiita
                                                              • 【Python】教師なしクラスタリング k-means法 - Qiita

                                                                k-means法は古典的な非階層的クラスタリング手法で、サンプルデータをK個のクラスターに分け、中心点からの距離の近さにより分類するという方法です。 クラスタリングの流れ クラスタ数をk個指定して、セントロイド(中心点)をランダムにk個配置する 各サンプルを近接するセントロイドに割り当てる セントロイドに割り当てたサンプルの中心を求め、セントロイドを移動させる 2.と3.を繰り返し、中心点が変わらなくなったら、クラスタリング終了 1. Numpyで実装 import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn import datasets iris = datasets.load_iris() # irisを読み込む関数 df = pd.DataFrame( iris.data,

                                                                  【Python】教師なしクラスタリング k-means法 - Qiita
                                                                • 顔認識とPCAとK-meansクラスタリングを用いた似た顔画像検出 - Qiita

                                                                  はじめに 似た画像の検出は画像認識におけるよく利用される機能の一つです。 レコメンドシステムや検索システムでは数万、数十万という画像を利用することも少なくありません。 画像のサイズや比較方法にもよりますが、数千、数万枚のなかから似た画像を検索するのは膨大な処理時間が必要になります。 そこでk-meansとPCAを利用してデータ量や比較回数を削減して似た画像を検出する方法を考えます。 Face Recognition 顔の特徴は以下のURLのライブラリで実装できる、128次元のベクトルで表されるface_landmarkを利用します。 https://github.com/ageitgey/face_recognition PCA後の次元数は寄与率を見つつ20としました。PCAを行って次元削減をした後にk-meansによってK=10のクラスタに分類します。 各クラスタの重心から最も近いものを

                                                                    顔認識とPCAとK-meansクラスタリングを用いた似た顔画像検出 - Qiita
                                                                  • k-means法(k平均法)のアルゴリズムを実装して完全に理解する | 機械学習と情報技術

                                                                    k-means法(k平均法)のアルゴリズムを実装して完全に理解する Posted: 2022/08/22, Category: クラスタリング , 機械学習 k-means法は機械学習の参考書に掲載されているような基本的なクラスタリングのアルゴリズムです。 よく、教師なし学習の代表例としても教科書等で扱われることがあり、またk-meansのアルゴリズム自体が機械学習分野で登場するEMアルゴリズムといったパラメータ学習方法に近しい手法を用いていることもあり、k-meansを学ぶことは機械学習の手法を学ぶ上で非常に重要と言えます。 また実際の課題を解こうとする際に、主成分分析(PCA)で低次元空間に次元変換した上で、k-meansでクラスタリングするなどをすることもあります。 今回は、k-meansのアルゴリズムを勉強することを目的とし、scikit-learn等のライブラリを実装せずにスクラ

                                                                      k-means法(k平均法)のアルゴリズムを実装して完全に理解する | 機械学習と情報技術
                                                                    • juliaでクラスター分析(K-means)をやってみる

                                                                      Juliaでクラスタ分析をやってみようっていう話です。 今回はK-means(K平均法)やってみます。教師なし学習っていうやつですね。 さて、Juliaでクラスター分析するときに使えるパッケージがあります。その名も「Clustering.jl」そのまんまの名前です。 チュートリアルにあるIrisのK-meansやっていきましょう。 パッケージのインストール まずはパッケージのインストールから REPL環境であればパッケージモードから、 (@v1.7) pkg>add Clustering jupyter-notebookなどからインストールするなら using Pkg Pkg.add("Clustering") K-meansやっていこう! パッケージの準備ができたので、実際にK-means(K平均法)やっていきましょう データセットをRDatasetsから持ってくる方法とMLDatase

                                                                        juliaでクラスター分析(K-means)をやってみる
                                                                      • 分散と共分散と分散共分散行列とsklearn.decomposition.PCAとK-means法と - ts0818のブログ

                                                                        オルバースのパラドックス (Olbers' paradox, Olbers's paradox) は、「宇宙の恒星の分布がほぼ一様で、恒星の大きさも平均的に場所によらないと仮定すると、空は全体が太陽面のように明るく光輝くはず」というパラドックスである。 その名は、18〜19世紀の天文学者であるヴィルヘルム・オルバースに由来する。ただしオルバースが最初に提起したわけではない。 オルバースの逆説、オルバースの逆理、オルバースの背理、ド・シェゾー=オルバースのパラドックス (de Cheseaux-Olbers paradox)などともいう。 オルバースのパラドックス - Wikipedia このパラドックスの帰結は、星は距離の2乗に反比例して見かけの面積が小さくなるが、距離が遠い星の数は距離の2乗で増えるので、これらはちょうど打ち消しあい、どの方向を見てもいずれかの星のまばゆい表面がみえるはず

                                                                          分散と共分散と分散共分散行列とsklearn.decomposition.PCAとK-means法と - ts0818のブログ
                                                                        • 【Python】K-MEANSでのクラスタリング結果を主成分分析で次元削減してグラフで可視化する

                                                                          業務でクラスタリングした結果をプロットしてほしい、みたいな依頼を受けたのですが2次以上の多次元の配列データをk-meansでクラスタリングした結果ってどうやって可視化するんだっけ…?と少し悩んだのでメモしておきます。 データの準備&前処理 sk-learnにあるワインのデータを使います。 from matplotlib import pyplot as plt from sklearn import datasets, preprocessing import numpy as np import pandas as pd wine_data = datasets.load_wine() df = pd.DataFrame(wine_data.data, columns=wine_data.feature_names) df K-meansでクラスタリングを行う from sklearn.

                                                                            【Python】K-MEANSでのクラスタリング結果を主成分分析で次元削減してグラフで可視化する
                                                                          • Subspace k-Means について語りたい - Qiita

                                                                            アナタ ハ k-Means ヲ スキ デス カ? ハイ ワタシ ハ k-Means ガ ダイ スキ デス 概要 Subspace k-Means を実装したよ Subspace k-Means と普通の k-Means の違いを説明するよ Subspace(に限らず)k-Means での最適クラスタ数の見積もりをしたよ 実装したよ ということで、既に実装をしております。 なるべく普通の k-Means (sklearn.cluster.KMeans) と同じように動くように作ってます。 (2021.04.21 時点で scikit-learn == 0.24.1 で動くことは確認してます) 違う点は以下。 Sparse Matrix (scipy.sparse.csr_matrix) には対応してません scikit-learn が採用しているアルゴリズム(lloyd と elkan)には

                                                                              Subspace k-Means について語りたい - Qiita
                                                                            • Pythonによるk-meansクラスタリングの実装方法を現役エンジニアが解説【初心者向け】

                                                                              初心者向けにPythonによるk-meansクラスタリングの実装方法について現役エンジニアが解説しています。k-meansとはクラスタリングの手法の一つで、非階層型クラスタリングのアルゴリズムです。scikit-learnのデータセットを使いクラスタリングを実装して、matplotlibを使いグラフにして表示します。 テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

                                                                                Pythonによるk-meansクラスタリングの実装方法を現役エンジニアが解説【初心者向け】
                                                                              • k-means法とそれに関連したモデルのJavaScriptによる実装 - Qiita

                                                                                はじめに 「色々な機械学習処理をブラウザ上で試せるサイトを作った」中で実装したモデルの解説の一回目です。 k-means法に関連した以下のモデルの実装について解説します。 k-means k-means++ k-medois Neural Gas デモはこちらから。(TaskをClusteringにして、ModelのK-MeansまたはNeural Gasを選択) 実際のコードはkmeans.js、Neural Gasはneural_gas.jsにあります。 数学的な話は分かりやすく説明する自信が無いため、ほとんど行いません。 また、可視化部分については一切触れません。 概説 ほとんどの処理は同一であり、モデルによって処理の変わる部分は - 新規のセントロイドの追加(add) - セントロイドの位置の移動(move) の二つのみです。 なので、これらの処理をコンストラクタで注入するようにし

                                                                                  k-means法とそれに関連したモデルのJavaScriptによる実装 - Qiita
                                                                                • 「全力回避フラグちゃん!」チャンネルの動画のk-meansで可視化してみた【クラスタリング】【可視化】 - Qiita

                                                                                  この中で,今回は各動画の再生回数,高評価数,低評価数,コメント数といった基本的な情報と,メタ的な情報として各キャラクターの登場に関する情報で動画をクラスタリングしてみました.上記表のNo. でいうところの「1~4」と「6~8」の7つのカラムを特徴量としています. これには,各キャラクターの登場と動画の目に見える基本的な情報でクラスタリングするとどうなるのか?という個人的なモチベーションが起因しています.また,k-means + pca を用いた可視化を実施してみたかったというモチベーションもありました. プログラムの作成 上記のデータセットと定めた特徴量を用いて,k-means を用いたクラスタリングによる可視化を行うコードが下記です. まず対象のデータセットを読み込み,今回使用する数値型のカラムのみに絞ります. そこからさらに,今回使用するカラムのみになるよう不要なカラムを削除し,各カラ

                                                                                    「全力回避フラグちゃん!」チャンネルの動画のk-meansで可視化してみた【クラスタリング】【可視化】 - Qiita