KazuminEngine

プログラマーの日記

how to create visualized tree in weka

人工知能の講義でwekaで決定木をwekaで作って来いと言われたので、そのまとめー

まずは、brewでinstall

brew cask install weka

で、OKだと思う。

アプリケーションの中にwekaがあるからとりあえず起動。

どっかのディレクトリーに

test.arffなファイルを作って

下記のように書いて保存。

@relation rich

@attribute height {high,low}
@attribute color_of_hair {blond,dark,red}
@attribute color_of_eye {blue,brown}
@attribute class {+,-}

@data
low,blond,blue,+
high,dark,brown,-
high,dark,blue,-
high,red,blue,+
low,dark,blue,-
high,blond,brown,-
low,blond,brown,-
high,blond,blue,+
high,red,brown,-

wekaに移って、右上のexplorerをクリック f:id:kazuminkun:20151123200051p:plain

下記のようなwindowが表示されるので、左上のopen fileをクリック。 f:id:kazuminkun:20151123195101p:plain

test.arffを探して、openする。

左上にclassifyがあるのでクリック。

f:id:kazuminkun:20151123195101p:plain

左上のchoseボタンをクリックして、treeの中のj48をクリック。 で、supplied foldを9に設定。 f:id:kazuminkun:20151123195506p:plain

startボタンをクリックすると下に、何か追加されるので、そいつを右クリック。

f:id:kazuminkun:20151123195629p:plain

するとvisualize treeってのが表示されるので、そいつをクリックすると 木ができてる。

Perlでシーザー暗号

CTFやってるとシーザー暗号の問題があってネットからPerlコードをひらってきて使ったんだけど、 うまくいかなくて。書いた。

うまくいってるか微妙

ってか、Perlってこんなに楽しいんだ。

叫んでた(爆笑。

範囲の中をforで回せないかってやってなんとかできた。(できてるか知らない)

記号がうまくいかないけど、気にすんな。

あと、$shift消そう

ansibleのpingモジュールが見つからない。

$ansible 192.168.56.101  --private-key=/Users/kinoshita/.ssh/id_rsa.fedora2 -i hosts -m ping  --su-user=kazumin

を実行すると

FAILED => module ping not found in configured module paths

ってエラーが出たけど。pingモジュールが見つからないわけではない。多分、オプションのパースミスで「-m ping」の場所がミスってた。

$ansible 192.168.56.101  -m ping --private-key=/Users/kinoshita/.ssh/id_rsa.fedora2 -i hosts  --su-user=kazumin

なら怒られない。

こうゆうのは、結構あるので、疑うべき項目に追加だ。

epsへの変換方法

コマンドで、image formatをpngからepsにできちゃう。

これでmacのimage gui exportでepsの項目がないときにも、変換できます。(かなり便利)

$ convert setup_6.png setup_6.eps

setup_6.pngからsetup_6.epsに変換。

convertってなにー?ってなったら、manコマンドみようね。

$man convert

convert command is 
convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.

optionもかなりあって、便利そう・

ユーザーを作成して、rootでログインできないように

普通サーバーに対して、rootでログインできないように設定します。なんで、そんなことするのかと言うと、もし、悪い奴がrootでsshできてしまうと、なんでもできちゃうからです。つまり、セキュリティーを強化します。そのlog.

  • まずは、ユーザー作成。
$ useradd kazumin
  • 次に、password設定。
$ passwd kazumin

でkazuminユーザーに設定するパスワードを聞いてくるので入力。

これでユーザー作成できたー。と思いますが、

  • これじゃ、kazuminは、rootに上がれないので、その設定をします。

rootユーザーで

visudo

するとファイルが開く。80行目ぐらいに

root    ALL=(ALL)       ALL

ってのがあるので、その下に追加

root    ALL=(ALL)       ALL
kazumin    ALL=(ALL)       ALL

これを保存すると、rootに上がれるようになってます。

ここら辺は、virtualboxにfedora23betaをインストールする段階で指定しちゃえば、やらなくていいかもしれないが、 これぐらい一回やってみればいいよ。

  • 本題のsshの際にrootでログインできないようにする。

/etc/ssh/sshd_configを開いて

PermitRootLogin yes

ってのが50行目ぐらいにあるので

PermitRootLogin no

ってのに書き換える。

以上、かずみんでした。

Golangでmysqlを操作するライブラリgorp

golangのrevelをやろうとしたんだが、Mは、mysqlを操作するためにライブラリgorpを使わなくちゃいけないので、その勉強まとめ。

そもそも、mysqlクリエを直接打ち込んだことがないので、そっから始まった。ユーザー作成とか

$ mysql -u root

mysql起動

CREATE USER kazumin IDENTIFIED BY [PASSWORD] 'kazumin';

でkazuminユーザーを作成

GRANT ALL PRIVILEGES ON *.* TO 'kazumin'@'localhost';

でkazuminユーザーにALL PRIVILEGES権限を与える。

control+Dでmysql抜けて

$mysql -u kazumin -p

でさっき設定したパスワードを聞かれて、入れればオッケー

で、下のgolangスクリプトを実行すれば、kazuminがgorpデーターベースを作ってくれています。

テーブルとかは、後ほどやっていきます。

感想。

何もトラブルがなかったように書いてますが、RailsとかDjangoを使用していたので、正直MySQLを知らべるのに苦労しました。

特に、権限。権限与えたのに、permissionエラーが出た。

Host名が違う同じ名前のユーザーがいたのが、ツマせる原因だったみたいで、それを見つけるのに苦労しました。