データ量が増え続ける今日、データの視覚化は数値を利用可能な情報に変える重要な方法です。R 言語は、データを視覚的に表現するための一連の既存の関数と呼び出し可能なライブラリを提供します。テクノロジーを使用して視覚化を実現する前に、まず AI Technology Review で適切なチャートの種類を選択する方法を確認できます。
著者の Dikesh Jariwala はソフトウェア エンジニアであり、Tatvic プラットフォーム上でいくつかのクールで興味深いプログラムを作成しました。彼は API を使用して Price Discovery の最初のバージョンを作成し、AI Technology Review は彼によって書かれたこの記事を編集しました。この記事は許可なく複製することはできません。
適切なチャートの種類を選択する方法
選択できる基本的な 4 つのタイプ:
1. チャートを比較する
2. 構成クラス図
3. 分布図
4. 関係図
手持ちのデータを分析するのに最適なチャートの種類を選択するには、まず次の質問を考慮してください。
1. 1 つのグラフには変数がいくつ必要ですか?
2. 単一の変数を記述するにはデータ ポイントがいくつ必要ですか?
3. データは時間の経過とともに変化しますか、それとも個人またはグループの形で離散的ですか?
最適なチャートを選択する方法については、Andrew Abela 博士がその方法の優れた概略図を提供しています。
チャート分析を使用する場合、一般的に使用されるチャートが 7 つあります。
1.散布図
2. ヒストグラム
3. 縦棒グラフと棒グラフ
4. 箱ひげ図
5. 面グラフ
6.ヒートマップ
7. コレログラム
R ビジュアライゼーションの実装を理解するためのケーススタディとして「Big Mart データ」を使用します。ここをクリックして完全なデータをダウンロードできます (Google ドキュメント)。
AI Technology Reviewでは、Rを活用して可視化を実現する方法を以下のページで紹介します。
1.散布図
使用シナリオ: 散布図は、2 つの連続変数間の関係を分析するためによく使用されます。
上で紹介したスーパーマーケットのデータで、コスト データに基づいて商品の人気を視覚化したい場合は、散布図を使用できます。散布図は、ここでは、Item_Visibility と Items_MRP と名付けた 2 つの連続変数です。
ここでは、R の ggplot() 関数と geom_point() 関数が使用されます。
library(ggplot2) // ggplot2 は R の関数ライブラリです
ggplot(train, aes(Item_Visibility, item_MRP)) + geom_point() +scale_x_continuous("Item
可視性"、ブレーク = seq(0,0.35,0.05))+scale_y_continuous("品目 MRP"、ブレーク = seq(0,270,by =)
30))+テーマ_bw()
次の図では、新しい変数が追加されています。これは、Item_Type という名前の製品を分類するための変数であり、図内で異なる色で表示されています。
R コードにグループ化を追加しました。
ggplot(train, aes(Item_Visibility, item_MRP)) + geom_point(aes(color = Item_Type)) +
scale_x_continuous("アイテムの可視性"、ブレーク = seq(0,0.35,0.05))+
scale_y_continuous("品目 MRP"、ブレーク = seq(0,270,by = 30))+
theme_bw() + labs(title="散布図")
散布図をさまざまな小さなグラフの形式で表示すると、さらに視覚化できます。下の図では、それぞれの小さなグラフが異なる製品を表しています。
コードは以下のように表示されます。
ggplot(train, aes(Item_Visibility, item_MRP)) + geom_point(aes(color = Item_Type)) +
scale_x_continuous("アイテムの可視性"、ブレーク = seq(0,0.35,0.05))+
scale_y_continuous("品目 MRP"、ブレーク = seq(0,270,by = 30))+
theme_bw() + labs(title="散布図") + facet_wrap(~Item_Type)
コードでは、facet_warp によって長方形のグラフに画像が表示されます。
2. ヒストグラム
使用シナリオ: ヒストグラムは、連続変数の視覚的な分析に使用されます。データを分割し、データの法則を確率の形で示します。このようにしてデータの変化を確認するために、必要に応じてカテゴリーを組み合わせたり分割したりすることができます。
上で紹介したスーパーマーケット データの例を引き続き使用すると、さまざまなコスト セグメントの商品の数量を知る必要がある場合、Item_MRP を横軸として、すべてのデータのヒストグラムを描画できます。以下に示すように:
以下は、R の ggplot() 関数と geom_histogram() 関数を使用してヒストグラムを描画する簡単な例です。
ggplot(train, aes(Item_MRP)) + geom_histogram(binwidth = 2)+
scale_x_continuous("品目 MRP"、ブレーク = seq(0,270,by = 30))+
scale_y_continuous("カウント"、ブレーク = seq(0,200,by = 20))+
labs(タイトル = "ヒストグラム")
3. 縦棒グラフと棒グラフ
使用シナリオ: ヒストグラムは通常、カテゴリ変数または連続カテゴリ変数の組み合わせを表すために使用されます。
スーパーマーケットのデータの例では、毎年新しくオープンするスーパーマーケットの店舗数を知る必要がある場合、ヒストグラムはグラフ分析に適した方法です。次の図に示すように、「年」情報を座標として使用します。
以下は、R の ggplot() 関数を使用してヒストグラムを描画する簡単な例です。
ggplot(train, aes(アウトレット_設立_年)) + geom_bar(fill = "red")+theme_bw()+
scale_x_continuous("設立年", Breaks = seq(1985,2010)) +
scale_y_continuous("カウント"、ブレーク = seq(0,1500,150)) +
coord_flip()+ labs(title = "棒グラフ") + theme_gray()
水平方向のヒストグラム
コード内の coord_flIP() 変数を削除すると、ヒストグラムを水平方向のヒストグラムとして表示できます。
製品重量 (連続変数) とディスカウント ストア (カテゴリ変数) の関係を取得するには、次のコードを使用します。
ggplot(train, aes(Item_Type, Items_Weight)) + geom_bar(stat = "identity", fill = "darkblue") +
scale_x_discrete("コンセントの種類")+scale_y_continuous("アイテムの重量"、breaks = seq(0,15000、by =)
500))+ テーマ(axis.text.x = element_text(angle = 90, vjust = 0.5)) + labs(title = "棒グラフ")
積み上げ棒グラフ
積み上げ棒グラフは、分析用にカテゴリ変数を組み合わせた縦棒グラフの高度なバージョンです。
スーパーマーケットのデータの例では、ディスカウント ストアの種類やディスカウント ストアのエリアなど、さまざまな商品カテゴリのディスカウント ストアの数を知りたい場合、積み上げ棒グラフがこの分析に最も効果的なチャート分析方法です。
以下は、R の ggplot() 関数を使用して積み上げ棒グラフを描画する簡単な例です。
ggplot(train, aes(Outlet_Location_Type, fill = Outlet_Type)) + geom_bar()+
labs(title = "積み上げ棒グラフ", x = "コンセントの場所のタイプ", y = "コンセントの数")
4. 箱ひげ図
使用シナリオ: 箱ひげ図は通常、比較的複雑なシナリオ (通常は分類を組み合わせた連続変数) で使用されます。このようなチャートは、データ拡張の視覚的分析と外れ値の検出に使用されます。これには主に、最小値、25%、50%、75%、最大値の 5 つの重要なデータ ノードが含まれています。
私たちの場合、箱ひげ図は、各ディスカウント ストアで販売されている各商品の価格 (最安値、最高価格、中間価格など) を知りたい場合に非常に役立ちます。さらに、箱ひげ図では、次の図に示すように、異常な価格での商品の販売に関する情報も提供できます。
図中、黒い点は外れ値です。外れ値の検出と除去は、データ マイニングにおいて非常に重要なリンクです。
以下は、R の ggplot() 関数と geom_boxplot 関数を使用した単純な箱ひげ図の例です。
ggplot(train, aes(Outlet_Identifier, Items_Outlet_Sales)) + geom_boxplot(fill = "red")+
scale_y_continuous("アイテム アウトレット セール", Breaks= seq(0,15000, by=500))+
labs(title = "箱ひげ図", x = "アウトレット識別子")
5. 面グラフ
いつ使用するか: 面グラフは、変数とデータの連続性を示すためによく使用されます。これは線形グラフに非常に似ており、一般的に使用されるタイミング解析方法です。あるいは、連続変数をプロットし、根本的な傾向を分析するためにも使用されます。
スーパーマーケットの場合、ディスカウント ストアの商品種類の長期的な傾向を知る必要がある場合、ディスカウント ストアの商品の取扱量の変化を示す次の面グラフを描くことができます。
以下は、R の ggplot() 関数と geom_area 関数を使用して、ディスカウント ストアの取扱高の傾向を分析するために使用される面グラフを描画する簡単な例です。
ggplot(train, aes(Item_Outlet_Sales)) + geom_area(stat = "bin", bins = 30, fill = "steelblue") +
scale_x_continuous(breaks = seq(0,11000,1000))+
labs(title = "面グラフ", x = "商品アウトレット売上高", y = "個数")
6.ヒートマップ
使用する場合: ヒート マップは、色の強度 (密度) を使用して、2 次元画像内の 2 つ以上の変数間の関係を示します。情報マイニングは、チャートの 2 つの座標と画像の色深度の 3 つの部分で実行できます。
スーパーマーケットの場合、各ディスカウント ストアの各製品の価格を知る必要がある場合、次の図に示すように、分析に item_MRP、Outlet_Identifier、Item_type の 3 つの変数を使用できます。
暗いデータは、Item_MRP が 50 未満であることを示し、明るいデータは、Item_MRP が 250 に近いことを示します。
以下は、ggplot() 関数を使用して単純なヒート マップを作成する R コードです。
ggplot(train, aes(コンセント識別子, アイテムタイプ))+
geom_raster(aes(fill = item_MRP))+
labs(title ="ヒートマップ", x = "アウトレット識別子", y = "アイテムタイプ")+
scale_fill_continuous(name = "品目 MRP")
7. 関係図
使用シナリオ: 関係図は、連続変数間の関連を表すために使用されます。各セルは、関連の程度を示すために影付けまたは色付けできます。色が濃いほど関連度が高くなります。正の相関は青、負の相関は赤で表示されます。関連性の度合いに応じて色の深みが増します。
スーパーマーケットの場合、原価、重量、人気、ディスカウントストアの開店年と販売価格の関係を次の図に示すことができます。原価と販売価格は正の相関関係にあり、商品の重量は人気と負の相関関係にあることがわかります。
以下は、corrgram() 関数を使用して、単純な関係グラフに使用される R コードです。
install.packages("正しいグラム")
ライブラリ(コルグラム)
corrgram(train、order=NULL、panel=panel.shade、text.panel=panel.txt、
main="コレログラム")
上記の分類の紹介と R プログラムの簡単な紹介を通じて、R の ggplot ライブラリを独自のデータ視覚化分析に使用できると思います。視覚的な分析に加えて