Taka-Coma's Blog

http://taka-coma.pro/

OpenNE を Python から使う

OpenNE は Network embedding の様々な手法をまとめたパッケージです.

github.com

Github のマニュアルには,コマンドラインからの使用方法しか書いてなかったので, Python プログラムから使う方法をまとめます.

from openne.graph import Graph
from openne.node2vec import Node2vec

graph = Graph()
graph.read_adjlist(adjlist_file)

model = Node2vec(graph, path_length=50, num_paths=10, dim=100)
model.save_embeddings(model_file)

他の手法には固有のパラメータがあるので, 各ソースコードを見て引数を設定すると使えます.

Install graph-tool onto CentOS 7

yum install centos-release-scl
yum install devtoolset-8-gcc devtoolset-8-gcc-c++
scl enable devtoolset-8 -- bash
export CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:/usr/include/python3.6m"
./bootstrap.sh --with-libraries=python --with-python=python3 --with-python-version=3.6
./b2 -j20
./b2 install -j20
  • expat XML library
yum install expat expat-devel
  • CGAL C++ geometry library
yum install CGAL CGAL-devel
  • cairomm
yum install caairomm cairomm-devel
pip3 install pycairo
  • sparsehash
    • “--with-sparsehash-prefix=google” is required at configure command
yum install sparsehash-devel
pip3 install sparsehash
  • Configuration
./configure PYTHON=/usr/bin/python3.6 --with-sparsehash-prefix=google CPPFLAGS="-I/usr/include/python3.6m/boost"
  • Make
make
make install

Mittens - Glove fine tuning

pip install mittens
  • make dictionary from pre-trained GloVe model
import csv
import numpy as np

def glove2dict(glove_filename):
    with open(glove_filename) as f:
        reader = csv.reader(f, delimiter=' ', quoting=csv.QUOTE_NONE)
        embed = {line[0]: np.array(list(map(float, line[1:])))
                for line in reader}
    return embed
  • Vocabulary construction / cooccurrence matrix construction
vocab = list(pre_embedding.keys())
cooccurrences = termCooccurrence(vocab)
  • Train Mittens model
mittens_model = Mittens(n=300, max_iter=1000)
tuned_embedding = mittens_model.fit(
    cooccurrences,
    vocab=vocab,
    initial_embedding_dict=pre_embedding
)   

不均衡データ @ Kaggle

Kaggle のデータセットから分類問題における不均衡データに使えそうなデータを集計しました.

下記記事は UCI リポジトリ版. taka-coma.hateblo.jp

不均衡データ @ UCI リポジトリ

UCI の機械学習データリポジトリから分類問題における不均衡データを一部集計しました.

Regression や時系列データは含まれていません.

論文メモの公開

ronbun-memo.hateblo.jp

論文をサーベイするときに当たりをつけるためのメモを公開しています.

基本的に概要を読んで内容が面白いかを判断するので, 概要の内容をまとめています. 概要だけではよくわからない場合には,序論も多少読みます.

読む論文のあたりをつけるのに利用してもらえるといいかなと思っています.

人工知能研究振興財団研究費助成・採択

研究助成申請の3つ目でようやく採択をもらいました!

公益財団法人 人工知能研究振興財団

今回の助成の倍率は5.8倍でした. 依然として高い倍率ですが,なんとか採択されました.

テーマは「グラフデータ分析のための特徴分析に関する研究開発」で, グラフデータ分析をする際に利用する特徴を分析し, グラフデータ分析研究の発展に寄与するものです.

私のホームページに申請書と交付伝達式で用いた研究説明資料がありますので, 必要な方はご自由に参照してください.

http://taka-coma.pro/grants.html