勉強したこと 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)

```

のように書く。

 

決定木(ディシジョン・ツリー)

分類を行うためのルールを作成する方法。

説明変数の値をどうわけたら、分類がうまくいくかを学習してくれる仕組み。

可視化が可能で、比較的結果の理解がしやすい。

が、木が大きくなりすぎると、それでも難しい。