投稿

8月, 2022の投稿を表示しています

データサイエンス100本ノックをKNIME(ナイム)でやってみる - 7本目 『複数条件に合致する行を抽出する3』

イメージ
「データサイエンス100本ノックをKNIME(ナイム)でやってみる」の 7本目 です。   実際に公開されている演習問題(100問は こちらに公開 されております)に取り組んでいきます。一緒に手を動かしてやってみましょう。大リーグへの道は長し! KNIMEのインストールが完了していない場合は こちら を参考にしてみてください KNIMEの基本的な使用方法などをざっと確認したい場合は アーカイブ を 「データサイエンス100本ノック」って何ですか?という場合は こちら を       データサイエンス 100本ノック 7本目 P-007: レシート明細データ(receipt.csv)から売上日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定し、以下の全ての条件を満たすデータを抽出せよ。 顧客ID(customer_id)が”CS018205000001″ 売上金額(amount)が1,000以上2,000以下        以下の答え・解説を見る前に実際にチャレンジしてみてください。                     では、実際にKNIME(ナイム)でやってみよう! 今回のは、「 複数条件に合致する行を抽出する 」ということで6本目の延長です!   設定ではフィルターしたいのは、顧客ID(customer_id)が"CS018205000001"で、売上金額(amount)が 1,000以上2,000以下 という一つの数値データに対して2つの数値条件を行うというものですね。 これは前回のKNIMEの条件構文に少し付け足すことで完了します。   $customer_id$ = "CS018205000001" AND ($amount$ >= 1000 AND $amount$ <= 2000 ) => TRUE     結果は1件だけでした。     という感じで今回も終了です! もちろん他の方法もあるので探ってみてく...

データサイエンス100本ノックをKNIME(ナイム)でやってみる - 6本目 『複数条件に合致する行を抽出する2』

イメージ
「データサイエンス100本ノックをKNIME(ナイム)でやってみる」の 6本目 です。   実際に公開されている演習問題(100問は こちらに公開 されております)に取り組んでいきます。一緒に手を動かしてやってみましょう。大リーグへの道は長し! KNIMEのインストールが完了していない場合は こちら を参考にしてみてください KNIMEの基本的な使用方法などをざっと確認したい場合は アーカイブ を 「データサイエンス100本ノック」って何ですか?という場合は こちら を       データサイエンス 100本ノック 6本目 P-006: レシート明細データ(receipt.csv)から売上日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上数量(quantity)、売上金額(amount)の順に列を指定し、以下の全ての条件を満たすデータを抽出せよ。 ・顧客ID(customer_id)が”CS018205000001″ ・売上金額(amount)が1,000以上または売上数量(quantity)が5以上        以下の答え・解説を見る前に実際にチャレンジしてみてください。                     では、実際にKNIME(ナイム)でやってみよう! 今回のは、「 複数条件に合致する行を抽出する 」するということで5本目の延長ですね。抽出する条件が追加されるものとなります。   設定ではフィルターしたいのは、顧客ID(customer_id)が"CS018205000001"で、売上金額(amount)が1,000以上で、さらに売上数量(quantity)が5以上。。。これは前回のKNIMEの条件構文に少し付け足すことで完了します。   $customer_id$ = "CS018205000001" AND ($amount$ >= 1000 OR $quantity$ >= 5) => TRUE    AND以下の構文はカッコで括ってあげないと正しい結果と...

データサイエンス100本ノックをKNIME(ナイム)でやってみる - 5本目 『複数条件に合致する行を抽出する1』

イメージ
「データサイエンス100本ノックをKNIME(ナイム)でやってみる」の 5本目 です。   実際に公開されている演習問題(100問は こちらに公開 されております)に取り組んでいきます。一緒に手を動かしてやってみましょう。大リーグへの道は長し! KNIMEのインストールが完了していない場合は こちら を参考にしてみてください KNIMEの基本的な使用方法などをざっと確認したい場合は アーカイブ を 「データサイエンス100本ノック」って何ですか?という場合は こちら を       データサイエンス 100本ノック 5本目 P-005: レシート明細データ(receipt.csv)から売上日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定し、以下の全ての条件を満たすデータを抽出せよ。 ・顧客ID(customer_id)が”CS018205000001″ ・売上金額(amount)が1,000以上        以下の答え・解説を見る前に実際にチャレンジしてみてください。                     では、実際にKNIME(ナイム)でやってみよう! 今回のは、「 複数条件に合致する行を抽出する 」するということが必要になりますね。 複数の検索条件を異なる列に当ててデータのフィルターが必要ということですね。 やってみました。今回は Rule-based Row Filter を使用しました。 こちらを使用して文字型データの特定の文字情報と、数値型のデータではある数値以上や以下などを絞り込めます。   設定ではフィルターしたいのは、顧客ID(customer_id)が"CS018205000001"で、売上金額(amount)が1,000以上でしたね。この場合は以下のように演算式(KNIME用の式)を書いてあげることで回答を得ることが出来ました。       KNIMEのフィルターの条件式       という感じで今回も...

データサイエンス100本ノックをKNIME(ナイム)でやってみる - 4本目 『特定条件に合致する行を抽出』

イメージ
「データサイエンス100本ノックをKNIME(ナイム)でやってみる」の 4本目 です。   実際に公開されている演習問題(100問は こちらに公開 されております)に取り組んでいきます。一緒に手を動かしてやってみましょう。大リーグへの道は長し! KNIMEのインストールが完了していない場合は こちら を参考にしてみてください KNIMEの基本的な使用方法などをざっと確認したい場合は アーカイブ を 「データサイエンス100本ノック」って何ですか?という場合は こちら を       データサイエンス 100本ノック 4本目(4問目)  P-004: レシート明細データ(receipt.csv)から売上日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定し、以下の条件を満たすデータを抽出せよ。 顧客ID(customer_id)が”CS018205000001″        以下の答え・解説を見る前に実際にチャレンジしてみてください。                   KNIMEで実際にやってみよう! 今回は「 特定条件に合致する行を抽出 」するということが必要になりますね。 ピンときた方は多いのでは?条件で抽出。。そうそうフィルターですね。 今回は Row Filterノード を使用しました。  設定ではフィルターしたい顧客ID(customer_id)が”CS018205000001を以下の画像のように設定しワークフローを実行するだけです。             という感じでかなり簡単です!もちろん他の方法もあるので探ってみてください :)     データサイエンス100本ノックをKNIME(ナイム)でやってみるノック4本目 はここで終了です!   お疲れ様でした!

データサイエンス100本ノックをKNIME(ナイム)でやってみる - 3本目 『指定列の列名を変更する』

イメージ
「データサイエンス100本ノックをKNIME(ナイム)でやってみる」の 3本目 です。   実際に公開されている演習問題(100問は こちらに公開 されております)に取り組んでいきます。一緒に手を動かしてやってみましょう。大リーグへの道は長し! KNIMEのインストールが完了していない場合は こちら を参考にしてみてください KNIMEの基本的な使用方法などをざっと確認したい場合は アーカイブ を 「データサイエンス100本ノック」って何ですか?という場合は こちら を       データサイエンス 100本ノック 3本目(3問目)  P-003: レシート明細データ(df_receipt)から売上年月日(sales_ymd)、顧客ID (customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定し、10件表示せよ。ただし、sales_ymdsales_dateに項目名を変更しながら抽出すること。        以下の答え・解説を見る前に実際にチャレンジしてみてください。                   KNIMEで実際にやってみよう! 今回の問題は2本目の延長で簡単に出来てしまいますね。調整するのは CSV Readerノード だけでした。   前回変更しているCSVを読み込んでそこで取得列(Transformationタブから)と取得行数(Limit Rowsタブから)を設定していると思いますが、再度、「Transformationタブ」へ戻り「New Name」で新しい列名を入れてあげるだけでOKです。       もちろん他の方法もあるので探ってみてください :)     データサイエンス100本ノックをKNIME(ナイム)でやってみるノック3本目 はここで終了です!   お疲れ様でした!

データサイエンス100本ノックをKNIME(ナイム)でやってみる - 2本目 『特定の列を抽出する』

イメージ
  「データサイエンス100本ノックをKNIME(ナイム)でやってみる」の 2本目 です。   実際に公開されている演習問題(100問は こちらに公開 されております)に取り組んでいきます。一緒に手を動かしてやってみましょう。大リーグへの道は長し! KNIMEのインストールが完了していない場合は こちら を参考にしてみてください KNIMEの基本的な使用方法などをざっと確認したい場合は アーカイブ を 「データサイエンス100本ノック」って何ですか?という場合は こちら を       データサイエンス 100本ノック 2本目(2問目)  P-002: レシート明細データ(receipt.csv)から売上年月日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定し、10件表示せよ。        以下の答え・解説を見る前に実際にチャレンジしてみてください。                   KNIMEで実際にやってみよう! さて、こちら前回もお話ししたようにKNIME(ナイム)はとてもいろんな事ができるので回答を得る方法はいくつかあると思います。   今回の課題ですが、一つのノード、 CSV Readerノード だけで完結できてしまいます(すごいシンプル!)。    データサイエンス100本ノックの1本目をやった方ならピンときているかもしれませんが、CSVを読み込んでそこで取得列(Transformationタブから)と取得行数(Limit Rowsタブから)を設定するだけでOKです。     という感じでかなり簡単です!もちろん他の方法もあるので探ってみてください :)     データサイエンス100本ノックをKNIME(ナイム)でやってみるノック2本目 はここで終了です!   お疲れ様でした!

データサイエンス100本ノックをKNIME(ナイム)でやってみる - 1本目 『全項目を指定行数抽出する』

イメージ
「データサイエンス100本ノックをKNIME(ナイム)でやってみる」の1本目です。   実際に公開されている演習問題(100問は こちらに公開 されております)に取り組んでいきます。一緒に手を動かしてやってみましょう。甲子園への道は長し! KNIMEのインストールが完了していない場合は こちら を参考にしてみてください KNIMEの基本的な使用方法などをざっと確認したい場合は アーカイブ を 「データサイエンス100本ノック」って何ですか?という場合は こちら を       データサイエンス 100本ノック 1本目(1問目)  P-001: レシート明細データ(receipt.csv)から全項目の先頭10件を表示し、どのようなデータを保有しているか目視で確認せよ。        以下の答え・解説を見る前に実際にチャレンジしてみてください。                   KNIMEで実際にやってみよう! KNIME(ナイム)は非常にツールが豊富なのでこちらを行う場合、幾つかの方法があると思っています。どんな時も 「打つては無限」 と心にどこかに据えてやってみましょう!   CSV Readerノード を新規ワークフローに配置し、receipt.csvを読み込んでみます。 行数が104,681で、列数は9と確認できました。     お次は、先頭10件を表示のお題に入っていきます。   これ実は、 CSV Readerノード の設定で取得行数の設定で10としてしまうことで 先頭10件だけ を表示することができます。 ただし、これだとその他のノードをこのノードの後に連結して解析をしていく際にこの限定された10行に対して行うことになります。    まっ、今回のノック課題はクリアできますが。       他の方法だと、 CSV Readerノードでは全件を処理し、 Row Filterノード で先頭の10行を絞り込むこともできますね。     Row Samplingノード で先頭の10件を取得と...

データサイエンス100本ノックをKNIME(ナイム)でやってみる

イメージ
「 データサイエンス100本ノック構造化データ加工編ガイドブック 」というデータ解析の書籍をお読みになった方はすでにピンときているかもしれませんが、こちらに関して、 GitHub上 に一般社団法人データサイエンティスト協会さんが無償でデータを配布してくれています。    こちら、SQL、Python、Rを使用して100問の演習問題に取り組んでいき、データの加工・集計、統計学や機械学習を駆使したモデリングの前処理などの、基礎的なデータハンドリングの修行を行なってもらうために用意されたコンテンツのようです。 こちらで配布されているデータを使用、 データ加工・データ準備の演習問題を オープンソースデータ加工ツール KNIME で実際にやってみようと思います。すべてを実施することができるかは現段階では不明ですがまずはTRY!ということで。 GitHubからコンテンツのダウンロード データサイエンティスト協会さんの GitHub よりZIPファイルをダウンロードすると、以下のようにコンテンツを展開することができる。docker > work > data 内に複数のデータがCSV形式で置かれています。   データサイエンス100本ノック(構造化データ加工編)- データ その他、Dockerを使用した演習の開始方法や問題集( こちらのPDF )などが docker > work > doc のPDFにありますので目を通してみてください。配布データに関するER図もあります。   データサイエンス100本ノック(構造化データ加工編) - ER図  さて、次回からは実際にデータ加工をやっていくことにします。