Orange
Orange とは、データビジュアライゼーション、機械学習、データマイニング用のソフトウエアで、 科学計算(Python・R)用の統合環境 Anaconda にも採用されています。スロベニアの Ljubljana大学で開発が始まり、現在はクロスプラットフォームのオープンソースソフトウエアとして公開されています。定義済みのウィジェットをワークフロー状に配置することで、データの分析作業をすばやく直感的に行うことができます。
関連ページ:DataScience
インストール
- 以下の公式サイトからダウンロードしてインストール・・が簡単です。
https://orange.biolab.si/
- Python3, pip3 がインストール済みの前提で、Terminal から以下のコマンドでもインストールできます。
$ pip3 install orange3
使い方
ワークフロー図
ウインドウ左側にあるウイジェットを、ワークシート上に並べて連結するとともに、それぞれ必要な設定(処理)を加える・・という流れです。フローの起点は、データファイルの読み込みになるのが普通です。
ウィジェット一覧
ワークフローに置かれるウィジェットは、以下の5種類です。
ウィジェットの機能
File
フローの起点となる「ファイルの読み込み」を行います。csvはもちろん、Excel 形式のデータなども読むことができます。
- 一行目がカラム名・・が前提です。
- TYPE は numeric(数値)、categorical(カテゴリ)、text(文字列)、datetime(日時)のいずれが該当しますが、読み込み時の自動判定が想定と異る場合は、当該部分を右クリックで型の変更ができます。
- Role は feature(特徴量・説明変数)か target(ラベル・目的変数)。分類(機械学習)を行うためのデータの場合は、categorical な target を設定することになります。
以下、このページの説明では、このデータをサンプルとして使っています。全データ件数は N = 521件、カラムは以下の通りです。 - ID:データの通し番号
- Gender:性別
- GPA(Grade Point Average):成績評価値
- Attendance:出席率
- Japanese:国語の得点
- English:英語の得点
- Mathematics:数学の得点
- Prefecture:出身県
SelectRows
条件に合う行のみを抽出(欠損のある行の削除など)するためのウィジェットです。右図の例では「すべての変数が定義されているもの」つまり、一つでも欠損のある行は削除する・・という操作を行うので、データ件数は、521件から 216件に絞り込まれることがわかります。
注)以下の事例では、この絞り込みは行っていません。
DataTable
処理対象となっているデータの全体像を確認できます。
FeatureStatistics
データの基本的な統計情報を表示します。center の欄には、平均値(数値項目の場合)またはモード(カテゴリの場合)が表示されます。
Correlations
カラム間の相関係数を算出します。このサンプルデータでは、GPAと出席率の間に高い相関がある(出席率が良い学生は成績もよい)ことがわかります。
BoxPlot
ボックスプロット(箱ひげ図)を表示します。サブグループに分割して比較する場合は、以下のような補足情報も表示されます。
- サブグループが2種類の場合は、t検定
- サブグループが3種類以上の場合は、分散分析(ANOVA)
Distributions
分布(ヒストグラム)を表示します。算出された統計量からパラメトリックな曲線をあてはめた表示も可能で、カテゴリ間の比較が見やすくなっています。
ScatterPlot
散布図を表示します。相関係数が表示されるとともに、カテゴリごとのデータの色分けなどが可能です。