Submit Search
Upload
dots.女子部勉強会 vol.5 機械学習ハンズオン ~ 協調フィルタリング ~
•
Download as PPTX, PDF
•
1 like
•
418 views
dots.
Follow
dots.女子部勉強会 vol.5の資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 14
Download now
Recommended
Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話
Yusuke Miyazaki
Tensor flowを使った キュウリの仕分け あれこれ
Tensor flowを使った キュウリの仕分け あれこれ
Makoto Koike
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
Masato Fujitake
PythonでPodcastを聴く
PythonでPodcastを聴く
Masato Fujitake
Pythonで自動化した話1
Pythonで自動化した話1
Masato Fujitake
ファジングツールAFLの利用を支援するツールFuzz4Bによるファジング教育の試み
ファジングツールAFLの利用を支援するツールFuzz4Bによるファジング教育の試み
Norihiro Yoshida
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門
Takayuki Shimizukawa
1030 twitter講座.key
1030 twitter講座.key
Tokyo City University, Ueno Lab.
Recommended
Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話
Yusuke Miyazaki
Tensor flowを使った キュウリの仕分け あれこれ
Tensor flowを使った キュウリの仕分け あれこれ
Makoto Koike
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
Masato Fujitake
PythonでPodcastを聴く
PythonでPodcastを聴く
Masato Fujitake
Pythonで自動化した話1
Pythonで自動化した話1
Masato Fujitake
ファジングツールAFLの利用を支援するツールFuzz4Bによるファジング教育の試み
ファジングツールAFLの利用を支援するツールFuzz4Bによるファジング教育の試み
Norihiro Yoshida
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門
Takayuki Shimizukawa
1030 twitter講座.key
1030 twitter講座.key
Tokyo City University, Ueno Lab.
T4使ってみた
T4使ってみた
Ryota Murohoshi
S18 t0 introduction
S18 t0 introduction
Takeshi Akutsu
TensorFlowによるFizz Buzz
TensorFlowによるFizz Buzz
yaju88
Python
Python
卓馬 三浦卓馬
情報検索の基礎 第1章 論理検索
情報検索の基礎 第1章 論理検索
nishioka1
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
mosa siru
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習
Kimikazu Kato
Mr201306 機械学習のセキュリティ技術応用
Mr201306 機械学習のセキュリティ技術応用
FFRI, Inc.
Tfug kansai vol1
Tfug kansai vol1
Natsutani Minoru
UnityでのLINQ活用例
UnityでのLINQ活用例
Ryota Murohoshi
TensorFlowで会話AIを作ってみた。
TensorFlowで会話AIを作ってみた。
tak9029
S10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnow
Takeshi Akutsu
XMPPの紹介
XMPPの紹介
隆行 神戸
IPython notebookを使おう
IPython notebookを使おう
Kazufumi Ohkawa
ユニットテストと始める始める安全なPythonライブラリ開発
ユニットテストと始める始める安全なPythonライブラリ開発
Yuya Oka
チームで活用するAnaconda入門
チームで活用するAnaconda入門
Takeshi Akutsu
Tfug kansai vol2
Tfug kansai vol2
Natsutani Minoru
Pythonでpdfをいじってみる
Pythonでpdfをいじってみる
株式会社 システムヨシイ
Python languageupdate (2004)
Python languageupdate (2004)
泰 増田
クラウドサービスを活用した『教育の情報化整備ガイドライン』の開発
クラウドサービスを活用した『教育の情報化整備ガイドライン』の開発
Kotatsu RIN
協調フィルタリング
協調フィルタリング
miyagawa50
More Related Content
What's hot
T4使ってみた
T4使ってみた
Ryota Murohoshi
S18 t0 introduction
S18 t0 introduction
Takeshi Akutsu
TensorFlowによるFizz Buzz
TensorFlowによるFizz Buzz
yaju88
Python
Python
卓馬 三浦卓馬
情報検索の基礎 第1章 論理検索
情報検索の基礎 第1章 論理検索
nishioka1
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
mosa siru
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習
Kimikazu Kato
Mr201306 機械学習のセキュリティ技術応用
Mr201306 機械学習のセキュリティ技術応用
FFRI, Inc.
Tfug kansai vol1
Tfug kansai vol1
Natsutani Minoru
UnityでのLINQ活用例
UnityでのLINQ活用例
Ryota Murohoshi
TensorFlowで会話AIを作ってみた。
TensorFlowで会話AIを作ってみた。
tak9029
S10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnow
Takeshi Akutsu
XMPPの紹介
XMPPの紹介
隆行 神戸
IPython notebookを使おう
IPython notebookを使おう
Kazufumi Ohkawa
ユニットテストと始める始める安全なPythonライブラリ開発
ユニットテストと始める始める安全なPythonライブラリ開発
Yuya Oka
チームで活用するAnaconda入門
チームで活用するAnaconda入門
Takeshi Akutsu
Tfug kansai vol2
Tfug kansai vol2
Natsutani Minoru
Pythonでpdfをいじってみる
Pythonでpdfをいじってみる
株式会社 システムヨシイ
Python languageupdate (2004)
Python languageupdate (2004)
泰 増田
What's hot
(20)
T4使ってみた
T4使ってみた
S18 t0 introduction
S18 t0 introduction
TensorFlowによるFizz Buzz
TensorFlowによるFizz Buzz
Python
Python
情報検索の基礎 第1章 論理検索
情報検索の基礎 第1章 論理検索
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習
Mr201306 機械学習のセキュリティ技術応用
Mr201306 機械学習のセキュリティ技術応用
Tfug kansai vol1
Tfug kansai vol1
UnityでのLINQ活用例
UnityでのLINQ活用例
TensorFlowで会話AIを作ってみた。
TensorFlowで会話AIを作ってみた。
S10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnow
XMPPの紹介
XMPPの紹介
IPython notebookを使おう
IPython notebookを使おう
ユニットテストと始める始める安全なPythonライブラリ開発
ユニットテストと始める始める安全なPythonライブラリ開発
チームで活用するAnaconda入門
チームで活用するAnaconda入門
Tfug kansai vol2
Tfug kansai vol2
Pythonでpdfをいじってみる
Pythonでpdfをいじってみる
Python languageupdate (2004)
Python languageupdate (2004)
Viewers also liked
クラウドサービスを活用した『教育の情報化整備ガイドライン』の開発
クラウドサービスを活用した『教育の情報化整備ガイドライン』の開発
Kotatsu RIN
協調フィルタリング
協調フィルタリング
miyagawa50
前期反省&下期目標 吉澤和香奈
前期反省&下期目標 吉澤和香奈
Wakana Yoshizawa
Hack tutorial
Hack tutorial
Wakana Yoshizawa
自己紹介&自社紹介 吉澤和香奈
自己紹介&自社紹介 吉澤和香奈
Wakana Yoshizawa
dots 女子部 LT会 Vol.2 ぼっち振り返り
dots 女子部 LT会 Vol.2 ぼっち振り返り
Michiyo Chuman
React.js触ってみた 吉澤和香奈
React.js触ってみた 吉澤和香奈
Wakana Yoshizawa
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Tomoaki Shimizu
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Tomoaki Shimizu
CEDEC 2015: PlaygroundとLuaによる 大規模モバイルオンラインゲーム開発のレベルアップ Part3
CEDEC 2015: PlaygroundとLuaによる 大規模モバイルオンラインゲーム開発のレベルアップ Part3
Takuya Hashimoto
ゲーム業界で思う3つの大事なこと 2016-06-28
ゲーム業界で思う3つの大事なこと 2016-06-28
俊仁 小林
Hello Girl's World!!@女子エンジニアLT会 #dotsgirls
Hello Girl's World!!@女子エンジニアLT会 #dotsgirls
Hikari Fukasawa
今だから言えるやらないほうが良かったこと
今だから言えるやらないほうが良かったこと
Akira Miki
迷ったもん勝ち!~迷走するクラウド人生~ 20151221
迷ったもん勝ち!~迷走するクラウド人生~ 20151221
Michiyo Chuman
Viewers also liked
(14)
クラウドサービスを活用した『教育の情報化整備ガイドライン』の開発
クラウドサービスを活用した『教育の情報化整備ガイドライン』の開発
協調フィルタリング
協調フィルタリング
前期反省&下期目標 吉澤和香奈
前期反省&下期目標 吉澤和香奈
Hack tutorial
Hack tutorial
自己紹介&自社紹介 吉澤和香奈
自己紹介&自社紹介 吉澤和香奈
dots 女子部 LT会 Vol.2 ぼっち振り返り
dots 女子部 LT会 Vol.2 ぼっち振り返り
React.js触ってみた 吉澤和香奈
React.js触ってみた 吉澤和香奈
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
CEDEC 2015: PlaygroundとLuaによる 大規模モバイルオンラインゲーム開発のレベルアップ Part3
CEDEC 2015: PlaygroundとLuaによる 大規模モバイルオンラインゲーム開発のレベルアップ Part3
ゲーム業界で思う3つの大事なこと 2016-06-28
ゲーム業界で思う3つの大事なこと 2016-06-28
Hello Girl's World!!@女子エンジニアLT会 #dotsgirls
Hello Girl's World!!@女子エンジニアLT会 #dotsgirls
今だから言えるやらないほうが良かったこと
今だから言えるやらないほうが良かったこと
迷ったもん勝ち!~迷走するクラウド人生~ 20151221
迷ったもん勝ち!~迷走するクラウド人生~ 20151221
Similar to dots.女子部勉強会 vol.5 機械学習ハンズオン ~ 協調フィルタリング ~
PENGUIN AI ML-Agents
PENGUIN AI ML-Agents
yosukehirano1
XMPPクライアント・プログラミング
XMPPクライアント・プログラミング
隆行 神戸
OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208
学 松崎
Pytorch 強化学習プラットフォーム horizonのドキュメントを読む
Pytorch 強化学習プラットフォーム horizonのドキュメントを読む
mogamin
Php Lt 20080316
Php Lt 20080316
Soshi NEMOTO
Pyconjp2016 pyftplib
Pyconjp2016 pyftplib
Shinya Okano
Python charity talk in japan fastAPI introduction
Python charity talk in japan fastAPI introduction
ssuserc75dc7
Generating word clouds in python
Generating word clouds in python
AyakaHonda1
「Python 機械学習プログラミング」の挫折しない読み方
「Python 機械学習プログラミング」の挫折しない読み方
Hiroki Yamamoto
日本で一番PHPのシステムをテストしている手動テスターが思うところ:PHPカンファレンス福岡
日本で一番PHPのシステムをテストしている手動テスターが思うところ:PHPカンファレンス福岡
Rina Fukuda
PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法
Shinsuke Sugaya
Machine Learning Bootstrap
Machine Learning Bootstrap
Takahiro Kubo
appengine活用事例資料@TDDBC札幌2.1
appengine活用事例資料@TDDBC札幌2.1
Go Sueyoshi (a.k.a sue445)
Automatic Summarization
Automatic Summarization
Hitoshi Nishikawa
深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴
Yuya Unno
「自動化...か、かっこいいタル」(憧れ)から始める自動化
「自動化...か、かっこいいタル」(憧れ)から始める自動化
Hirokazu Kutsu
Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能
kimulla
SoftLayerオブジェクトストレージと連携サービスPBOXについて
SoftLayerオブジェクトストレージと連携サービスPBOXについて
Shuichi Yukimoto
Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話
Yoshikazu Kawashima
Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話
ssuser551c92
Similar to dots.女子部勉強会 vol.5 機械学習ハンズオン ~ 協調フィルタリング ~
(20)
PENGUIN AI ML-Agents
PENGUIN AI ML-Agents
XMPPクライアント・プログラミング
XMPPクライアント・プログラミング
OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208
Pytorch 強化学習プラットフォーム horizonのドキュメントを読む
Pytorch 強化学習プラットフォーム horizonのドキュメントを読む
Php Lt 20080316
Php Lt 20080316
Pyconjp2016 pyftplib
Pyconjp2016 pyftplib
Python charity talk in japan fastAPI introduction
Python charity talk in japan fastAPI introduction
Generating word clouds in python
Generating word clouds in python
「Python 機械学習プログラミング」の挫折しない読み方
「Python 機械学習プログラミング」の挫折しない読み方
日本で一番PHPのシステムをテストしている手動テスターが思うところ:PHPカンファレンス福岡
日本で一番PHPのシステムをテストしている手動テスターが思うところ:PHPカンファレンス福岡
PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法
Machine Learning Bootstrap
Machine Learning Bootstrap
appengine活用事例資料@TDDBC札幌2.1
appengine活用事例資料@TDDBC札幌2.1
Automatic Summarization
Automatic Summarization
深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴
「自動化...か、かっこいいタル」(憧れ)から始める自動化
「自動化...か、かっこいいタル」(憧れ)から始める自動化
Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能
SoftLayerオブジェクトストレージと連携サービスPBOXについて
SoftLayerオブジェクトストレージと連携サービスPBOXについて
Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話
Recently uploaded
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Recently uploaded
(11)
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
dots.女子部勉強会 vol.5 機械学習ハンズオン ~ 協調フィルタリング ~
1.
dots.女子部勉強会 vol.5 機械学習ハンズオン ~ 協調フィルタリング
~ 2016/01/19 @dots.
2.
自己紹介 杉山 隆(Takashi Sugiyama) Pythonista,
PHPer 2008/04~2013/03 : ヤフー株式会社 2013/04~2015/03 : 株式会社アイ・エム・ジェイ 2015/04~ : 株式会社インテリジェンス dots. 開発リーダー(兼PM)
3.
アジェンダ 1. レコメンデーションの種類 2. 協調フィルタリングとは 3.
Pythonインストール 4. 実装1 - 基本的な処理 - 5. 実装2 - 実データを使う - 6. 実装3 - Apache Spark -
4.
1. レコメンデーションの種類 内容ベース(コンテンツベース)フィルタリング 内容やタグの類似度でレコメンドを行う。 協調フィルタリング 今回説明。 cf. http://qiita.com/haminiku/items/f5008a57a870 e0188f63
5.
2. 協調フィルタリングとは ユーザのコミュニティや過去の振る舞いを利用し て、ユーザの好みや興味を持つ情報を予測する方 法論 使用事例 Amazon: 「この商品を買った人はこんな商品も 買っています」 Yahoo!ニュース:
「こんな記事も読まれていま す」
6.
2. 協調フィルタリングとは Jaccard指数を使って計算するのが一般的 Item Aに対するItem
Bの類似度 ・・・ 0.4 Item Aに対するItem Cの類似度 ・・・ 0.2 User A User B User C User D User E 計算式 類似度 Item A 1 1 1 Item B 1 1 1 2/5 0.4 Item C 1 1 1 1/5 0.2 ※UserがItemに興味(購入や閲覧等)を示していれば1が入る
7.
3. Pythonインストール PyEnv、及びPythonのインストール http://qiita.com/a_yasui/items/8cdc9be7a410e 9529687 ※最新のバージョンと2.7.9をインストールしてくだ さい。 redisインストール $ brew
install redis redisの自動起動 http://qiita.com/marqs/items/05cec2b1a305b5 0ee7b2
8.
4. 実装1 -
基本的な処理 - 以下のページに書いてあるソースをコピペして、拡 張子.pyで保存してください。 http://qiita.com/haminiku/items/cdbf8eb488e0 cf6a62fe 以下のコマンドで実行します。 $ python ファイル名
9.
5. 実装2 -
実データを使う - dots.のアクセスログ(ユーザーIDフィルタリング済 み)を使用します。アクセスログの置き場所は別途 説明します。 実装1.のプログラムをコピーし、以下の赤字部分を 修正ください。 実装1.と同様に、以下のコマンドで実行します。 $ python ファイル名
10.
5. 実装2 -
実データを使う - #!/usr/bin/env python # -*- coding: UTF-8 -*- from __future__ import absolute_import from __future__ import unicode_literals import csv import redis import re CSV_PATH = 'アクセスログファイルパス' def jaccard(e1, e2): """ ジャッカード指数を計算する :param e1: list of int :param e2: list of int :rtype: float """ set_e1 = set(e1) set_e2 = set(e2) return float(len(set_e1 & set_e2)) / float(len(set_e1 | set_e2))
11.
5. 実装2 -
実データを使う - def get_key(k): return 'JACCARD:PRODUCT:{}'.format(k) page_view = {} f = open(CSV_PATH, 'rb') dataReader = csv.reader(f) for row in dataReader: match = re.match(r'/event/(d+).*$', row[0]) if match: key = match.group(1) if page_view.has_key(key): page_view[key].append(row[1]) else: page_view[key] = [row[1]] r = redis.Redis(host='localhost', port=6379)
12.
5. 実装2 -
実データを使う - for key in page_view: base_customers = page_view[key] for key2 in page_view: if key == key2: continue target_customers = page_view[key2] j = jaccard(base_customers, target_customers) r.zadd(get_key(key), key2, j) print r.zrevrange(get_key(577776), 0, 2) print r.zrevrange(get_key(577777), 0, 2)
13.
5. 実装2 -
実データを使う - 実行して見て分かったと思いますが、たった3万弱の データ数でも処理に5分も掛かります・・・。 ↓ 機械学習でやりましょう! (もしくはライブラリ使う。)
14.
次回、Apache Spark編 お楽しみに!!
Download now