SPSS Modeler秋のユーザーイベント予約受付中
SPSS Modelerの歩き方2024
SPSS Modeler 逆引きストリーム集
SPSS Modelerのデータ加工手順を大項目から逆引きで探して頂けます。手順を解説する各記事からサンプルストリームがダウンロードが可能です。データを内部生成しますのでストリームのみで完結します。2022年7月から毎週記事を追加する予定です。
2024/11/20 最終更新
DL可能ストリーム数 236
目次から大項目へリンク(右のサイドバーから個々の記事を閲覧できます)
項番 | 大項目へのリンク | 処理の例 | 記事数 |
---|---|---|---|
1 | 日付の処理 | 日付列から年月の列を作成する/曜日を識別する | 23 |
2 | 文字列の加工 | 文字列から記号を除去する/N文字目を抽出する | 20 |
3 | 統計量を作成 | 平均との差(偏差)や累積比率を作成する | 29 |
4 | 時系列の処理 | 1行上の値との差を求める/N期移動平均を作成する | 28 |
5 | 欠損値を補完 | NULLや空白には平均値や代表値を代入する | 17 |
6 | テーブルの結合 | テーブルを内部結合する/列方向に追加する | 16 |
7 | 行と列の操作 | 時系列に記録された明細を顧客ごとに横持ちする | 21 |
8 | 予測精度の確認 | 予測モデルの精度を業務の観点で評価する | 17 |
9 | 加工の効率化 | 加工プロセスの反復やチーム共有を効率化する | 22 |
10 | グラフの表示 | データの分布の確認する/グループ間の比較を行う | 21 |
11 | 集計表の作成 | 集計表を作成する/固定帳票の自動化を行う | 17 |
12 | エラーとヒント | 列に展開するメンバーがリストされない | 5 |
1.日付の処理
1-1 日付の列から年/月/日の列を作成する(年月日を分解する)
1-2 日付の列から年月の列を作成する(年と月の文字列結合)
1-3 日付の列から曜日の列を作成する
1-4 2つの日付の列から差の列を作成する
1-5 日付の列からN日後の列を作成する
1-6 文字列/整数を日付型に変更し本日までの日数を作成する
1-7 特定の日付や期間のレコードを抽出する
1-8 52週の予測値を曜日重みで日毎に割り戻す
1-9 タイムスタンプ列の差を計算する
1-10 生年月日の列から年齢と年代の列を作成する
1-11 日付の列から決算日に応じた四半期の列を作成する
1-12 祝日マスタを日付で割り当て休日フラグを作成する
1-13 タイムスタンプから時間帯区分の列を作成する
1-14 曜日の列から土日フラグを作成する
1-15 曜日の列から曜日フラグを作成する
1-16 連休フラグと連休N日目を作成する
1-17 365日を52週に集約する
1-18 日付の列から2年後の列を作成する(date_add関数)
1-19 タイムスタンプから日付だけを抽出する
1-20 PCの日付を利用して最新7日間を抽出する
1-21 データとして記録された最新7日間を抽出する
1-22 パラメータで任意の期間を抽出する
1-23 複数の日付の列を比較して最古の日付を特定する
2.文字列の加工
2-1 文字列から特定文字を除去する
2-2 空白を除去して文字列を結合する
2-3 文字列から先頭/末尾のN文字を抽出/削除する
2-4 文字列からN文字目を抽出する
2-5 記号間の文字列を抽出する
2-6 コメント欄にリストのキーワードがあればフラグ化する
2-7 整数型のIDの末尾が1のレコードを抽出/フラグ化する
2-8 文字列「SPSS」を含むレコードを抽出/フラグ化する
2-9 半角カタカナを全角カタカナへ置換する
2-10 文字列を別の文字列に置換する
2-11 括弧内の文字列を抽出/削除する
2-12 カテゴリの値を別の値に割り当てる
2-13 桁数を揃えて適切にソートする
2-14 アンケートの複数回答可 (MA)列をフラグに分解する
2-15 2つの列をアンダースコアで区切って文字列結合する
2-16 文字列の8桁数字を整数型や日付型にする
2-17 整数型を文字列や日付型にする
2-18 テキスト文書からキーワードにフラグを立てる(Python連携)
2-19 区切り文字で複合化されたリストから冒頭アイテムを抽出する
2-20 T/Fのフラグ変数を1/0に置換する/反転させる
3.統計量を作成
3-1 2つの列の合計と比率を作成する
3-2 複数の列の合計と比率を作成する
3-3 各行の平均との差を求める
3-4 累積合計と累積比率を求める
3-5 値が100を超えたらフラグ立てる/抽出する
3-6 ±3標準偏差を外れ値と定義して削除/抽出する
3-7 上位/下位1%を外れ値と定義して削除/抽出する
3-8 相関係数を求める
3-9 相関行列と散布図行列を作成する
3-10 値を対数変換する
3-11 値をZスコアに標準化する
3-12 値を25%(四分位)のランク毎に集計する
3-13 値を10%(デシル)のランク毎に集計する
3-14 値を1%(パーセンタイル)に分けてパレート図を作る
3-15 値を任意の閾値でランクに分割する
3-16 IQR(四分位範囲)の1.5倍を外れ値として削除/抽出する
3-17 2地点の座標(緯度・経度)から距離を求める
3-18 16進数を10進数に変換する
3-19 複数列の最大値/最小値を求める
3-20 乱数を生成する
3-21 複数列の条件で値を割り当てる
3-22 座標の値から角度を求める
3-23 定価マスタのない取引データから定価と値引き率を求める
3-24 決定木の所属ルールと該当条件をレコードに割り当てる
3-25 素数を判定する
3-26 複数のフラグ変数を比較して類似スコアを算出する
3-27 複数の数値変数を比較して類似スコアを算出する(ユークリッド距離)
3-28 同順位のあるランク(RANKとDENSE_RANK) を作成する
3-29 基準となる平均と標準偏差を元に複数列のZスコアを計算する
4.時系列の処理
4-1 全レコード/設備毎に通し番号を振る
4-2 1行上/先頭行との値の差を求める
4-3 移動平均を作成する
4-4 過去の値を列に展開する
4-5 顧客の最終利用日と経過日数を求める(リーセンシー)
4-6 ID毎に値を累積してフラグをカウントアップする
4-7 ID毎に前回のフラグからの経過時間を求める
4-8 フラグが立つとオンになりIDが変わるとオフにする
4-9 値が上昇から下降に転じたら反転フラグを作成する
4-10 N期連続で値が上昇/下降したら安定フラグを作成する
4-11 ID毎に同じ事象が起きてからの経過日数を求める
4-12 7日前の値/移動平均との増減率を求める
4-13 ID毎に初期値からの比率を求める
4-14 ID毎に最大値からの比率を求める
4-15 顧客の月毎と部門毎の実績を求める
4-16 顧客ランクアップ予測の説明/ 目的変数を作成する
4-17 未来の値を列に展開する
4-18 顧客行動を日毎に要約し基礎統計をとる
4-19 顧客の来店N日目を作成する
4-20 移動体の遷移を時間帯とメッシュで識別する
4-21 顧客クラスタを次の期間に当てはめて遷移を集計する
4-22 ID毎に初回から3回目までのイベントを列に展開する
4-23 顧客の四半期毎のランク遷移を列に展開する
4-24 四半期の列をSQLプッシュバックが効くように作成する
4-25 顧客の初回購入金額をフィールド(列)として追加する
4-26 先月末までの実績データを抽出する
4-27 Nヶ月特定アイテムの購入がない顧客をリストする
4-28 Nヶ月N種類アイテム購入がない顧客をループでリストする
5.欠損値を補完
5-1 欠損値/空白に直近の値を置換する
5-2 欠損値を0に/0を欠損値に置換する
5-3 欠損値を平均値で置換する
5-4 欠損値を最小値/最大値で全行/カテゴリ毎に置換する
5-5 欠損値を最頻値で置換する
5-6 欠損値を中央値で置換する
5-7 空白/空文字レコードを確認して削除/抽出する
5-8 欠損値レコードを確認して削除/抽出する
5-9 時系列の欠損値を線形補間する
5-10 実績がなく欠損した日付レコードを補間する
5-11 レコードに存在する欠損値/有効の数をカウントする
5-12 欠損値フラグを作成する
5-13 データ周期を集約する
5-14 欠損値を周囲中央値で置換する
5-15 欠損値/空白に1レコード上/下の値を置換する
5-16 マイナスの値を欠損値/ゼロに置換する
5-17 ±3標準偏差を外れ値と定義して欠損値に置換する
6.テーブルの結合
6-1 IDでテーブルを結合する 内部結合と完全外部結合
6-2 IDでテーブルを結合する 部分外部結合と逆結合
6-3 N対N結合で組み合わせテーブルを作成する
6-4 複数のテーブルを縦方向に追加する
6-5 複数条件でリストを名寄せする
6-6 都道府県名称をマスタのコード番号で割り当てる
6-7 法人等略語マスタで組織名を名寄せする
6-8 取引先マスタで組織名を名寄せする
6-9 顧客IDでテーブルを結合し重複する2つの列を比較する
6-10 逆結合で会員毎推奨商品リストから購入済み商品を除外する
6-11 3つ以上のテーブルを日付で結合する
6-12 異なるフィールド名(列名)をキーにしてテーブルを結合する
6-13 異なるデータ型のフィールドをキーにしてテーブルを結合する
6-14 複数のフィールドをキーにしてテーブルを結合する
6-15 2つのテーブルを比較して不一致レコードを確認する
6-16 大きなテーブルと小さなテーブルを効率よく結合する
7.行と列の操作
7-1 フラグ変数/ダミー変数作成 縦持ちを横持ちへ
7-2 カテゴリ値を列に展開してIDで集約 縦持ちを横持ちへ
7-3 行と列を入れ替える
7-4 固定帳票のための行合計と列合計を作成する
7-5 横持ちを縦持ち/トランザクション形式へ復元する
7-6 重複する不要なレコード(行)を削除する
7-7 列名を変更する/不要な列を削除する
7-8 レコード数/ユニークなID数をカウントする
7-9 ID毎に各列に含まれる種類数をカウントする
7-10 レコードを無作為に/層別にサンプリングする
7-11 交差検証のためにデータを学習とテストに分割する
7-12 オーバーサンプリングで不均衡データを調整する
7-13 主成分分析で次元数/列を縮約する
7-14 フィールド(列)の順番を入れ替える
7-15 複数条件でレコード(行)を絞り込む
7-16 区切り文字を含むフィールドの値を縦持ちする
7-17 AとBの両方または片方を購入した顧客を抽出する
7-18 1列内にある区切り文字(改行やカンマなど)を含む文字列を列展開にする
7-19 区切り文字で顧客のN回目までの購入商品を1列内に記述する
7-20 値の最頻値を残して重複を削除する
7-21 フィールド名に含まれる値引率をレコードに反映する
8.予測精度の確認
8-1 Accuracy(精度)を求める
8-2 Precison(適合率)とRecall(再現率)を求める
8-3 F1スコアをを求める
8-4 MCC(マシューズ相関係数)を求める
8-5 ROC曲線の全ての座標を求めて散布図で描画する
8-6 ROC曲線からAUCとGini(AR値)を求める
8-7 ROC曲線からカットオフ値を求める
8-8 ゲインチャートの座標からGini(AR値)を求める
8-9 ゲインチャートから利益が最大化するスコアを求める
8-10 PR曲線の全ての座標を求めて散布図で描画する
8-11 MAPE(平均絶対パーセント誤差)を求める
8-12 RMSE(二乗平均平方根誤差)を求める
8-13 95%予測区間を求める
8-14 予測フラグと確信度から傾向スコアを求める
8-15 該当レコードは学習には用いない調整済み残差でPRESSを求める
8-16 MedAE(絶対誤差の中央値)を求める
8-17 MER(誤差率の中央値)を求める
9.加工の効率化
9-1 複数のノードをスーパーノードでまとめる
9-2 スーパーノードをパラメータで制御する
9-3 ストリームをパラメータで制御する
9-4 ストリームにメモ(付箋)を付けてチームで共有する
9-5 キャッシュで2度目以降の処理速度を上げる
9-6 DBにSQLを自動発行させ処理速度を上げる
9-7 DBキャッシュで処理速度を上げる
9-8 DB入力ノードにクエリを書き込んで高速に読み込む
9-9 フィールド名(列名)から接頭辞/接尾辞を除外する
9-10 モデルをカテゴリで出し分ける
9-11 GUIループを使って列でグラフを出し分ける
9-12 GUIループを使って値でグラフを出し分ける
9-13 GUIループを使ってファイルを出し分ける
9-14 Modelerスクリプトでループ処理を実行する
9-15 Modelerスクリプトで複数ファイルを加工して結合する
9-16 モデルに新規データを当てはめて予測(スコアリング)する
9-17 ユーザー入力を自動生成させて新規レコードをモデルに当てはめる
9-18 シミュレーション用に組み合わせデータを生成する
9-19 シミュレーション用に組み合わせデータを生成する
9-20 パラメータで入出力ファイルを制御する
9-21 SPSS Modelerのみでマッチング最適化を実行する
9-22 SPSS ModelerのCPLEXの最適化ノードでマッチング最適化を実行する
10.グラフの表示
10-1 エラーバーを表示する
10-2 円グラフを表示する
10-3 ツリーマップを表示する
10-4 複数系列グラフを表示する
10-5 時系列を分解する
10-6 ヒストグラムを表示する
10-7 散布図/散布図行列を表示する
10-8 棒グラフを表示する
10-9 関係グラフを表示する
10-10 箱ひげ図を表示する
10-11 二重Y軸グラフを表示する
10-12 Webグラフでカテゴリの上位アイテム間の同時購入を確認する
10-13 ヒストグラムをマウスでビン分割しバンドを作成する
10-14 ヒストグラムから均等にビン分割しバンドを作成する
10-15 ヒストグラムからマウスで外れ値を除外/フラグ化する
10-16 因果推論グラフを表示する
10-17 ヒストグラムを正規化+分割して反応率の高い範囲を確認する
10-18 棒グラフからカテゴリを抽出/排除する
10-19 棒グラフの並び順を固定する
10-20 棒グラフでカテゴリをグループ化する
10-21 棒グラフからバランスノードを生成し不均衡データを補正する
11.集計表の作成
11-1 度数分布表を作成する
11-2 カテゴリ毎の集計表を作成する
11-3 カテゴリと時系列の集計表を作成する
11-4 クロス集計表を作成する1*1_度数
11-5 クロス集計表を作成する1*1_統計量
11-6 クロス集計表を作成する2*1_度数
11-7 クロス集計表を作成する2*1_統計量
11-8 クロス集計表を作成する1*2_度数
11-9 クロス集計表を作成する1*2_統計量
11-10 クロス集計表を作成する2*2_度数
11-11 クロス集計表を作成する2*2_統計量
11-12 カテゴリ毎の商品実績ランキング
11-13 特定商品と同ー期間中に併買される商品ランキング
11-14 特定商品と同じ日に併買される商品ランキング
11-15 併買の度数集計
11-16 集計表から不要なカテゴリを排除する
11-17 集計表からカテゴリを統合/再編成する
12.エラーとヒント
12-1 列に展開するメンバーがリストされない
12-2 結合に対して互換性のないデータ型: LONGおよび SYMBOL
12-3 フィールドでタイプの競合が検出されました
12-4 フィールド作成:引数の型に演算子または関数を適用できませんでした AEQMJ0348E
12-5 出力フィールドは不完全です/データ型の指定が不十分です
関連記事