F1スコアを求める(SPSS Modeler データ加工逆引き8-3)

# F1スコアを求める（混同行列）

![スクリーンショット 2022-08-13 18.35.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/6dbd971a-37ed-ae94-7066-becf53e174d6.png)

*この記事は逆引き8-1と8-2を加筆しています。併せて参照ください。

## 1.想定される利用目的

・予測モデルの性能評価
・実装後のモデルメンテナンスのための性能指標の算出

## 2.サンプルストリームのダウンロード

https://github.com/yoichiro0903n/blue/blob/main/f1score.str?raw=true

## 3.サンプルストリームの説明

![スクリーンショット 2022-08-13 18.36.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/bd88e962-ed0f-8f7a-a43b-553fcc403bbd.png)

a.入力するデータは以下の通りです。故障有無とその予測の2列のデータです。
![スクリーンショット 2022-08-12 11.57.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/833c5174-cdd7-ff80-f384-4c8de52da9b3.png)

b.[フィールド作成]ノードを編集します。[派生]モードを[名義型]にして1でも0でもないとデフォルト値がNullになるように定義します。＊このNullが後続の集計で適切に処理されます。
![スクリーンショット 2022-08-13 11.25.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/8aec2af6-d0bf-a02d-d9fa-faf01040a6eb.png)

c.[フィールド作成]ノードを編集します。[派生]モードを[名義型]にして1でも0でもないとNullになるように定義します。
![スクリーンショット 2022-08-13 11.27.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/e48a3687-f95e-12eb-efed-4824dd8158ad.png)

[プレビュー]します。適合率にはTNとFNが、再現率にはTNとFPが考慮されず、後続の平均の計算で割り算の分母が適切になるようにNullを意図的に利用しています。
![スクリーンショット 2022-08-13 17.53.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/920b216c-9bf0-654c-ad38-b9217db28eb6.png)

d.[レコード集計]ノードを編集します。
![スクリーンショット 2022-08-13 11.28.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/c8fabcdf-4fe4-702f-1557-cb483980409c.png)

[プレビュー]します。適合率と再現率が求められました。
![スクリーンショット 2022-08-13 11.28.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/c366f8b3-a391-1036-b74d-b4dee9ac89d1.png)

＊Accuracy（精度）の求め方は逆引き8-1を参照してください。

e.[フィールド作成]ノードを編集します。
![スクリーンショット 2022-08-14 8.02.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/f95e1d91-1dd8-a77c-f59f-5ad801fcbfd3.png)

[プレビュー]します。F1スコアが求められました。
![スクリーンショット 2022-08-14 8.03.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/f7c29c3d-1b30-b0f4-5309-ac809d6a5f01.png)

#### 組み込み集計関数を利用してF1スコアをテーブル表示させる。

f.[フィールド作成]ノードを編集します。
![スクリーンショット 2022-08-13 17.59.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/5e133fe4-8cfb-29eb-ae2c-23292d5c931d.png)

[プレビュー]します。
![スクリーンショット 2022-08-13 17.59.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/d77ba603-fdc6-8389-1ac4-6f9af489cb8f.png)

g.[再構成]ノードを編集します。後続で利用する組み込み集計関数COUNTで欠損ではない値をカウントさせるため[値フィールド]はNullがないものでしたらOKです。
![スクリーンショット 2022-08-13 18.00.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/8284b0ac-2068-f9df-ffd3-035230c339fe.png)

[プレビュー]します。
![スクリーンショット 2022-08-13 18.01.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/2caa252b-ac90-d305-8fef-25cbc03c9b12.png)

h.[レコード集計]ノードを編集します。
![スクリーンショット 2022-08-14 8.04.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/0b76cfe8-83f4-1e8b-35a9-00d9129616c6.png)

式ビルダーの組み込み集計関数を利用すると便利です。
![スクリーンショット 2022-08-14 8.06.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/90369cc1-92a9-8a76-a0b0-a68d0f423ba2.png)

#### 注意事項

適合率と再現率のふたつを調和平均しており、最大が1で最小が0のスコアです。

## 4.参考情報

#### モデルの性能指標について解説した記事

https://www.ibm.com/blogs/solutions/jp-ja/modeler-tips-04/

https://www.ibm.com/blogs/solutions/jp-ja/learn-modeler-09/

#### SPSS Modeler ノードリファレンス目次

https://qiita.com/416nishimaki/private/503037195081d3323eee

#### SPSS Modeler 逆引きストリーム集（データ加工）

https://qiita.com/416nishimaki/private/4bf813e6cba84b2a1008