PyCaretで前処理
PyCaretで前処理を行います。
setup関数を使うと、データを分析し、必要な前処理を自動的に行ってくれます。(2~5行目)
引数の意味は下記の通りです。
- 第1引数
データセット(ボストンの住宅価格データセット)。 - 第2引数(target)
目的変数。 - 第3引数(normalize)
標準化するかどうか。 - 第4引数(session_id)
PyCaretの実行時の識別子で、内部的には乱数のseedとして使用。
指定しない場合はランダム。
[Google Colaboratory]
1 | from pycaret.regression import * |
[実行結果]
setup関数を実行すると、PyCaretは各変数の型を推定して、ダイアログを表示してユーザに推定結果の確認と処理の続行を促します。
型の推定結果が正しければ、ダイアログのエディットボックスでEnterキーを押下すうことで処理が続行されます。
指定された型がおかしな場合は、quitと入力することで処理を中断できます。
型の変更
chas列は、Categoricalと認識されていますがNumbericとして扱うように変更してみます。
[Google Colaboratory]
1 | from pycaret.regression import * |
numeric_featuresに“chas”を指定して実行しています。(6行目)
[実行結果]
“chas”の型がNumericに変更されているのが確認できます。
setupダイアログの前処理結果を確認
ダイアログのエディットボックス上でEnterキーを押下して処理を完了すると、setupダイアログに前処理の結果が表示されます。
[実行結果]
setupでは欠損値処理、データの分割(train_test_split)などを実施しており、完了すると結果が表示されます。
この表から、データサイズや説明変数の数や、各種前処理の指定有無などを確認することができます。
- Missing Values
元のデータに欠損値がある場合、Trueが表示されます。
今回はFaseになっているので、欠損値がないことを示しています。 - Transformed Train Set / Transformed Test Set
デフォルトで訓練データが70%、テストデータが30%になっています。
また、元のデータセット(Oriinal Data)の説明変数は14ですが、21に増えています。
これは、PyCaretが前処理でカテゴリ変数に変換しているためです。
さらにCategoria Featuresが1となっており、1つの説明変数がカテゴリ変数に変換されたことが分かります。
このようにPyCaretは加工を含む前処理を自動で実施してくれるのです。