タグ

visualizationとclusteringに関するyukimori_726のブックマーク (11)

  • 決定木とランダムフォレスト - Qiita

    決定木とは 目的変数に属する確率を複数の説明変数の組み合わせで算出する方法。 イメージは以下で、Yes/Noなどの条件に属するかどうかで確率を算出する。 ランダムフォレストとは ランダムフォレストは、アンサンブル学習法(複数の分類器を集めて構成される分類器)の一つ。 決定木を複数集めて使うので、木が集まってフォレスト(森)として使う。 やってみる(sklearnでの決定木) データ用意 ランダムに作ったデータを用意する。 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn %matplotlib inline from sklearn.datasets import make_blobs # ダミーデータの生成用 X, y = make_blobs(n_samples=5

    決定木とランダムフォレスト - Qiita
  • Python+matplotlibでDendrogram付きHeatmap - Qiita

    Rではheatmap(x)と打つだけで、x, y各軸に対してクラスタリングされたデンドログラム付きヒートマップが描画でき、遺伝子の発現量が・・・など日々呟いているbioinformaticiansにはお馴染みの機能なのですが、Python+matplotlib環境で同じことをやろうとした際、あまり情報が無かったので、試行錯誤してみました。 備忘録ついでに公開しときます。 データの準備 まずは、適当なデータとして、細胞組織ごとの遺伝子発現量の増減を表したようなデータを作ります。 ここでの組織のチョイスも、遺伝子のチョイスも、全て適当です。 後でクラスタリングしたときにそれっぽく見えるように、乱数で生成したデータを若干小細工してpandas.DataFrameオブジェクトにします。 #!/usr/bin/env python3 genes = [ 'HIST1H4H', 'SPRN', 'DN

    Python+matplotlibでDendrogram付きHeatmap - Qiita
  • pythonでクラスタリングと表示 - 東邦大学理学部情報科学科 山内のサイト

    x-meansという論文 † クラスタリングのk-means法は広く使われ、パッケージも各言語環境で作られている。Pythonの 場合、scipyにあるkmeansと、多分その導出系のscikit-learnにあるKMeansが利用可能になっている。 k-means法はあらかじめクラスタ数を決めて分類するので、クラスタ数が不明なときにそのままは対応できない。 それに対して、BIC(ベイズ情報量規準)やAIC(赤池情報量規準)などを使って、最適なモデルを 選択しようという考え方があり、その選択のロジックを含めたのがxmeansパッケージらしい。 xmeanについては http://web-salad.hateblo.jp/entry/2014/07/19/200347 ↑ Scikit-learnでのk-meansパッケージ † Scikit-learnのkmeansパッケージの使い方は、n

  • グラフ(ネットワーク)を奇麗に描画するアルゴリズム - mfumiの日記

    グラフはノードと辺の集合から構成されているだけなので,その描画方法は任意です.例として,以下の3つのグラフはどれも同じです. グラフをどうやって奇麗に描画するかという研究は昔からおこなわれていて,そのうちの一つに力学モデルがあります(Wikipedia).このモデルではノード間にある力が作用すると考えてそれが安定するような場所を探します.簡単な例ではノードを電荷だと仮定してそれぞれに働くクーロン力を計算し,それをもとにノード位置の修正をおこないます. 力学モデルのアルゴリズムで代表的なものにFruchterman-Reingold アルゴリズムがあります.このアルゴリズムは多くのグラフを扱うライブラリでサポートされているようです. このアルゴリズムの考え方はシンプルで,ノードに影響する力が2つあります.一つは自分以外の全てのノードからの斥力,もう一つが隣接ノードからの引力です.斥力f_rと

    グラフ(ネットワーク)を奇麗に描画するアルゴリズム - mfumiの日記
  • MNIST with MDS in Python

    前回の続きで、MNIST データを MDS で分析してみました。下記のブログの PCA の次のセクション "Optimization-Based Dimensionality Reduction" の最初のグラフ "Visualizing MNIST with MDS" の部分だけです。 Visualizing MNIST: An Exploration of Dimensionality Reduction – colah’s blog http://colah.github.io/posts/2014-10-Visualizing-MNIST/ 発想は PCA よりも単純で、今度は個々の MNIST データの 784 次元空間上の位置は考慮せず、2 つのデータのユークリッド距離をなるべく維持できるように全ての点を 2 次元平面上にプロットし直す、というものです。ただし、元の距離をなるべ

    MNIST with MDS in Python
  • 【python】k-meansとc-meansの散布図 - 元理系院生の新入社員がPythonとJavaで色々頑張るブログ

    今回は以前作成したK-meansとC-meansのプログラムの散布図のプロット方法について説明します. emoson.hateblo.jp emoson.hateblo.jp k-meansとc-meansについて k-meansとc-meansとは何か k-meansとc-meansはクラスタリングアルゴリズムの1つです. クラスタリングアルゴリズムとは,複数のデータを"あるルールに基いて"分類する手法です. 具体的な例としては,ランダムに集めたニュース記事から,科学や政治経済等のトピック毎に記事を分ける事が挙げられます. この例ではランダムに集めたニュース記事が複数のデータにあたり,トピック毎に記事を分ける事が分類に当たります. クラスタリングアルゴリズムには分類基準となる"ルール"があります. k-meansやc-meansではそのルールとしてクラスタ間の重心ベクトルからの距離を使用

    【python】k-meansとc-meansの散布図 - 元理系院生の新入社員がPythonとJavaで色々頑張るブログ
  • PythonとCytoScapeを使ってクラスタリングと可視化 - Qiita

    概要 クラスタリングは簡易であり,有益な結果を得やすいデータ分析の手法です. もともとネットワーク構造のであるデータはもちろんのこと,ネットワーク構造でないデータに関しても距離関数を定義することでネットワーク化し,クラスタリングをすることができます. このエントリではクラスタリングを行い,その結果を可視化する方法について紹介します. ネットワークとは そもそもネットワーク構造とはなんでしょうか? 一般的にはノードとエッジから構成されるデータのことであり, エッジには方向がついていたりついていなかったりします 方向があるものを有向グラフ, ないものを無向グラフといいます. エッジに重みがあるものもないものもあり,あるものを重み付きグラフといいます. クラスタリングとは データの集合をいくつかのまとまり(部分集合)に分けることです それぞれの部分集合がある共通の特徴を持つように分けます ネット

    PythonとCytoScapeを使ってクラスタリングと可視化 - Qiita
  • PythonとCytoScapeを使ってクラスタリングと可視化 - Qiita

    概要 クラスタリングは簡易であり,有益な結果を得やすいデータ分析の手法です. もともとネットワーク構造のであるデータはもちろんのこと,ネットワーク構造でないデータに関しても距離関数を定義することでネットワーク化し,クラスタリングをすることができます. このエントリではクラスタリングを行い,その結果を可視化する方法について紹介します. ネットワークとは そもそもネットワーク構造とはなんでしょうか? 一般的にはノードとエッジから構成されるデータのことであり, エッジには方向がついていたりついていなかったりします 方向があるものを有向グラフ, ないものを無向グラフといいます. エッジに重みがあるものもないものもあり,あるものを重み付きグラフといいます. クラスタリングとは データの集合をいくつかのまとまり(部分集合)に分けることです それぞれの部分集合がある共通の特徴を持つように分けます ネット

    PythonとCytoScapeを使ってクラスタリングと可視化 - Qiita
  • D3.jsを用いたクラスタリングアルゴリズム(K-means)の可視化 - dr_paradiの日記

    こんにちは。 Data Visualization Advent Calendar 2014 - Qiitaおよび、 CYBIRDエンジニア Advent Calendar 2014 - Qiitaの12日目です。 自己紹介 フルスタックデータアナリスト(自称)*1のdr_paradiです。 データヴィジュアライゼーションハッカソンで作ったアプリの説明はこちら 第一回チキチキ秋のデータサイエンスアイデアソン&ハッカソン』開催報告会 アプリ名: 守備視え〜る 今回の内容 今回、私はD3.jsというわりと人気なJavaScriptライブラリ*2 を用いて、代表的なクラスタリング*3アルゴリズムであるK-meansを可視化したお話をします。 ソースとデモはこちらです。 Visualization of K-means データ可視化 (Data Visualization) について 弊社のデータ

    D3.jsを用いたクラスタリングアルゴリズム(K-means)の可視化 - dr_paradiの日記
  • クラスタリングの結果をインタラクティブな感じで可視化する - 盆栽日記

    クラスタリングをkmeansなりなんなりで行った後、散布図をその結果で色分けしたりすることがよくあるわけです。 んで、この変数とこの変数の組合せだったらどうだろうと変数を入れ替えていったりするわけですがめんどくさい。 その辺はGUIでひょいひょいとやりたい。 ということでgoogleVisを使った方法をご紹介。 clPlot <- function(data, col, cluster){ #data : 可視化したいデータ #col : データのうち可視化したい列の番号 #cluster : クラスタリング結果 require(googleVis) data <- data[, col] data$cluster <- cluster data$year <- as.Date("20000101","%Y%m%d") #ダミー data$id <- 1:nrow(data) #ダミー p

    クラスタリングの結果をインタラクティブな感じで可視化する - 盆栽日記
  • クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた

    集合知プログラミング を読んでいたら、K-means 法(K平均法)の説明が出てきました。 K-means 法はクラスタリングを行うための定番のアルゴリズムらしいです。存在は知っていたんだけどいまいちピンときていなかったので、動作を理解するためにサンプルを作ってみました。 クリックすると1ステップずつ動かすことができます。クラスタの数や点の数を変更して、Restart を押すと好きなパラメータで試すことができます。 こうやって1ステップずつ確認しながら動かしてみると、意外に単純な仕組みなのが実感できました。 (追記) HTML5 版の K-means 法を D3.js でビジュアライズしてみた も作成しました。Flash を表示できない環境ではそちらをご覧ください。 K-means 法とは K平均法 - Wikipedia に詳しく書いてあるけど、もうすこしザックリと書くとこんなイメージに

    クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた
  • 1