Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Data Scientist Workbench - dots0729

1,644 views

Published on

7/29の説明用資料です

Published in: Data & Analytics
  • Login to see the comments

Data Scientist Workbench - dots0729

  1. 1. © 2015 IBM Corporation Python/PySpark で始めるデータ分析の基本 〜ハンズオン編〜 2016/07/29版 ⾙嶋 創 テクニカルセールス アナリティクス事業部本部 IBM
  2. 2. 本⽇の内容 ▪ Data Scientist Workbenchとは ▪ ハンズオン
  3. 3. 本⽇の内容 ▪ Data Scientist Workbenchとは ▪ ハンズオン
  4. 4. データ分析のプロセス データ収集 クレンジング モデリング・ データ加⼯ アクション レポーティング Data Scientist Workbenchで対応可能
  5. 5. Data Science Workbench© Copyright IBM Corp. 2016 特徴 • 誰でも無料 • Spark環境構築済み • プログラミング実⾏環境も⽤意 • コミュニティを通した知識の共有 • 継続的な機能追加 “Making open source data science easy”
  6. 6. ログイン後の画⾯ データ操作および分析のためのツール Data Science Workbenchのフォーラム、情報共有、リクエスト ①データ投⼊ ②データ整形 ③データ整形と分析の実⾏ 分析のためのデータ提供(Bluemixおよびpublicデータ)
  7. 7. ツール実⾏時の画⾯ Open Refine Jupyter seahorse Apache Zeppelin アイコン化 My Data RStudio
  8. 8. 「RStudio」 • Rを使いやすくするのための統合開発環境 • Rユーザーのデファクトスタンダード • 通常のRプログラムだけでなくSparkRも実⾏可能 • Data Scientist WorkbenchではBig R(SystemML)も実⾏可能 • IBMの提供するライブラリ • スケーラブルかつ⾼パフォーマンス • Sparkに統合予定のSystemML
  9. 9. RStudio - RユーザーがSparkRを利⽤するためのIDE Sparkと連携 グラフ表⽰可能 パッケージインストール 可能 SparkRだけではなく Rの記述・実⾏可能
  10. 10. Jupyter, Zeppelin はNotebook… “Notebook”とは? • 紙と鉛筆 • 紙と鉛筆は、これまで⻑い 間、科学者がメモや図⾯を 通して進捗状況を⽂書化す るための重要なツールであ る: • 表現⼒ • 累積した情報 • コラボレーション • Notebooks • Notebooks は、これまでの 紙と鉛筆のデジタル版であ り、再現性のある分析と⽂ 書化を可能にする: • マークダウンとグラフ化 • 反復探索 • 共有が容易
  11. 11. ③データ整形と分析の実⾏「Jupyter Notebook」 • リリース • 2001年にリリースされたIPythonをベースに、2015年に Jupyterとしてリリース • ノートブック • WebブラウザからのGUI操作可能 • コード実⾏、コメント記述、グラフの描画を実⾏可能 • カーネル • Data Scientist Workbenchでは、Scala,Python, Rを実 ⾏可能
  12. 12. <参考>フィードバックとUI,データセンター • 実現してほしいアイデアの投稿、投票が可能 • トラブル発⽣時にはサポートへコンタクト可能 • 画⾯左下のユーザーアイコンから Profileの設定が可能 • ⾔語を「⽇本語」にすることで UIの⽇本語化 • 東京データセンターも準備中(現在はトロントかチャイナ)
  13. 13. ⾮常に多くの機能がありますが 触りながら覚えて、育てていきましょう
  14. 14. 本⽇の内容 ▪ Data Scientist Workbenchとは ▪ ハンズオン ▪ お客様の購買傾向をもとにクラスタリングを実 施します ▪ クラスタリングにはSparkの機械学習ライブラ リのK-平均法(K-means)を利⽤します ▪ JupyterのPySparkを利⽤します
  15. 15. Sparkの機械学習ライブラリ • RDD • 分散処理⽤のデータセット • DataFrame • テーブルのようなデータ構造をもった分散処理⽤データセット • SQLライクにデータ操作可能 • 処理系によらず⾼速動作、今後の主流 • Spark.mllib • org.apache.spark.mllibパッケージの機械学習⽤クラス群 • RDDをベースとしたAPIはメンテモード • Spark.ml • org.apache.spark.mlパッケージのMLlibの機械学習⽤クラス群 • ベースはDataFrame、プライマリ
  16. 16. Spark MLLibのライブラリ 分類と回帰 • モデル (SVM, ロジスティック回帰、線形回帰) • ナイーブベイズ • 決定⽊ • アンサンブルツリー (ランダム⽊と勾配ブースト⽊) • 単調回帰 協調フィルタリング • 交互最⼩⼆乗法 (ALS) クラスタリング • k-平均法(K-means) • 混合ガウス • べき乗クラスタリング (PIC) • 潜在的ディレクレ配分法 (LDA) • ⼆値k平均法 • ストリーミング k-平均法 etc http://mogile.web.fc2.com/spark/mllib-guide.html
  17. 17. K-平均⽅(K-Means)とは、 • ラベル付けがなされていないデータに対して、近しい属性を持つデー タをグループ化(クラスタリング) する⼿法 • マーケティング施策や商品の企画開発などに活⽤可能 • 製品ごとの特徴を⽤いて類似の製品をグループ化(家電における価格、定 員、直近の販売台数など) • 顧客の特徴を⽤いて似たような利⽤傾向の顧客をグループ化 (来店頻度、 利⽤⾦額、購買製品傾向など) • K-平均法(K-means)のステップを視覚で確認可能 • http://stanford.edu/class/ee103/visualizations/kmeans/kmeans.html
  18. 18. ハンズオン:Spark MLLibでクラスタリング JupyterでPythonによるSpark MLLibプログラムを実⾏します。 ⼿順 1.シェアされているNotebookを取得します。ブラウザで以下リンク http://bit.ly/bdu0729を開いてください。 2.Notebookを実⾏してクラスタリングを実⾏します。
  19. 19. まとめ • DSWB(RStudio、jupyter)を紹介 • SparkのMLLibをK-meansを例に分析の流れを体感 • DSWBはSparkを使った分析、機械学習を実⾏可能 • Sparkを使わない通常のPythonやRの実⾏も可能 • ⾃習や分析適⽤可否の確認、セミナーなど様々な⽤途 で利⽤できるので是⾮使ってみてください
  20. 20. <参考>リファレンス • Sparkプログラミングガイド (1.6.1) http://spark.apache.org/docs/latest/programming-guide.html • Pyspark APIドキュメント (1.6.1) http://spark.apache.org/docs/latest/api/python/pyspark.html • K-means(機械学習)のプログラミングガイド http://spark.apache.org/docs/latest/mllib-clustering.html
  21. 21. <参考>①データ投⼊「My Data」 分析のためのデータの投⼊を⾏う 現在のディレクトリ構成 新規ディレクトリ作成 データのアップロード アップロードしたファイルは分析ツールから利⽤可能 (Jupyter画⾯から利⽤が可能)
  22. 22. <参考> ②データ整形「OpenRefine」 • Googleで開発されたGoogle Refineがベース • 2010年11⽉にイニシャルリリース、2012年10⽉に OpenRefineとしてオープンソース化 • WebブラウザからのGUI操作のみでデータのクレンジングや フォーマット変換が可能 • CSV, TSV, text files, XML, RDF, and JSON様々なファイル フォーマットに対応 • 分析を実⾏する前のデータの準備を実⾏
  23. 23. <参考> OpenRefineによるデータの絞込やクレンジング 数値データの範囲をグラフで絞り込み
  24. 24. <参考> OpenRefineによるデータの絞込やクレンジング 数値データの範囲をグラフで絞り込み データのブレに対して GUIでクレンジングが可能
  25. 25. <参考>③データ整形と分析の実⾏「Zeppelin Notebook」 • リリース • 2012年にCommercial Product、2013年にオープン ソース、2014年にASFインキュベーションプロダクト • ノートブック • WebブラウザからのGUI操作可能 • コード実⾏、コメント記述、グラフの描画を実⾏可能 • インタープリタ • Scala, Python, SQL,shellコマンド など
  26. 26. <参考>「seahorse」 • DeepSense.ioにより2016年にver.1.0 • Sparkアプリケーションを作成するためのプラットフォーム • WebGUIからアイコンを配置して機械学習やETLのプログラミ ング可能
  27. 27. ファイルサーチ& URL 挿⼊(ノートの共有) 「My Data」のファイル コードに挿⼊可能 <参考>Jupyter 操作画⾯
  28. 28. <参考> Jupyterにおけるセル・コメント・コード コメント コード(実⾏中) コード(未実⾏) コメント セルの種類
  29. 29. <参考>よく使うJupyterのアイコン 状態のセーブ・チェックポイントの作成 セルの削除 セルの順番⼊れ替え セルの実⾏ セルの追加
  30. 30. <参考>修正したコード(セル)からの再実⾏ 実⾏したセルに対して変更を加える
  31. 31. <参考>修正したコード(セル)からの再実⾏ 修正したセルから再実⾏可能 番号が下のセルより上がっている
  32. 32. <参考>コード補完 Tabを押下することでコー ド補完が⾏われる
  33. 33. <参考>キーボードショートカット キーボードショートカットによるviライクな操作が可能 (j、kでセ ル間を移動) Enterでセル毎の編集モードに⼊り、EscでNotebookへのコマンドモードに変更
  34. 34. <参考> ユーザーインターフェース の細かい解説を確認可能
  35. 35. <参考>Jupyterで新規Notebookを作成する 1. 左側のアイコンリストからJupyterを選択 2. 右上のNew Notebook TypeからPythonを選択
  36. 36. ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独⾃の⾒解を反映したものです。それらは情報提供の⽬的のみで提供されており、いかなる参加者に対しても法 律的またはその他の指導や助⾔を意図したものではなく、またそのような結果を⽣むものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努⼒しましたが、「現状のまま」提 供され、明⽰または暗⽰にかかわらずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使⽤によって、あるいはその他の関連によって、いかなる損害が⽣じた場合も、IBMは責任を負わないも のとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使⽤を規定する適⽤ライセンス 契約の条項を変更することを意図したものでもなく、またそのような結果を⽣むものでもありません。 本講演資料でIBM製品、プログラム、またはサービスに⾔及していても、IBMが営業活動を⾏っているすべての国でそれらが使⽤可能であることを暗⽰するものではありません。本講演資料で⾔及している製品リリー ス⽇付や製品機能は、市場機会またはその他の要因に基づいてIBM独⾃の決定権をもっていつでも変更できるものとし、いかなる⽅法においても将来の製品または機能が使⽤可能になると確約することを意図したもの ではありません。本講演資料に含まれている内容は、参加者が開始する活動によって特定の販売、売上⾼の向上、またはその他の結果が⽣じると述べる、または暗⽰することを意図したものでも、またそのような結果 を⽣むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使⽤した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーの ジョブ・ストリームにおけるマルチプログラミングの量、⼊出⼒構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここ で述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使⽤したか、またそれらのお客様が達成した結果の実例として⽰されたものです。実際の環境コストおよびパフォーマンス特性は、お客 様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.comは、 世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現 時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。 Adobe, Adobeロゴ, PostScript, PostScriptロゴは、Adobe Systems Incorporatedの⽶国およびその他の国における登録商標または商標です。 IT Infrastructure LibraryはAXELOS Limitedの登録商標です。 インテル, Intel, Intelロゴ, Intel Inside, Intel Insideロゴ, Centrino, Intel Centrinoロゴ, Celeron, Xeon, Intel SpeedStep, Itanium, およびPentium は Intel Corporationまたは⼦会社の⽶国およびその他の国に おける商標または登録商標です。 Linuxは、Linus Torvaldsの⽶国およびその他の国における登録商標です。 PowerLinux is a trademark of International Business Machines Corp. The registered trademark Linux is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis. Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの⽶国およびその他の国における商標です。 ITILはAXELOS Limitedの登録商標です。 UNIXはThe Open Groupの⽶国およびその他の国における登録商標です。 Cell Broadband Engineは、Sony Computer Entertainment, Inc.の⽶国およびその他の国における商標であり、同社の許諾を受けて使⽤しています。 JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の⽶国およびその他の国における商標または登録商標です。 Linear Tape-Open, LTO, LTOロゴ, UltriumおよびUltriumロゴは、HP, IBM Corp.およびQuantumの⽶国およびその他の国における商標です。

×