SlideShare a Scribd company logo
© 2015 IBM Corporation
Python/PySpark で始めるデータ分析の基本
〜ハンズオン編〜
2016/07/29版
⾙嶋 創
テクニカルセールス
アナリティクス事業部本部
IBM
本⽇の内容
▪ Data Scientist Workbenchとは
▪ ハンズオン
本⽇の内容
▪ Data Scientist Workbenchとは
▪ ハンズオン
データ分析のプロセス
データ収集
クレンジング
モデリング・
データ加⼯
アクション
レポーティング Data Scientist Workbenchで対応可能
Data Science Workbench© Copyright IBM Corp. 2016
特徴
• 誰でも無料
• Spark環境構築済み
• プログラミング実⾏環境も⽤意
• コミュニティを通した知識の共有
• 継続的な機能追加
“Making open source data science easy”
ログイン後の画⾯
データ操作および分析のためのツール
Data Science Workbenchのフォーラム、情報共有、リクエスト
①データ投⼊ ②データ整形
③データ整形と分析の実⾏
分析のためのデータ提供(Bluemixおよびpublicデータ)
ツール実⾏時の画⾯
Open Refine
Jupyter
seahorse
Apache
Zeppelin
アイコン化
My Data
RStudio
「RStudio」
• Rを使いやすくするのための統合開発環境
• Rユーザーのデファクトスタンダード
• 通常のRプログラムだけでなくSparkRも実⾏可能
• Data Scientist WorkbenchではBig R(SystemML)も実⾏可能
• IBMの提供するライブラリ
• スケーラブルかつ⾼パフォーマンス
• Sparkに統合予定のSystemML
RStudio - RユーザーがSparkRを利⽤するためのIDE
Sparkと連携
グラフ表⽰可能
パッケージインストール
可能
SparkRだけではなく
Rの記述・実⾏可能
Jupyter, Zeppelin はNotebook… “Notebook”とは?
• 紙と鉛筆
• 紙と鉛筆は、これまで⻑い
間、科学者がメモや図⾯を
通して進捗状況を⽂書化す
るための重要なツールであ
る:
• 表現⼒
• 累積した情報
• コラボレーション
• Notebooks
• Notebooks は、これまでの
紙と鉛筆のデジタル版であ
り、再現性のある分析と⽂
書化を可能にする:
• マークダウンとグラフ化
• 反復探索
• 共有が容易
③データ整形と分析の実⾏「Jupyter Notebook」
• リリース
• 2001年にリリースされたIPythonをベースに、2015年に
Jupyterとしてリリース
• ノートブック
• WebブラウザからのGUI操作可能
• コード実⾏、コメント記述、グラフの描画を実⾏可能
• カーネル
• Data Scientist Workbenchでは、Scala,Python, Rを実
⾏可能
<参考>フィードバックとUI,データセンター
• 実現してほしいアイデアの投稿、投票が可能
• トラブル発⽣時にはサポートへコンタクト可能
• 画⾯左下のユーザーアイコンから
Profileの設定が可能
• ⾔語を「⽇本語」にすることで
UIの⽇本語化
• 東京データセンターも準備中(現在はトロントかチャイナ)
⾮常に多くの機能がありますが
触りながら覚えて、育てていきましょう
本⽇の内容
▪ Data Scientist Workbenchとは
▪ ハンズオン
▪ お客様の購買傾向をもとにクラスタリングを実
施します
▪ クラスタリングにはSparkの機械学習ライブラ
リのK-平均法(K-means)を利⽤します
▪ JupyterのPySparkを利⽤します
Sparkの機械学習ライブラリ
• RDD
• 分散処理⽤のデータセット
• DataFrame
• テーブルのようなデータ構造をもった分散処理⽤データセット
• SQLライクにデータ操作可能
• 処理系によらず⾼速動作、今後の主流
• Spark.mllib
• org.apache.spark.mllibパッケージの機械学習⽤クラス群
• RDDをベースとしたAPIはメンテモード
• Spark.ml
• org.apache.spark.mlパッケージのMLlibの機械学習⽤クラス群
• ベースはDataFrame、プライマリ
Spark MLLibのライブラリ
分類と回帰
• モデル (SVM, ロジスティック回帰、線形回帰)
• ナイーブベイズ
• 決定⽊
• アンサンブルツリー (ランダム⽊と勾配ブースト⽊)
• 単調回帰
協調フィルタリング
• 交互最⼩⼆乗法 (ALS)
クラスタリング
• k-平均法(K-means)
• 混合ガウス
• べき乗クラスタリング (PIC)
• 潜在的ディレクレ配分法 (LDA)
• ⼆値k平均法
• ストリーミング k-平均法
etc
http://mogile.web.fc2.com/spark/mllib-guide.html
K-平均⽅(K-Means)とは、
• ラベル付けがなされていないデータに対して、近しい属性を持つデー
タをグループ化(クラスタリング) する⼿法
• マーケティング施策や商品の企画開発などに活⽤可能
• 製品ごとの特徴を⽤いて類似の製品をグループ化(家電における価格、定
員、直近の販売台数など)
• 顧客の特徴を⽤いて似たような利⽤傾向の顧客をグループ化 (来店頻度、
利⽤⾦額、購買製品傾向など)
• K-平均法(K-means)のステップを視覚で確認可能
• http://stanford.edu/class/ee103/visualizations/kmeans/kmeans.html
ハンズオン:Spark MLLibでクラスタリング
JupyterでPythonによるSpark MLLibプログラムを実⾏します。
⼿順
1.シェアされているNotebookを取得します。ブラウザで以下リンク
http://bit.ly/bdu0729を開いてください。
2.Notebookを実⾏してクラスタリングを実⾏します。
まとめ
• DSWB(RStudio、jupyter)を紹介
• SparkのMLLibをK-meansを例に分析の流れを体感
• DSWBはSparkを使った分析、機械学習を実⾏可能
• Sparkを使わない通常のPythonやRの実⾏も可能
• ⾃習や分析適⽤可否の確認、セミナーなど様々な⽤途
で利⽤できるので是⾮使ってみてください
<参考>リファレンス
• 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
<参考>①データ投⼊「My Data」
分析のためのデータの投⼊を⾏う
現在のディレクトリ構成
新規ディレクトリ作成
データのアップロード
アップロードしたファイルは分析ツールから利⽤可能
(Jupyter画⾯から利⽤が可能)
<参考> ②データ整形「OpenRefine」
• Googleで開発されたGoogle Refineがベース
• 2010年11⽉にイニシャルリリース、2012年10⽉に
OpenRefineとしてオープンソース化
• WebブラウザからのGUI操作のみでデータのクレンジングや
フォーマット変換が可能
• CSV, TSV, text files, XML, RDF, and JSON様々なファイル
フォーマットに対応
• 分析を実⾏する前のデータの準備を実⾏
<参考> OpenRefineによるデータの絞込やクレンジング
数値データの範囲をグラフで絞り込み
<参考> OpenRefineによるデータの絞込やクレンジング
数値データの範囲をグラフで絞り込み
データのブレに対して
GUIでクレンジングが可能
<参考>③データ整形と分析の実⾏「Zeppelin
Notebook」
• リリース
• 2012年にCommercial Product、2013年にオープン
ソース、2014年にASFインキュベーションプロダクト
• ノートブック
• WebブラウザからのGUI操作可能
• コード実⾏、コメント記述、グラフの描画を実⾏可能
• インタープリタ
• Scala, Python, SQL,shellコマンド など
<参考>「seahorse」
• DeepSense.ioにより2016年にver.1.0
• Sparkアプリケーションを作成するためのプラットフォーム
• WebGUIからアイコンを配置して機械学習やETLのプログラミ
ング可能
ファイルサーチ& URL
挿⼊(ノートの共有)
「My Data」のファイル
コードに挿⼊可能
<参考>Jupyter 操作画⾯
<参考> Jupyterにおけるセル・コメント・コード
コメント
コード(実⾏中)
コード(未実⾏)
コメント
セルの種類
<参考>よく使うJupyterのアイコン
状態のセーブ・チェックポイントの作成
セルの削除
セルの順番⼊れ替え
セルの実⾏
セルの追加
<参考>修正したコード(セル)からの再実⾏
実⾏したセルに対して変更を加える
<参考>修正したコード(セル)からの再実⾏
修正したセルから再実⾏可能
番号が下のセルより上がっている
<参考>コード補完
Tabを押下することでコー
ド補完が⾏われる
<参考>キーボードショートカット
キーボードショートカットによるviライクな操作が可能 (j、kでセ ル間を移動)
Enterでセル毎の編集モードに⼊り、EscでNotebookへのコマンドモードに変更
<参考>
ユーザーインターフェース
の細かい解説を確認可能
<参考>Jupyterで新規Notebookを作成する
1. 左側のアイコンリストからJupyterを選択
2. 右上のNew Notebook TypeからPythonを選択
ワークショップ、セッション、および資料は、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の⽶国およびその他の国における商標です。

More Related Content

PDF
Data Scientist Workbench 入門
PDF
dots. 7/7 DSWBハンズオン資料
PDF
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料
PDF
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
PPTX
データサイエンティスト協会 セミナー2016 第2回 2016年7月19日
PPTX
Pysparkで始めるデータ分析
PPTX
Jupyter Notebookでscikit-learnを使った機械学習・画像処理の基本
PPTX
WebDB Forum 2012 基調講演資料
Data Scientist Workbench 入門
dots. 7/7 DSWBハンズオン資料
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料
データ分析に必要なスキルをつけるためのツール~Jupyter notebook、r連携、機械学習からsparkまで~
データサイエンティスト協会 セミナー2016 第2回 2016年7月19日
Pysparkで始めるデータ分析
Jupyter Notebookでscikit-learnを使った機械学習・画像処理の基本
WebDB Forum 2012 基調講演資料

What's hot (20)

PDF
SmartNews の Webmining を支えるプラットフォーム
PPTX
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
PDF
Spark Summit 2015 参加報告
PDF
1000人規模で使う分析基盤構築 〜redshiftを活用したeuc
PPSX
HBaseとSparkでセンサーデータを有効活用 #hbasejp
PPTX
Hadoop / Elastic MapReduceつまみ食い
PDF
SparkやBigQueryなどを用いた モバイルゲーム分析環境
PDF
データマイニング+WEB勉強会資料第6回
PPTX
Watson summit 2016_j2_5
PPTX
Hadoopことはじめ
PPTX
2021/6/3 Deep Learning Lab - Azure Synapse Analytics Ignite & Build アップデートake
PDF
Amebaにおけるレコメンデーションシステムの紹介
PDF
16.02.08_Hadoop Conferece Japan 2016_データサイエンスにおける一次可視化からのSpark on Elasticsear...
PDF
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
PPTX
Apache Sparkを使った感情極性分析
PDF
Spark Streamingで作る、つぶやきビッグデータのクローン(Hadoop Spark Conference Japan 2016版)
PPTX
リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)
PPTX
Pythonで入門するApache Spark at PyCon2016
PDF
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
PDF
CAジャーナルクラブ Dremel: Interactive Analysis of Web-Scale Datasets
SmartNews の Webmining を支えるプラットフォーム
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
Spark Summit 2015 参加報告
1000人規模で使う分析基盤構築 〜redshiftを活用したeuc
HBaseとSparkでセンサーデータを有効活用 #hbasejp
Hadoop / Elastic MapReduceつまみ食い
SparkやBigQueryなどを用いた モバイルゲーム分析環境
データマイニング+WEB勉強会資料第6回
Watson summit 2016_j2_5
Hadoopことはじめ
2021/6/3 Deep Learning Lab - Azure Synapse Analytics Ignite & Build アップデートake
Amebaにおけるレコメンデーションシステムの紹介
16.02.08_Hadoop Conferece Japan 2016_データサイエンスにおける一次可視化からのSpark on Elasticsear...
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
Apache Sparkを使った感情極性分析
Spark Streamingで作る、つぶやきビッグデータのクローン(Hadoop Spark Conference Japan 2016版)
リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)
Pythonで入門するApache Spark at PyCon2016
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
CAジャーナルクラブ Dremel: Interactive Analysis of Web-Scale Datasets
Ad

Similar to Data Scientist Workbench - dots0729 (20)

PPTX
SparkとJupyterNotebookを使った分析処理 [Html5 conference]
PPTX
Bluemixを使ったTwitter分析
PPTX
Big datauniversity
PPTX
PythonでDeepLearningを始めるよ
PPTX
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
PDF
Taming Distributed/Parallel Query Execution Engine of Apache Spark
PDF
個人的にAmazon EMR5.0.0でSpark 2.0を使ってZeppelinでSQL集計してみる
PDF
Ibm data science experience
PDF
Apache Spark + Arrow
PDF
Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...
PPTX
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PDF
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
PDF
Python 機械学習プログラミング データ分析ライブラリー解説編
PDF
Rユーザのためのspark入門
PDF
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
PDF
Spark Analytics - スケーラブルな分散処理
PDF
Yifeng spark-final-public
PDF
20190517 Spark+AI Summit2019最新レポート
PDF
Why dont you_create_new_spark_jl
PPTX
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
SparkとJupyterNotebookを使った分析処理 [Html5 conference]
Bluemixを使ったTwitter分析
Big datauniversity
PythonでDeepLearningを始めるよ
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
Taming Distributed/Parallel Query Execution Engine of Apache Spark
個人的にAmazon EMR5.0.0でSpark 2.0を使ってZeppelinでSQL集計してみる
Ibm data science experience
Apache Spark + Arrow
Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
Python 機械学習プログラミング データ分析ライブラリー解説編
Rユーザのためのspark入門
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
Spark Analytics - スケーラブルな分散処理
Yifeng spark-final-public
20190517 Spark+AI Summit2019最新レポート
Why dont you_create_new_spark_jl
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
Ad

Recently uploaded (9)

PDF
世界半導体用酸化ハフニウム市場のサプライチェーン解析:上流、下流、収益モデル分析2025-2031
PDF
【QYResearch】人形ロボット産業の市場構造と今後の発展方向に関する分析レポート
PDF
液体クラトム抽出物供給側分析:世界の生産能力・販売量・平均価格動向(2025-2031)
PDF
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf
PDF
商用ウェブカメラ市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
PDF
口腔内スキャナー市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
PDF
限外ろ過膜調査レポート:市場規模、シェア、産業分析データ、最新動向2025-2031 YH Research
PDF
グローバルロープウェイ用スチールワイヤーロープ市場2025:主要企業のシェア、売上動向、競争戦略
PDF
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年7月リリース最新機能のご紹介
世界半導体用酸化ハフニウム市場のサプライチェーン解析:上流、下流、収益モデル分析2025-2031
【QYResearch】人形ロボット産業の市場構造と今後の発展方向に関する分析レポート
液体クラトム抽出物供給側分析:世界の生産能力・販売量・平均価格動向(2025-2031)
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf
商用ウェブカメラ市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
口腔内スキャナー市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
限外ろ過膜調査レポート:市場規模、シェア、産業分析データ、最新動向2025-2031 YH Research
グローバルロープウェイ用スチールワイヤーロープ市場2025:主要企業のシェア、売上動向、競争戦略
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年7月リリース最新機能のご紹介

Data Scientist Workbench - dots0729