【Weka】欠損データを自動的に補完するフィルタを使ってみた。

公開日: : 最終更新日:2018/07/24 機械学習 , , ,

機械学習で用いるデータについてです。データは完璧なことに越したことはないが、通常は、ある属性の値が入っていない欠損データ(Missing values)があります。この欠損データをどう取り扱うかについては、

欠損データを含むタプルを無視する。

欠損データの補完を行う。

の2通り考えられます。欠損データを含むタプルを無視するのはもったいないとされており、欠損データの補完を考えます。

欠損データの補完方法については色々あるようですが、一般的な手法としては、

  • 数値データの場合は、平均値(mean)
  • カテゴリデータの場合は、最も多く現れたカテゴリ

を割り当てるようです。

機械学習ソフト Weka には欠損データを自動的に補完するフィルタ機能がついているので今回使ってみました。

使用データ:labor.arff

今回使用したデータは、Weka 用に用意されている labor.arff というデータセットを以下からダウンロードしてきました。

http://storm.cis.fordham.edu/~gweiss/data-mining/datasets.html

データの読み込み

前処理タブ -> ファイルを開く で labor.arff を選択します。

編集ボタンでデータを表形式でみることがきます。

薄いブルーで塗られたセルが欠損データになります。

欠損データの補完

欠損データの補完を自動で行うには、前処理タブのフィルター選択ボタンを押して、filters -> unsupervised -> attribute -> ReplaceMissingValues を選択します。

フィルターが設定できたら、適応ボタンを押してフィルターを反映させます。

再度、編集ボタンからデータの確認を行い、データが補完されていることを確認します。

関連記事

【機械学習】決定木(decision tree)について。

教師あり学習の一つである決定木(desicion tree)について勉強したことを書いていきます。

記事を読む

【PyTorch】畳込みニューラルネットワークを構築する方法【CNN】

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)を構築する方法について紹介しま

記事を読む

機械学習の手法のまとめ。

機械学習は、「与えられた入出力事例をモデル化する行為」のことで、ディープラーニングなどで注目を集めて

記事を読む

【機械学習・手法比較】決定木とナイーブベイズを比較してみた。

同じデータを使って、教師有り機械学習手法の 決定木(Decision Tree)とナイーブベイズ(N

記事を読む

【機械学習】 scikit-learn で不正解データを抽出する方法【Python】

Python の scikit-learn ライブラリを使って機械学習でテストデータを識別(2クラス

記事を読む

【探索】ダイクストラ法・最良優先探索・Aアルゴリズムの比較。

縦型探索や横型探索では、機械的に順序を付け、最小ステップでゴールを目指します。 つまり、

記事を読む

【TensorFlow】GPUを認識しない時の対処方法【Python】

TensorFlow で GPU を認識させようとしたときにハマってしまったので、その対処方法のメモ

記事を読む

【Weka】ARFF 形式から CSV 形式に簡単に変換する方法。

フリーのデータマイニングツールである WEKA では、ARFF 形式と CSV 形式のデータを読み込

記事を読む

【Weka】CSVファイルを読み込んで決定木を実行。

フリーの機械学習ソフト Weka を使って、CSVファイルを読み込んで決定木(Decision Tr

記事を読む

【機械学習】モンテカルロ法(Monte Carlo method)について。

モンテカルロ法(Monte Carlo method)とは、シュミレーションや数値計算を乱数を用いて

記事を読む

【Cubase】特定のトラックを無効にする方法。

今回は、Cubaseで特定のトラックのみを無効にする方法について紹介し

【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】

今回は、PyTorch を使って、学習済みのモデル VGG16 を用い

【PyTorch】畳込みニューラルネットワークを構築する方法【CNN】

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)

【PyTorch】ニューラルネットワークを構築する方法【NN】

今回は、PyTorch を使って、ニューラルネットワーク(NN)を構築

【OpenCV】検出した顔画像部分を切り出す方法【Python】

OpenCV を使って、Python で画像の中から顔部分を切り出した

→もっと見る

PAGE TOP ↑