スペクトラルクラスタリング いい機会だし先日投稿したスペクトラルクラスタリングとやらを実際にやってみたいと思います。ソースコードは再生産しても仕方がないのですぐる様のブログからパクってお借りします。 すぐる様のブログにあったコードはそのままではうまく動作しなかったのと、Jupyter notebook のお作法に従って少しコードを手直ししています。(そのまま実行するとGraph is not fully connected, spectral embedding may not work as expected.というwarningが表示されました。このwarningに関してもGitHubのissueに素晴らしい回答があるのですが読むのが面倒臭かったので@taki__taki__様のブログよりスペクトラルクラスタリングの実行部分のコードを1行だけお借りしました。また、%matplotlib
2016年に作った資料を公開します。もう既にいろいろ古くなってる可能性が高いです。 (追記:新しい記事は 階層的クラスタリングとシルエット係数 をご覧ください。) 本実習では教師なし学習の一種である階層的クラスタリングを行ないます。 * 階層的クラスタリング とは何か、知らない人は下記リンク参照↓ * 階層的クラスタリングとは * クラスタリング (クラスター分析) まずはサンプルデータの取得から # URL によるリソースへのアクセスを提供するライブラリをインポートする。 import urllib # ウェブ上のリソースを指定する url = 'https://raw.githubusercontent.com/maskot1977/ipython_notebook/master/toydata/iris.txt' # 指定したURLからリソースをダウンロードし、名前をつける。 url
前回の記事の続きです。 参考:scipyで階層的クラスタリング 前回の記事で階層的クラスタリングを実行し可視化するところまで紹介しましたが、 今回は一歩戻ってlinkage関数の戻り値の中身を見てみます。 とりあえず、 linkage matrix をprintして結果を見てみましょう。 from sklearn.datasets import load_iris from scipy.cluster.hierarchy import linkage X = load_iris().data[::10, 2:4] print(X.shape) # (15, 2) # ユークリッド距離とウォード法を使用してクラスタリング z = linkage(X, metric='euclidean', method='ward') print(z.shape) # (14, 4) print(z) #
クラスター分析でわかること(前回までの復習をかねているので、わかる方は読み飛ばしてください) 「クラスター分析」というのは、バラバラでよくわからないものを、 似ているものは同じグループに、似ていないものは違うグループに分けることをいいます。 「グループ分け」することで、よくわからないものが、わりと分かりやすい感じになります。 たとえば、 タイトルも目次もない、順序もバラバラの本の原稿用紙を大量に受け取っても、その中身が何なのか理解するのは大変だと思います。 でももしも、タイトルや目次がついていたり、文章の構成が前もって分かっていれば、中身の概要はつかめるはずです。 この目次や文章の構成というのは、原稿用紙全体をグループ分けしているわけです。 バラバラの内容もグルーピングすることで、中身が理解しやすくなります。 テキストマイニングでのクラスター分析も、大量の文書の内容が、おおよそどんなものか
1. 概要 density-connected points などのような密度に基づいて集合を作成する手法を density-based clustering と言います。 1-1. 背景 density-based clustering を理解する上で、2つのパラメータと3つの形式定義について理解する必要があります。 1-1-1. パラメータ : 近傍の最大半径(maximum radius of the neighbourhood) : ε近傍内に含む最小のオブジェクト数(minimum number of points in an ε-neighbourhood of that point) 1-1-2. 形式定義(formal difinition) Definition 1. directly density-reachable 以下の条件を満たすものを、"ε, MinPts に
『”決定木”という選択肢』 - 村山 幹朗 前回のコラムでは、セグメンテーション手法として、一般的に使われる因子分析、クラスター分析には問題がある事について取り上げました。また、その問題を避けるためのセグメンテーション手法、決定木について朝野先生に取り上げて頂きました。市場調査クリニックでは、決定木を用いたセグメンテーション手法として「ACAT」という手法についても掲載していますが、今回の分析裏話では、単純集計によるセグメンテーションと、決定木を用いたセグメンテーションの違いについて、より詳しく取り上げたいと思います。 ■単純集計で良いのか? 消費者の行動にセグメント間で明確な違いが出る様にしたいのなら、購買意向や単価が高い人にフラグを立てて抽出し、クロス集計を切ればいいじゃないか、と思われる方もいると思います。例えば、ある製品について購買意向が高い人(”非常に買いたい”と”買いたい”のト
『決定木』 -朝野熙彦 長かった残暑がようやく終わって秋らしい季節になってきました。さて、今月はマーケット・セグメンテーションの話をします。セグメンテーションには2つの異なるアプローチがあるという話題です。 ■従来のセグメンテーションへの不満 マーケティングの実務では、消費者のライフスタイルや価値観を因子分析して、その結果をクラスター分析にかけて市場を分割するというアプローチが、ポピュラーに行われてきました。 もし分析者の思惑通りに運べば、クラスター間で消費行動に違いが出て、効率的な市場対応ができるはずです。しかし、実際にはそうは問屋がおろさないことがあります。どのクラスターも大差がないので市場全体に訴求するのと違わないとか、そもそも企業がクラスターにアクセスできるような仕組みが用意できていない、という問題がありました。つまり概念レベルでの議論ならOKですが、具体的なマーケティング・アクシ
自社商品に対する反応が明らかに高いターゲットを見つけ、「市場をどういう軸で分けていけばそのターゲットに辿り着くのか」というルールを学ぶ、タンジブルセグメンテーション。 調査会社にセグメンテーションをお願いしても、得られたセグメント間で商品に対する反応(購買行動や購買意欲)に差が出ません。差が出ないので市場についての学びがなく、ターゲットも見えてきません。どうしたらよいでしょうか? 「これからは海外市場だ!」と言われる中、よく分からないなりに海外市場展開をしてきましたが、今後はメインターゲットをしっかり見極め、製品、流通、プロモーション戦略を本格的に固めていきたいと思っています。しかし経験上、調査会社にセグメンテーションをお願いしても、解釈できないセグメントが出てきたり、セグメント間に差が出ないので、ターゲットが見えません。もっとターゲティングに繋がるようなセグメンテーション手法は無いのです
>>最新:第2回はコチラ 『そのセグメンテーション、本当に使えますか?』 - 村山 幹朗 現在様々な市場調査でセグメンテーションが行われていますが、実務で活用できるセグメントを作るのはなかなか難しいものです。 通常、企業がセグメンテーションをする上でまず知りたい事は、「どのセグメントを狙うのが良いか?」つまりターゲティングの根拠となる情報です。例えば、「このセグメントは自社製品の購買意欲や購買率、ロイヤルティやリピート率が顕著に高いから、このセグメントをターゲットにするべきだ」「じゃあ、どうやったらそのターゲットに効率的にリーチできるだろう」という様な、セグメンテーションからターゲティング戦略へ繋がるファインディングスです。 逆に、セグメンテーションしたけれど、「このセグメントは価値観がユニークで、また別のこのセグメントはライフスタイルがこんなに特徴的です。まぁ・・・御社製品への購買意欲や
[連載]フリーソフトによるデータ解析・マイニング第28回 Rとクラスター分析(1) 1.クラスター分析とは 我々は、物事を整理整頓する際には、機能、形状などの側面から似ているものを同じのところに集めて、片付ける。これと同じくデータについてもデータ構造の側面から似ている個体を同じのグループに仕分けることが必要である場合がある。データサイエンスにおける分類のための方法は、学習(教師、訓練)データがある分類方法と学習データがない方法に大別される。 ここで言う学習データとは、どの個体がどのグループに属するかが既知であるデータである。グループの所属を示すデータは外的基準とも呼ばれている。学習データがある場合の分類方法は、どの個体がどのグループに属するかが既知であるデータから、分類に関するモデルを作成し、そのモデルに基づいて、グループの属性が未知であるデータを最も似ていると判断されるグループに割り当
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く