Hatena::ブログ(Diary)

arupaka-_-arupakaの日記

2017-10-09

google trend データの収集

(1)python を導入 参考:https://qiita.com/yuta_h3/items/2988c4d0811bf8c344c0

git clone git://github.com/yyuu/pyenv.git ~/.pyenv

~/.bash_profile に以下を書きこむ

export PYENV_ROOT="${HOME}/.pyenv"

if [ -d "${PYENV_ROOT}" ]; then

export PATH=${PYENV_ROOT}/bin:$PATH

eval "$(pyenv init -)"

fi

設定の読み込み

source ~/.bash_profile

インストールできる一覧を確認

pyenv install --list

バージョンを指定してインストール

pyenv install 3.6.3

そのディレクトリ以下でバージョンをデフォルトに。

pyenv local 3.6.3

(2)pytrendの導入

pytrends でできる。

pip install pytrends

あとは、git の exampleをみるとOK

*日本語をやるときは、ロケールに注意。プリントできなくてとまる。

*URLエンコードは必要なし。

#--*-- encode: utf-8 --*--

from pytrends.request import TrendReq

import sys

# Login to Google. Only need to run this once, the rest of requests will use the same session.

pytrend = TrendReq()


pytrend.build_payload(kw_list=[u'駅', 'bagel'])

# Interest Over Time

interest_over_time_df = pytrend.interest_over_time()

print(interest_over_time_df)

~

2017-10-05

windows7でグループポリシー(管理者によって)禁止されたタスクマネージャーを復帰させる

windows7でグループポリシー(管理者によって)禁止されたタスクマネージャーを復帰させる。

  • ローカルグループポリシーエディターを使用
    • 名前を指定して実行

Gpedit.msc

を起動し、管理者テンプレート→システム→CTL+ALT+DELオプションタスクマネージャーを削除する→未構成に

http://www.atmarkit.co.jp/fwin2k/win2ktips/943taskmgrblock/taskmgrblock.html

https://msdn.microsoft.com/ja-jp/library/jj966254(v=ws.11).aspx

2017-10-04

selenium-webdriverを導入 javascriptのクローリング

https://qiita.com/yulily@github/items/c3edbe25e84280c17776

javascriptのクローリング

 gem install websocket-driver
 gem install selenium-webdriver
gem install poltergeist

http://shoprev.hatenablog.com/entry/2014/04/14/210529

クロームドライバーをとってくる。cygwin の場合windows

wget http://chromedriver.storage.googleapis.com/2.9/chromedriver_win32.zip

解答

unzip chromedriver_win32.zip

PATHの取ってるところにコピー

cp chromedriver.exe /usr/local/bin

cygwin でruby gems が実行できない

以下のエラーで

cygwinruby gems が実行できない

$ gem install selenium-webdriver

ERROR: Loading command: install (Fiddle::DLError)

can't load kernel32

ERROR: While executing gem ... (NoMethodError)

undefined method `invoke_with_build_args' for nil:NilClass

cygwinバグなので以下のシンボリックリンクで回避。

ln -s /cygdrive/c/Windows/System32/kernel32.dll /usr/lib/kernel32

gem install selenium-webdriver

https://superuser.com/questions/1093954/gem-not-working-in-cygwin

2017-09-12

Rでレコードリンケージ データ紐付け データ融合

とりあえずの例 RecordLinkage パッケージ

チュートリアル

https://journal.r-project.org/archive/2010-2/RJournal_2010-2_Sariyar+Borg.pdf

マニュアル

https://cran.r-project.org/web/packages/RecordLinkage/RecordLinkage.pdf

わかりやすい例

> library(RecordLinkage)

> namae<-c("ドラえもん","ピカチュウ","しんのすけ")

> jyuusyo<-c("東京","大阪","東京")

> d1<-data.frame(namae,jyuusyo)

> namae2<-c("ドラえもね","ピカチュウ","しんのすけ")

> jyuusyo2<-c("東京","大阪","大阪")

> d2<-data.frame(namae2,jyuusyo2)

>

>

> rpairs<-compare.linkage(d1,d2,strcmp=TRUE)

> rr<-(epiWeights(rpairs))

> results<-epiClassify(rr,0.55)

> getPairs(rr)

id namae jyuusyo Weight

1 2 ピカチュウ 大阪

2 2 ピカチュウ 大阪 1.0000000

3

4 1 ドラえもん 東京

5 1 ドラえもね 東京 0.9732683

6

7 3 しんのすけ 東京

8 1 ドラえもね 東京 0.6881297

9

10 3 しんのすけ 東京

11 3 しんのすけ 大阪 0.6682935

12

13 1 ドラえもん 東京

14 3 しんのすけ 大阪 0.3564232

15

16 1 ドラえもん 東京

17 2 ピカチュウ 大阪 0.3475126

18

19 2 ピカチュウ 大阪

20 1 ドラえもね 東京 0.3475126

21

22 2 ピカチュウ 大阪

23 3 しんのすけ 大阪 0.3317065

24

25 3 しんのすけ 東京

26 2 ピカチュウ 大阪 0.00000


>library(RecordLinkage)

> kudamono<-c("apple","orange","apple")

> no<-c(1,2,1)

> d1<-data.frame(kudamono,no)

> kudamono2<-c("apple","orange","applo")

> no2<-c(1,2,1)

> d2<-data.frame(kudamono2,no2)

> rpairs<-compare.linkage(d1,d2,strcmp=TRUE)

> rr<-(epiWeights(rpairs))

> summary(rr)

Linkage Data Set

3 records in data set 1

3 records in data set 2

9 record pairs

0 matches

0 non-matches

9 pairs with unknown status


Weight distribution:

[0.2,0.4] (0.4,0.6] (0.6,0.8] (0.8,1]

4 0 0 5

> results<-epiClassify(rr,0.55)

> summary(results)

Linkage Data Set

3 records in data set 1

3 records in data set 2

9 record pairs

0 matches

0 non-matches

9 pairs with unknown status


Weight distribution:

[0.2,0.4] (0.4,0.6] (0.6,0.8] (0.8,1]

4 0 0 5

5 links detected

0 possible links detected

4 non-links detected

Classification table:

classification

true status N P L

<NA> 4 0 5

>

> getPairs(rr)

id kudamono no Weight

1 1 apple 1

2 1 apple 1 1.0000000

3

4 2 orange 2

5 2 orange 2 1.0000000

6

7 3 apple 1

8 1 apple 1 1.0000000

9

10 1 apple 1

11 3 applo 1 0.9508455

12

13 3 apple 1

14 3 applo 1 0.9508455

15

16 1 apple 1

17 2 orange 2 0.3550045

18

19 2 orange 2

20 1 apple 1 0.3550045

21

22 3 apple 1

23 2 orange 2 0.3550045

24

25 2 orange 2

26 3 applo 1 0.2799074

27

> getPairs(rr,max.weight=1,min.weight=0.9)

id kudamono no Weight

1 1 apple 1

2 1 apple 1 1.0000000

3

4 2 orange 2

5 2 orange 2 1.0000000

6

7 3 apple 1

8 1 apple 1 1.0000000

9

10 1 apple 1

11 3 applo 1 0.9508455

12

13 3 apple 1

14 3 applo 1 0.9508455

15




library(RecordLinkage)

data(RLdata500)

RLdata500[1:5,]

rpairs<-compare.dedup(RLdata500,identity=identity.RLdata500)

rpairs$pairs[1:5,]

ブロッキング:それらの列が一致しているものしか比較しない。

1列目と5列目(苗字)から7列目(誕生日)

rpairs<-compare.dedup(RLdata500,blockfld=list(1,5:7), identity=identity.RLdata500)

rpairs$pairs[c(1:3,1203:1204),]

id1 id2 fname_c1 fname_c2 lname_c1 lname_c2 by bm bd is_match

1 1 174 1 NA 0 NA 0 0 0 0

2 1 204 1 NA 0 NA 0 0 0 0

3 2 7 1 NA 0 NA 0 0 0 0

1203 448 497 1 NA 0 NA 0 0 0 0

1204 450 477 1 NA 0 NA 0 0 0 0

チェック。名前だけの一致しか調べてないような。。

> (RLdata500)[c(1,2,7,174,204,448,450,477,497),]

fname_c1 fname_c2 lname_c1 lname_c2 by bm bd

1 CARSTEN <NA> MEIER <NA> 1949 7 22

2 GERD <NA> BAUER <NA> 1968 7 27

7 GERD <NA> SCHAEFER <NA> 1967 8 1

174 CARSTEN <NA> SCHMITT <NA> 2001 6 27

204 CARSTEN <NA> BRANDT <NA> 1938 1 14

448 SABINE <NA> OTTO <NA> 1940 7 23

450 SABINE <NA> HARTMANN <NA> 1943 6 16

477 SABINE <NA> ENGEL <NA> 1956 8 25

497 SABINE <NA> SCHNEIDER <NA> 1953 5 20

確率的 レコードリンケージ

> rr<-epiWeights(rpairs)

> summary(rr)

Deduplication Data Set

500 records

1221 record pairs

49 matches

1172 non-matches

0 pairs with unknown status


Weight distribution:

[0.15,0.2] (0.2,0.25] (0.25,0.3] (0.3,0.35] (0.35,0.4] (0.4,0.45] (0.45,0.5]

1011 0 89 30 29 8 7

(0.5,0.55] (0.55,0.6] (0.6,0.65] (0.65,0.7] (0.7,0.75] (0.75,0.8]

1 14 19 10 2 1

マッチングをとりだす

l(getPairs(rpairs,0.6,0.5))

id fname_c1 fname_c2 lname_c1 lname_c2 by bm bd Weight

3658 480 SUSANNE <NA> RICHTER <NA> 1955 11 27

3659 490 SUSANNE <NA> KLEIN <NA> 1960 3 15 <NA>

3660

3661 481 SUSANNE <NA> KLEIN <NA> 1969 3 15

3662 490 SUSANNE <NA> KLEIN <NA> 1960 3 15 <NA>

3663

> tail(getPairs(rr,0.6,0.5))

id fname_c1 fname_c2 lname_c1 lname_c2 by bm bd Weight

40 402 CHRISTA <NA> SCHWARZ <NA> 1965 7 13

41 462 CHRISTAH <NA> SCHWARZ <NA> 1965 7 13 0.5924569

42

43 388 ANDREA <NA> WEBER <NA> 1945 5 20

44 408 ANDREA <NA> SCHMIDT <NA> 1945 2 20 0.5067013

45

まとめ

results<-(epiClassify(rr,0.55))

> summary(results)

Deduplication Data Set

500 records

1221 record pairs

49 matches

1172 non-matches

0 pairs with unknown status


Weight distribution:

[0.15,0.2] (0.2,0.25] (0.25,0.3] (0.3,0.35] (0.35,0.4] (0.4,0.45] (0.45,0.5]

1011 0 89 30 29 8 7

(0.5,0.55] (0.55,0.6] (0.6,0.65] (0.65,0.7] (0.7,0.75] (0.75,0.8]

1 14 19 10 2 1

46 links detected

0 possible links detected

1175 non-links detected

alpha error: 0.061224

beta error: 0.000000

accuracy: 0.997543

サクラのVPSの初期設定

http://nomnel.net/blog/sakura-vps-first-steps/

さくらVPS スタートアップガイド

https://help.sakura.ad.jp/hc/ja/articles/206208181

ログイン

passwd

useradd username

その後、パスワードの設定。

passwd sakura

  • sudo 可能に設定

usermod -G wheel sakura

visudo

で設定。

## Allows people in group wheel to run all commands

# %wheel ALL=(ALL) ALL

→## Allows people in group wheel to run all commands

%wheel ALL=(ALL) ALL

コメントアウトはずす。

鍵認証にする

yum update

  • ファイアーウォールの設定

iptables -L

https://help.sakura.ad.jp/hc/ja/articles/206208181

参考


http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/linux/h_07-02.html

/etc/hosts で親ノードに子ノードIPと名前を設定していく。

ruby 2.3.1をCentOS7に導入する。

http://qiita.com/Fendo181/items/d14ebfb148223c8e5ecb

を参考に

とりあえず以下を導入

ruby -v

ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]

sudo yum install -y openssl-devel readline-devel zlib-devel

sudo yum install git

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile

echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

source ~/.bash_profile

  • rubybuild の導入

git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

cd ~/.rbenv/plugins/ruby-build

sudo ./install.sh

  • 確認

rbenv -v

rbenv install -l

rbenv install 2.3.1

rbenv rehash

rbenv global 2.3.1

  • 確認

ruby -v


  • vim の設定

~/.vimrcに書く

:set encoding=utf-8

:set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8

:set fileformats=unix,dos,mac

2017-05-21

Rでスペクトル解析

Rでスペクトル解析。

正弦波以外の周期をもった波が倍音が出力されることに注意

例1)正弦波 30日周期

x<-sin((1:3000)/30*2*pi)

plot(x)

spec.pgram(x,c(10,10))


例2)30日周期のイベント(倍音がでる)

x<-rep(c(rep(0,30)+3*dnorm(1:30,mean=15,sd=2)),100)

plot(x)

spec.pgram(x,c(10,10))

https://jp.mathworks.com/help/signal/examples/practical-introduction-to-frequency-domain-analysis.html

https://jp.mathworks.com/help/signal/examples/analyzing-harmonic-distortion.html