Skip to content

Instantly share code, notes, and snippets.

View AnchorBlues's full-sized avatar

Yu Umegaki AnchorBlues

View GitHub Profile
@AnchorBlues
AnchorBlues / dict_vs_XXX.py
Created May 19, 2021 02:34
辞書の代わりに用いることが出来るオブジェクト比較
from collections import namedtuple
from typing import NamedTuple
from dataclasses import dataclass, asdict
# Python 3.7.3 で検証
D = namedtuple('D', ('a', 'b', 'c'))
# 一部のメンバだけデフォルト値指定、というのができない? また、mypyに怒られる(正式な書き方じゃない?)。
D.__new__.__defaults__ = (1, None, 0)
@AnchorBlues
AnchorBlues / read_json__normalize.py
Created May 14, 2021 03:09
jsonファイルを読み込んでpandasのDataFrameを返すスクリプト
from pandas import json_normalize
import json
def read_json__normalize(json_file, add_key_category: bool = True):
"""
jsonファイルを読みこんでpandasのテーブル形式で返す
出力されるテーブルの各列の意味は以下の通り
* key_category : キーが階層的になっている場合、その一番上の階層での文字列
* key : キー
@AnchorBlues
AnchorBlues / utils_yaml.py
Created March 31, 2021 05:12
yaml形式で記述した設定ファイルの読み込みを行う関数
from typing import Dict, Any
import yaml
def read_setting_file(setting_file_path: str) -> Dict[str, Any]:
"""
設定ファイルの読み込みを行う関数
"""
with open(setting_file_path, mode='r', encoding='utf-8') as f:
settings = yaml.safe_load(f)
@AnchorBlues
AnchorBlues / train_lgb_with_hyperopt.py
Created October 3, 2020 11:43
LightGBMをhyperopt用いてハイパラチューニングし最良のモデルを保存するスクリプト
import os
from typing import Dict, List, Tuple, Any, Callable, Optional, Union, TypeVar
from pandas.core.frame import DataFrame as DF
from pandas.core.series import Series as S
from numpy import ndarray as ARR
from pathlib import Path
import pickle
import json
import numpy as np
@AnchorBlues
AnchorBlues / stan_model.py
Last active May 17, 2020 01:07
stanファイルが更新されていたときのみ、コンパイルをし直すような機構を実装する
import os
import hashlib
import dill
from pystan import StanModel
def textfile2hash(filename):
"""
テキストファイルの内容からハッシュ値を計算する
"""
@AnchorBlues
AnchorBlues / train_model__only_argparse.py
Last active September 27, 2019 00:28
機械学習のモデル学習スクリプトでよく使うargpase
if __name__ == '__main__':
import argparse
# https://github.com/nn116003/self-attention-classification/blob/master/imdb_attn.pyより
parser = argparse.ArgumentParser(description='PyTorch IMDB Example')
parser.add_argument('--h-dim', type=int, default=32, metavar='N',
help='hidden state dim (default: 32)')
parser.add_argument('--emb_dim', type=int, default=100, metavar='N',
help='word embedding dim (default: 100)')
parser.add_argument('--batch-size', type=int, default=32, metavar='N',
help='input batch size for training (default: 32)')
import numpy as np
from sklearn.metrics import accuracy_score
from sklearn.externals import joblib
import torch
from torch import nn
import torch.nn.functional as F
from tensorflow.keras.datasets import mnist
from skorch import NeuralNet