1月30日に、
『システム設計の謎を解く 改訂版』出版記念「設計の謎の“本質”を探る」」 ~第4回 本とITを研究する会セミナー~
https://tech-dialoge.doorkeeper.jp/events/69459
に行ってきたんだけど、そこで、表題の件「各社の開発プロセス各工程の呼び方と位置付け」
の表を出していた(詳しくは説明していないけど)
20180130 設計イベント
https://www.slideshare.net/taka1970/20180130-86895935
の10シート目
これは、元ネタがあって、元ネタは
2018年1月定例会
https://redajp.connpass.com/event/75920/
とのこと(上記ページに表が貼ってある)
『システム設計の謎を解く 改訂版』出版記念「設計の謎の“本質”を探る」」 ~第4回 本とITを研究する会セミナー~
https://tech-dialoge.doorkeeper.jp/events/69459
に行ってきたんだけど、そこで、表題の件「各社の開発プロセス各工程の呼び方と位置付け」
の表を出していた(詳しくは説明していないけど)
20180130 設計イベント
https://www.slideshare.net/taka1970/20180130-86895935
の10シート目
これは、元ネタがあって、元ネタは
2018年1月定例会
https://redajp.connpass.com/event/75920/
とのこと(上記ページに表が貼ってある)
1つの取引所、1つの通貨が問題起こしただけなのに・・・
なぜ仮想通貨まで叩かれる? 新しい技術の登場を拒絶する日本
http://www.mag2.com/p/news/348415
フェイスブックも・・
フェイスブック、仮想通貨の広告を全面禁止へ ICOも対象、全世界で
https://www.nikkei.com/article/DGXMZO26353710R30C18A1000000/
なぜ仮想通貨まで叩かれる? 新しい技術の登場を拒絶する日本
http://www.mag2.com/p/news/348415
フェイスブックも・・
フェイスブック、仮想通貨の広告を全面禁止へ ICOも対象、全世界で
https://www.nikkei.com/article/DGXMZO26353710R30C18A1000000/
インテルの脆弱性対策パッチを当てると、
システムが不安定になるという場合があって、
それの対応
マイクロソフト、緊急アップデートを公開 インテルパッチ無効化
https://jp.reuters.com/article/cyber-intel-microsoft-idJPKBN1FJ0J2
システムが不安定になるという場合があって、
それの対応
マイクロソフト、緊急アップデートを公開 インテルパッチ無効化
https://jp.reuters.com/article/cyber-intel-microsoft-idJPKBN1FJ0J2
ステアラボ人工知能セミナー
https://stair.connpass.com/
の資料は、上記のサイトにまとまっているけど、
講演内容の動画もあるみたい。
ここ
STAIR Lab
https://www.youtube.com/channel/UCqK6zjhj120DL2PAYOi4ngg/videos
https://stair.connpass.com/
の資料は、上記のサイトにまとまっているけど、
講演内容の動画もあるみたい。
ここ
STAIR Lab
https://www.youtube.com/channel/UCqK6zjhj120DL2PAYOi4ngg/videos
前にPythonで、アソシエーション分析を行ったけど、
これを、WebAPIとして提供する方法。
■お題
指定されたデータに対して、あらかじめ、アソシエーション分析を行い、
ある商品(以下、対象商品という)が指定されたら、
その商品をlhsに含むアソシエーションルールを返すWebAPIを提供する
※「○○を買っている人は、XXも買っているとき」
○○をlhs
XXをrhs
と、以下述べる。lhs,rhsは、1商品とは限らない
「A,Bを買っている人は、C,D,Eも買う」という組み合わせもOK
■今回の実装の仕様
・入力ファイルは、Rのアソシエーション分析パッケージarulesのなかにある
GroceriesをCSV書き出ししたものを使う(拡張子を.basketにする)
・サーバー立ち上げ時に上記ファイルを読み込み、アソシエーション分析する
・WebAPIの仕様は、以下の通り
エンドポイント/getList/対象商品名
エンドポイントは今回 http://127.0.0.1:5000
・結果はJSON形式でルールのリストの形で返す
各ルールは、以下の項目の連想配列とする
lhs
rhs
support 支持度
lift リフト
confidence 確信度
【詳細仕様】
・WebAPIを作成するのに、flaskを使う
・基本的に以下のエントリのプログラムを修正して使う
Pythonでのアソシエーション分析
http://blog.goo.ne.jp/xmldtp/e/73fa1d4da410cb2f1cd3eb0f88dc1a54
また、このエントリで書いた、インストール、データファイル作成はされているものとする
・Windows7に入れたPythonで実行している。実行環境の作り方は
Windowsでのpythonとgitインストール
http://blog.goo.ne.jp/xmldtp/e/38be875ddbd9ebf826fb4821db3b7317
を参照
■手順
・flaskインストール
・プログラム作成
・起動
■flaskインストール
コマンドラインから
pip install flask
を実行する
■プログラム作成
ソースコードは、以下の通り
これを、今回は、assoctest1.pyという名前で保存した。
※注意
flask.pyという名前で保存しないこと。
この名前で保存すると、以下のエラーになる
Traceback (most recent call last):
File "flask.py", line 2, in <module>
from flask import Flask, jsonify
File "C:\Users\Panasonic\Desktop\zikken\assoc\flask.py", line 2, in <module>
from flask import Flask, jsonify
ImportError: cannot import name 'Flask'
くわしくは
https://qiita.com/AkiyoshiOkano/items/3108d1b7dac9437979c2
参照
■実行
データファイルを上記プログラムのdatafnameで指定したところにおいて
(注意:拡張子は必ず.basketのこと)
コマンドラインから
・assoctest1.pyがあるフォルダにcdして
・python assoctest1.py
を実行する。メッセージがでて、とまるので、そうしたら、ブラウザで
getListを呼び出す。
たとえば
http://127.0.0.1:5000/getList/tidbits
など
これを、WebAPIとして提供する方法。
■お題
指定されたデータに対して、あらかじめ、アソシエーション分析を行い、
ある商品(以下、対象商品という)が指定されたら、
その商品をlhsに含むアソシエーションルールを返すWebAPIを提供する
※「○○を買っている人は、XXも買っているとき」
○○をlhs
XXをrhs
と、以下述べる。lhs,rhsは、1商品とは限らない
「A,Bを買っている人は、C,D,Eも買う」という組み合わせもOK
■今回の実装の仕様
・入力ファイルは、Rのアソシエーション分析パッケージarulesのなかにある
GroceriesをCSV書き出ししたものを使う(拡張子を.basketにする)
・サーバー立ち上げ時に上記ファイルを読み込み、アソシエーション分析する
・WebAPIの仕様は、以下の通り
エンドポイント/getList/対象商品名
エンドポイントは今回 http://127.0.0.1:5000
・結果はJSON形式でルールのリストの形で返す
各ルールは、以下の項目の連想配列とする
lhs
rhs
support 支持度
lift リフト
confidence 確信度
【詳細仕様】
・WebAPIを作成するのに、flaskを使う
・基本的に以下のエントリのプログラムを修正して使う
Pythonでのアソシエーション分析
http://blog.goo.ne.jp/xmldtp/e/73fa1d4da410cb2f1cd3eb0f88dc1a54
また、このエントリで書いた、インストール、データファイル作成はされているものとする
・Windows7に入れたPythonで実行している。実行環境の作り方は
Windowsでのpythonとgitインストール
http://blog.goo.ne.jp/xmldtp/e/38be875ddbd9ebf826fb4821db3b7317
を参照
■手順
・flaskインストール
・プログラム作成
・起動
■flaskインストール
コマンドラインから
pip install flask
を実行する
■プログラム作成
ソースコードは、以下の通り
# -*- coding: utf-8 -*- from flask import Flask, jsonify import Orange from orangecontrib.associate.fpgrowth import * #共通変数 datafname = "C:\\Users\\Panasonic\\Desktop\\zikken\\assoc\\source.basket" # データファイル assoclist = [] # 結果格納 ###################################### # アソシエーション分析を立ち上げ時に行う print("アソシエーション分析開始") #データの読み込み tbl = Orange.data.Table(datafname) #分析実行 X, mapping = OneHot.encode(tbl) itemsets = dict(frequent_itemsets(X, 5)) rules = association_rules(itemsets, 0.7) stats = rules_stats(rules, itemsets, len(X)) def decode_onehot(d): items = OneHot.decode(d, tbl, mapping) return list(map(lambda v: v[1].name, items)) #結果保存 for s in stats : lhs = decode_onehot(s[0]) rhs = decode_onehot(s[1]) rec = {"lhs":lhs,"rhs":rhs,"support":s[2],"confidence":s[3],"lift":s[6]} assoclist.append(rec) print("アソシエーション分析終了") ###################################### # REST API api = Flask(__name__) # アソシエーションルール取得 # 引数は、対象とする商品 @api.route('/getList/<string:shohin>') def getList(shohin): kekka = [] for rec in assoclist : if shohin in rec["lhs"] : kekka.append(rec) return jsonify(kekka) #エラー時のリターン @api.errorhandler(404) def not_found(error): return jsonify({'error': 'Not found'}), 404 #サーバー起動 if __name__ == '__main__': api.run() |
これを、今回は、assoctest1.pyという名前で保存した。
※注意
flask.pyという名前で保存しないこと。
この名前で保存すると、以下のエラーになる
Traceback (most recent call last):
File "flask.py", line 2, in <module>
from flask import Flask, jsonify
File "C:\Users\Panasonic\Desktop\zikken\assoc\flask.py", line 2, in <module>
from flask import Flask, jsonify
ImportError: cannot import name 'Flask'
くわしくは
https://qiita.com/AkiyoshiOkano/items/3108d1b7dac9437979c2
参照
■実行
データファイルを上記プログラムのdatafnameで指定したところにおいて
(注意:拡張子は必ず.basketのこと)
コマンドラインから
・assoctest1.pyがあるフォルダにcdして
・python assoctest1.py
を実行する。メッセージがでて、とまるので、そうしたら、ブラウザで
getListを呼び出す。
たとえば
http://127.0.0.1:5000/getList/tidbits
など
前に書いた、
Pythonでのアソシエーション分析
http://blog.goo.ne.jp/xmldtp/e/73fa1d4da410cb2f1cd3eb0f88dc1a54
で、pythonの3と、gitを入れる必要があるんだけど、
いつも使っているパソコンと、違うパソコンに入れて、気がついたことがあったので、メモ
■pythonを入れる→pipがない?
pythonを入れるには、
https://www.python.org/
にいって、downloadから落としてくれば、インストールできる。
で、インストール後、pipを実行しようとするt、
コマンドがないエラーになってしまう。
これは、pythonとpipが違うところに入っていて、
パスが張っていないから。
環境変数で、
PATHに
C:\Users\Panasonic\AppData\Local\Programs\Python\Python36-32\Scripts;C:\Users\Panasonic\AppData\Local\Programs\Python\Python36-32
のように、pythonのありか(上記例では、C:\Users\Panasonic\AppData\Local\Programs\Python\Python36-32\)に加えて、
pipのあるところ(その下のScriptsにある)のパスも加えておくこと。
■gitのインストール
https://git-scm.com/downloads
から落としてきて、インストールすればOK
Pythonでのアソシエーション分析
http://blog.goo.ne.jp/xmldtp/e/73fa1d4da410cb2f1cd3eb0f88dc1a54
で、pythonの3と、gitを入れる必要があるんだけど、
いつも使っているパソコンと、違うパソコンに入れて、気がついたことがあったので、メモ
■pythonを入れる→pipがない?
pythonを入れるには、
https://www.python.org/
にいって、downloadから落としてくれば、インストールできる。
で、インストール後、pipを実行しようとするt、
コマンドがないエラーになってしまう。
これは、pythonとpipが違うところに入っていて、
パスが張っていないから。
環境変数で、
PATHに
C:\Users\Panasonic\AppData\Local\Programs\Python\Python36-32\Scripts;C:\Users\Panasonic\AppData\Local\Programs\Python\Python36-32
のように、pythonのありか(上記例では、C:\Users\Panasonic\AppData\Local\Programs\Python\Python36-32\)に加えて、
pipのあるところ(その下のScriptsにある)のパスも加えておくこと。
■gitのインストール
https://git-scm.com/downloads
から落としてきて、インストールすればOK
いつも使っているパソコンにコーヒーかけたら、動かなくなってしまい、
昔のパソコン(Windows7)に、Apache 2.4とPHP 7.2のインストールをしたんだけど、
いままでと、ちょっと違ったので、手順をメモ
■apache 2.4のインストール
まず
https://www.apachelounge.com/download/
にいって、ダウンロードする。自分は64ビットマシンなので、
httpd-2.4.29-Win64-VC15.zip
をダウンロードして、解凍した。そうすると、解凍したフォルダの中に
Apache24
というフォルダができるので、これを、Cドライブの直下に自分はおいた
(べつに、ここでなくてもいいけど)
そうしたら、Apache24/binの下にある、httpd.exeを実行する。
・・・って書きたいんだけど、これを実行すると、
「コンピューターにVCRUNTIME140.dll がないため、プログラムを開始できません。」
というエラーが出て実行できない
■Visual C++ 2015 Build Toolsのインストール
そこで、VC++を入れる(と、VCRUNTIME140.dllが入ってくる)
それは
Visual C++ 2015 Build Tools
http://landinghub.visualstudio.com/visual-cpp-build-tools
にあるので、ダウンロードして、落としていたexeファイルを実行する。
結構時間かかるけど、それが終わったら、もう一度
Apache24/bin/httpd.exe
を実行する。ウィンドウが開き、そこにメッセージが出て(でないかも)、
実行中になっていればOK
その間にブラウザをひらき、http://127.0.0.1にアクセス
It works!
と出ればOK
■PHPインストール
http://windows.php.net/download#php-7.2
VC15 x64 Thread Safe (2018-Jan-04 07:06:59)
をダウンロードして、phpというフォルダの中に解凍する。
(つまり、phpのフォルダの下に、解凍すると出てくる、devとかlibとかがあるかんじ)
このphpフォルダをCドライブの直下に置く
■各種設定・テストプログラム
・phpフォルダの下にある、php.ini-development(またはphp.ini-production)を
コピーして、コピーしたファイルの名前をphp.iniにする
・C:\Apache24\confフォルダの下にあるhttpd.confの最後に、以下の内容を追加
・C:\Apache24\htdocsの下に、以下のコードを書き、phpinfo.phpとして保存する。
■ブラウザ表示
・http://127.0.0.1/phpinfo.phpをブラウザで開き、設定がいろいろ見えたらOK!
【参考】
https://www.adminweb.jp/apache/php/index1.html
昔のパソコン(Windows7)に、Apache 2.4とPHP 7.2のインストールをしたんだけど、
いままでと、ちょっと違ったので、手順をメモ
■apache 2.4のインストール
まず
https://www.apachelounge.com/download/
にいって、ダウンロードする。自分は64ビットマシンなので、
httpd-2.4.29-Win64-VC15.zip
をダウンロードして、解凍した。そうすると、解凍したフォルダの中に
Apache24
というフォルダができるので、これを、Cドライブの直下に自分はおいた
(べつに、ここでなくてもいいけど)
そうしたら、Apache24/binの下にある、httpd.exeを実行する。
・・・って書きたいんだけど、これを実行すると、
「コンピューターにVCRUNTIME140.dll がないため、プログラムを開始できません。」
というエラーが出て実行できない
■Visual C++ 2015 Build Toolsのインストール
そこで、VC++を入れる(と、VCRUNTIME140.dllが入ってくる)
それは
Visual C++ 2015 Build Tools
http://landinghub.visualstudio.com/visual-cpp-build-tools
にあるので、ダウンロードして、落としていたexeファイルを実行する。
結構時間かかるけど、それが終わったら、もう一度
Apache24/bin/httpd.exe
を実行する。ウィンドウが開き、そこにメッセージが出て(でないかも)、
実行中になっていればOK
その間にブラウザをひらき、http://127.0.0.1にアクセス
It works!
と出ればOK
■PHPインストール
http://windows.php.net/download#php-7.2
VC15 x64 Thread Safe (2018-Jan-04 07:06:59)
をダウンロードして、phpというフォルダの中に解凍する。
(つまり、phpのフォルダの下に、解凍すると出てくる、devとかlibとかがあるかんじ)
このphpフォルダをCドライブの直下に置く
■各種設定・テストプログラム
・phpフォルダの下にある、php.ini-development(またはphp.ini-production)を
コピーして、コピーしたファイルの名前をphp.iniにする
・C:\Apache24\confフォルダの下にあるhttpd.confの最後に、以下の内容を追加
LoadModule php7_module c:/php/php7apache2_4.dll <FilesMatch "\.php$"> AddHandler php7-script .php AddType application/x-httpd-php .php </FilesMatch> PHPIniDir "c:/php" |
・C:\Apache24\htdocsの下に、以下のコードを書き、phpinfo.phpとして保存する。
<?php phpinfo(); ?> |
■ブラウザ表示
・http://127.0.0.1/phpinfo.phpをブラウザで開き、設定がいろいろ見えたらOK!
【参考】
https://www.adminweb.jp/apache/php/index1.html
前に、
Rでのアソシエーション分析
http://blog.goo.ne.jp/xmldtp/e/25c3a84112cc266cd399dd96bf41f21a
を書いたけど、Pythonの3でやると、どうなるのかについてのメモ。
基本的にOrangeをつかうんだけど、Python3用のOrangeであるOrange3には、
アソシエーション分析が入っていない。そこで、それを作っている人
から、githubでとってくるんだけど、Orange3を入れるのにVisual C++が
必要だったり。。。と、いろいろ大事なので、メモメモ
■前提
・Pythonの3が入っている
■インストール
(1)Visual C++ 2015 Build Tools
http://landinghub.visualstudio.com/visual-cpp-build-tools
が入っていなかったら、上記URLにいき、
ダウンロード&インストール(Orange3のインストールで使う)
(2)必要なものをpipでインストール
pip install numpy
pip install pandas
pip install orange3
を実行する
(pip install orangeとすると、エラーになってインストールできない)
(3)さらに(Orange3には、Association分析が入っていないようなので)
Python でアソシエーション分析 - Orange3-Associate
http://fits.hatenablog.com/entry/2018/01/09/211900
にある手順で,Orange3-Associateを入れる。具体的には、以下のコマンド実行
そうしたら、そこにorangecontribというフォルダができるから、
そのフォルダをPythonのLibの中に入れる(自分の場合
C:\Users\USER\AppData\Local\Programs\Python\Python36-32\Lib
に入れた)
■プログラムファイルを作成する。
日本語が入っていたら、UTF-8で保存する。
プログラムは、以下の通り
上記ソースは、基本的に上述の「Python でアソシエーション分析 - Orange3-Associate」
を踏襲して書いている。
これをhello.pyという名前で保存する。
■データファイルを用意する
1レコード1トランザクション(=1レシート、1バスケット)として、
トランザクション内(レシート内、バスケット内)にある各商品をカンマで区切って
ファイル出力したものを、拡張子.basketとして保存する。
今回は、「Rでのアソシエーション分析」で読み込んだデータGroceriesを、
write(Groceries,file="source.basket",sep=",")
として書き出したものを、利用する。
それが、上記プログラムの
tbl = Orange.data.Table("C:\\Users\\USER\\Desktop\\flask\\source.basket")
のところ
■実行する
python hello.py
こんなかんじ
Rでのアソシエーション分析
http://blog.goo.ne.jp/xmldtp/e/25c3a84112cc266cd399dd96bf41f21a
を書いたけど、Pythonの3でやると、どうなるのかについてのメモ。
基本的にOrangeをつかうんだけど、Python3用のOrangeであるOrange3には、
アソシエーション分析が入っていない。そこで、それを作っている人
から、githubでとってくるんだけど、Orange3を入れるのにVisual C++が
必要だったり。。。と、いろいろ大事なので、メモメモ
■前提
・Pythonの3が入っている
■インストール
(1)Visual C++ 2015 Build Tools
http://landinghub.visualstudio.com/visual-cpp-build-tools
が入っていなかったら、上記URLにいき、
ダウンロード&インストール(Orange3のインストールで使う)
(2)必要なものをpipでインストール
pip install numpy
pip install pandas
pip install orange3
を実行する
(pip install orangeとすると、エラーになってインストールできない)
(3)さらに(Orange3には、Association分析が入っていないようなので)
Python でアソシエーション分析 - Orange3-Associate
http://fits.hatenablog.com/entry/2018/01/09/211900
にある手順で,Orange3-Associateを入れる。具体的には、以下のコマンド実行
git clone https://github.com/biolab/orange3-associate.git cd orange3-associate python setup.py install |
そうしたら、そこにorangecontribというフォルダができるから、
そのフォルダをPythonのLibの中に入れる(自分の場合
C:\Users\USER\AppData\Local\Programs\Python\Python36-32\Lib
に入れた)
■プログラムファイルを作成する。
日本語が入っていたら、UTF-8で保存する。
プログラムは、以下の通り
import Orange from orangecontrib.associate.fpgrowth import * tbl = Orange.data.Table("C:\\Users\\USER\\Desktop\\flask\\source.basket") X, mapping = OneHot.encode(tbl) itemsets = dict(frequent_itemsets(X, 5)) rules = association_rules(itemsets, 0.7) stats = rules_stats(rules, itemsets, len(X)) def decode_onehot(d): items = OneHot.decode(d, tbl, mapping) return list(map(lambda v: v[1].name, items)) for s in sorted(stats, key = lambda x: x[6], reverse = True): lhs = decode_onehot(s[0]) rhs = decode_onehot(s[1]) support = s[2] confidence = s[3] lift = s[6] print(f"lhs = {lhs}, rhs = {rhs}, support = {support}, confidence = {confidence}, lift = {lift}") |
上記ソースは、基本的に上述の「Python でアソシエーション分析 - Orange3-Associate」
を踏襲して書いている。
これをhello.pyという名前で保存する。
■データファイルを用意する
1レコード1トランザクション(=1レシート、1バスケット)として、
トランザクション内(レシート内、バスケット内)にある各商品をカンマで区切って
ファイル出力したものを、拡張子.basketとして保存する。
今回は、「Rでのアソシエーション分析」で読み込んだデータGroceriesを、
write(Groceries,file="source.basket",sep=",")
として書き出したものを、利用する。
それが、上記プログラムの
tbl = Orange.data.Table("C:\\Users\\USER\\Desktop\\flask\\source.basket")
のところ
■実行する
python hello.py
こんなかんじ
たとえば、ITなどは、文系の人が就職しているように、
研究者として就職するのでなければ、
あんまり、学部学科って、関係ないと思う。
そして、大学院を出た人を、募集はしているのよね
(テクノプロ R&Dとか、とめ研究所とか)
ただ研究者の人は、そういうところに勤めようとは考えない。
また、学部学生の卒業者のように、専門関係なしに勤めようとは思わない。
雇用のミスマッチなのよね・・・
【くわしくは】
光と影~31歳教授誕生と36歳任期付き助教の研究不正からみえるもの
https://news.yahoo.co.jp/byline/enokieisuke/20180124-00080798/
研究者として就職するのでなければ、
あんまり、学部学科って、関係ないと思う。
そして、大学院を出た人を、募集はしているのよね
(テクノプロ R&Dとか、とめ研究所とか)
ただ研究者の人は、そういうところに勤めようとは考えない。
また、学部学生の卒業者のように、専門関係なしに勤めようとは思わない。
雇用のミスマッチなのよね・・・
【くわしくは】
光と影~31歳教授誕生と36歳任期付き助教の研究不正からみえるもの
https://news.yahoo.co.jp/byline/enokieisuke/20180124-00080798/
技術は職人の神秘を科学に還元して、誰もが手軽に使えるようにしていく。
【引用元(太字は引用)】
Alpha Zeroの衝撃と技術的失業
https://note.mu/issei_y/n/nf95db8205da3
【引用元(太字は引用)】
Alpha Zeroの衝撃と技術的失業
https://note.mu/issei_y/n/nf95db8205da3
「あまり早いと盛り上がらなくなる」
いや、そういう問題じゃないから、
盛り上げなくていいから・・・
【引用元(太字は引用)】
新元号の発表はいつになるのか…。現役SE「システム屋を殺す気か」と悲鳴
http://www.huffingtonpost.jp/2018/01/23/new-gengou_a_23341471/
いや、そういう問題じゃないから、
盛り上げなくていいから・・・
【引用元(太字は引用)】
新元号の発表はいつになるのか…。現役SE「システム屋を殺す気か」と悲鳴
http://www.huffingtonpost.jp/2018/01/23/new-gengou_a_23341471/
いろいろ書いてあるサイトがあるんだけど、
Rのパッケージには、Groceriesっていうバスケット分析用の
データが入っているので、簡単にやるのなら、以下のコマンドだけでいい。
ここで指定してる、support(支持率)、confidence(確信度)について、くわしくは
http://sinhrks.hatenablog.com/entry/2014/12/12/081841
最後の
inspect(rules[1:100])
で、1位から100位までを表示している。[1:100]を入れないと、最後のほうしか見れない。
ファイルに書き出すには、
write(rules,file="data.csv", sep=",", col.names=NA)
なお、
write(Groceries,file="source.csv",sep=",")
とすると、サンプルデータGroceriesが書き出せる。これは、1レコード1バスケット内の商品の羅列になっている。
この形式のファイルを読みだすには、
# スーパーマーケットの買い物かごのデータをトランザクションとして読み込む
tranPosData <- read.transactions(posData, sep=",", rm.duplicates=TRUE)
詳しくは(引用元)https://qiita.com/uchim/items/8a532945a1fb2f068b5a
レコード形式を、この形式に変換するには
#トランザクションデータに変換
data.tran<-as(as.matrix(df[2:(ncol(df)]),”transactions”)
詳しくはhttps://www.gixo.jp/blog/3920/
Rのパッケージには、Groceriesっていうバスケット分析用の
データが入っているので、簡単にやるのなら、以下のコマンドだけでいい。
install.packages("arules") library(arules) data(Groceries) rules <- apriori(Groceries, parameter = list(support = 0.005, confidence = 0.01)) inspect(rules[1:100]) |
ここで指定してる、support(支持率)、confidence(確信度)について、くわしくは
http://sinhrks.hatenablog.com/entry/2014/12/12/081841
最後の
inspect(rules[1:100])
で、1位から100位までを表示している。[1:100]を入れないと、最後のほうしか見れない。
ファイルに書き出すには、
write(rules,file="data.csv", sep=",", col.names=NA)
なお、
write(Groceries,file="source.csv",sep=",")
とすると、サンプルデータGroceriesが書き出せる。これは、1レコード1バスケット内の商品の羅列になっている。
この形式のファイルを読みだすには、
# スーパーマーケットの買い物かごのデータをトランザクションとして読み込む
tranPosData <- read.transactions(posData, sep=",", rm.duplicates=TRUE)
詳しくは(引用元)https://qiita.com/uchim/items/8a532945a1fb2f068b5a
レコード形式を、この形式に変換するには
#トランザクションデータに変換
data.tran<-as(as.matrix(df[2:(ncol(df)]),”transactions”)
詳しくはhttps://www.gixo.jp/blog/3920/