勉強したこと 20171107
だいぶん期間が空いてしまった。
が、再開。
今回は、統計学入門−第1章 は一旦おいておいて、Graph DBについてと決定木についてをまとめる。
Graph DBとは
ノードとリレーション、プロパティでネットワーク構造を記録する事ができるDB。
NoSQLの一種。
RDBだと、例えば、ある程度規模が大きくなっても、友人の友人くらいまでならなんとか計算可能だが、友人の友人の友人や、さらに先のつながりを検索しようとすると、莫大な計算時間がかかってしまい、非現実的。
だけれど、DB上につながりの状態で保存できていれば、ノードとリレーションを組み合わせた、パスで高速に検索が可能。
Neo4j
今回使ってみたのはNeo4j
クエリ言語のCypherを使う。
全部取得
```
MATCH (n) RETURN (n)
```
パスで検索
```
MATCH ( n1: Person{name: 'hogehgoe'} ) - [r1:LIKE]-> (n2: Food {name: 'Apple'})
RETURN (n1)-[r1]->(n2)
```
のように書く。
決定木(ディシジョン・ツリー)
分類を行うためのルールを作成する方法。
説明変数の値をどうわけたら、分類がうまくいくかを学習してくれる仕組み。
可視化が可能で、比較的結果の理解がしやすい。
が、木が大きくなりすぎると、それでも難しい。