Free Trial

ディスカッション

答えを見つけ、質問し、Alteryx の専門知識を共有してください。

データサイエンス100本ノック 構造化データ加工編をAlteryxでやってみる(75問目~78問目:データ抽出編)

AkimasaKajitani
17 - Castor
17 - Castor

一般社団法人データサイエンティスト協会から公開されているデータサイエンス100本ノック 構造化データ加工編のウィークリーチャレンジ方式による出題第14回目は75問目~78問目を一つにまとめてみました。今回は外れ値抽出、ランダム抽出など抽出の問題です。

 

  • P-075: 顧客データ(customer.csv)からランダムに1%のデータを抽出し、先頭から10件表示せよ。

  • P-076: 顧客データ(customer.csv)から性別コード(gender_cd)の割合に基づきランダムに10%のデータを層化抽出し、性別コードごとに件数を集計せよ。

  • P-077: レシート明細データ(receipt.csv)の売上金額を顧客単位に合計し、合計した売上金額の外れ値を抽出せよ。なお、外れ値は売上金額合計を対数化したうえで平均と標準偏差を計算し、その平均から3σを超えて離れたものとする(自然対数と常用対数のどちらでも可)。結果は10件表示せよ。

    ※標準偏差は、ワークフローを簡略化するためn-1で割る標準偏差を使用すること
    ※スケール化(標準化)すること(フィールド名はscaleとする)

  • P-078: レシート明細データ(receipt.csv)の売上金額(amount)を顧客単位に合計し、合計した売上金額の外れ値を抽出せよ。ただし、顧客IDが"Z"から始まるのものは非会員を表すため、除外して計算すること。なお、ここでは外れ値を第1四分位と第3四分位の差であるIQRを用いて、「第1四分位数-1.5×IQR」を下回るもの、または「第3四分位数+1.5×IQR」を超えるものとする。結果は10件表示せよ。

    ※結果はcustomer_idの昇順でソートすること

解いたらこちらに投稿していただければと思います。ちなみに、次回投稿は一週間後を予定しています。

なお、今回は全体のバランスで問題数は少なめです。

 

solutionファイルは次回添付します。

 

添付ファイルは今回の出題のstartファイルと、前回のsolutionファイルです。

 

前回:データサイエンス100本ノック 構造化データ加工編をAlteryxでやってみる(68問目~74問目:計算・日時編)

8件の返信8
Yoshiro_Fujimori
オーロラ

回答します。

どうも .yxzp だと添付できないので、.yxmd で添付します。

スポイラ
75問目
 Yoshiro_Fujimori_0-1666575340539.png


76問目

当初、乱数生成してソート後に先頭10%をサンプルしましたが、Gender_cdでグループ化し先頭10%をサンプルしても同じ結果になりました。
(グループの構成比が変わらないので当然かも)
層化抽出したデータを使うという意味では、おそらく当初の方法のほうが適切なのでしょう。

 Yoshiro_Fujimori_1-1666575404431.png

77問目

解答と一致しないのですが、どこかにミスがあるのか、丸め誤差のせいなのかわかりません。

 Yoshiro_Fujimori_2-1666576363292.png

log_amount は小数第6位で四捨五入すると一致しますが、scale はだいぶ違ってしまっています。
    Expect Equal (BETA) (452) Unexpected Value - Field:log_amount Row:1 Expected:16.3328040058233 Actual:16.3328039654845
    Expect Equal (BETA) (452) Unexpected Value - Field:scale Row:1 Expected:7.96734230597917 Actual:7.96361103429295

78問目

Yoshiro_Fujimori_3-1666576592497.png

 

 

AkimasaKajitani
17 - Castor
17 - Castor

できました!

 

スポイラ
AkimasaKajitani_1-1667012615023.png
AkimasaKajitani_2-1667012633943.png
AkimasaKajitani_3-1667012649480.png

 


 

@Yoshiro_Fujimori さん

スポイラ
77問目ですが、対数化の際に0.5を足しているところが差異かと思います(0.5なのか1なのか議論はありますが・・・)。まぁ、0が出ないデータであれば実質足す必要ない気はしますが・・・。

しかし、yxzpが添付できないって謎ですね、、、会社のセキュリティの問題でしょうか??

DaisukeTsuchiya
パルサー

同じく77問目は答えが合いませんでした。

 

スポイラ
キャプチャ.JPG

Yoshiro_Fujimori
オーロラ

@AkimasaKajitani さん

そうでした。対数化の際のお作法を(前に話したのに)忘れていました。

ご指摘ありがとうございます。

 

添付できないのは、おそらく会社のセキュリティの問題と思われます。

 customer.csv などが顧客情報の外部送信と認識されていると推測しています。

 ウィークリーチャレンジでも時々あります。

AkimasaKajitani
17 - Castor
17 - Castor

@Yoshiro_Fujimori さん ファイル名まで見て動くとは、、、結構強力なセキュリティですね、、、今頃はそんなものもあるんですね・・・

 

Yoshiro_Fujimori
オーロラ

@AkimasaKajitani 

実際に何をチェックされているかはわかりませんが(わかったらセキュリティの意味がないし)

たぶんファイル名ではなく

データの中身をみて人名や日付や金額が入っているとか

ファイルサイズがある程度以上大きいと「リスクが高い」と判断されるのではと想像しています。

AkimasaKajitani
17 - Castor
17 - Castor

@Yoshiro_Fujimori さん そこまで見られてるんですね、、、すごいですね、、、

yyokoyama
アステロイド

提出します。