St_Hakky’s blog

Data Science / Human Resources / Web Applicationについて書きます

Python

【初めてのABEJA Platform】ABEJA Platformを使ってコード0行でresnet50のモデルをデプロイしてみる

こんにちは。この記事は、ABEJA Platform Adevent Calendarの2日目の記事です。今回は、現在会社で利用しているサービスであるABEJA Platformを使って、学習したモデルをデプロイしてみましたので、そのやり方をまとめます*1。qiita.com ABEJA Platformとは …

【matplotlib】x軸のラベルを回転させる

こんにちは。毎回調べてしまうものシリーズ。今日は、x軸のラベルを回転させる方法についてのメモ。 x軸のラベルを回転させる plt.xticks(rotation=70) 他にもやり方はあるけど、簡単にやるにはこれで十分。以上。 参考 python - Date ticks and rotation in…

【matplotlib】Jupyter Notebook上での画像のサイズを大きくする

こんにちは。いつも忘れるので、メモ。 Jupyter Notebook上で画像のサイズを大きくする 以下のコードで大きくできます。 from pylab import rcParams rcParams['figure.figsize'] = 20,10 以上。

決定木の可視化ライブラリ「dtreeviz」が凄かったのでまとめる

こんにちは。決定木の可視化といえば、正直scikit-learnとgraphvizを使うやつしかやったことがなかったのですが、先日以下の記事をみて衝撃を受けました。そこで今回は、以下の解説記事中で紹介されていたライブラリ「dtreeviz」についてまとめます。explain…

【Python】Jupyter notebookのWarningを消す

こんにちは。Jupyter NotebookでWarningを見たくない時のコードを毎回調べちゃうのでメモ。 Warningを消す import warnings warnings.filterwarnings('ignore') 以上

【Python】線分交差判定のプログラムを書いた

こんにちは。仕事で「2つの線分が交差しているかどうか」を判定するプログラムを書いたのでその備忘録として書いておきます。 2つの線分が交差しているとは 2つの線分が交差しているとは、こちらのサイトによれば、 点A,Bを通る直線が線分CDと交差し、かつ …

pipでキャッシュを無効にしてインストール

こんにちは。pipでキャッシュを無効にしてインストールするコマンドを久しぶりに仕事で見かけて、調べちゃったので、簡単にメモします。 キャッシュの無効化 キャッシュを無効にするには --no-cache-dir というオプションをつけるとできます。 $ pip install…

【Python】Jupyter Notebookをssh経由で利用する

こんにちは。いつも調べちゃうことをメモ化することに決めた私です。今日は、Jupyter Notebookをssh経由で利用する際の設定メモです。以下のコンテンツは、Anacondaがインストール済みという前提の元作業を行なっています。 リモートの設定 notebook_config.…

【Python】Pandasで行・列で表示する文字数を指定する

こんにちは。Jupyter Notebookなどで行や列を表示した際に、結構な行数を表示させようとした時などは、「・・・」のような形で省略されて表示されてしまうと思います。これは便利な一方で、省略せずに表示してほしい場合などもあると思います。その際に、行…

【Python】loggingを複数ファイル・モジュール間で使う方法

こんにちは。今日は、loggingを複数ファイル・モジュール間で使う方法について調べたので、そのメモを書きます。ログの設定については下記に書いたので、今回は複数ファイル・モジュール間で使う方法についてだけ描きます。st-hakky.hatenablog.com やり方 …

pandas-datareader でデータをダウンロードしてみた

こんにちは。今日は、pandas-datareader を使ってデータを株価とか人口データをダウンロードしてみたので、そのことについてまとめます。 pandas-datareader とは Web上の様々なソースにアクセスできるライブラリ。か元々はPandasのライブラリの一つであった…

【Python】 Pandas-Profilingを使ってみた

こんにちは。最近Kaggleとかやっていて、EDAやるのめんどくさいとか思ったりしちゃったりした時に、ざくっと簡単に分析することができないかなぁと思って調べていたら「Pandas-Profiling」というものがあったので、実際に使ってみました。 本家のサイトなど …

【Python】時系列解析:Prophetで時系列解析してみたのでまとめる

こんにちは。最近、時系列解析が熱いですね!(ただ、仕事で使っているだけという笑)Rの方がまだ時系列解析のライブラリなどは揃っている感じはあります。Pythonでやろうと思うと、選択肢に上がってくるのは、statsmodelsなどもあると思いますが、今回はFaceb…

【Python】時系列解析:日本の休日を判定するライブラリ「jpholiday」を使ってみた

こんにちは。日本の時系列データを今仕事で扱っている関係もあり、日本の休日を判定する必要がありまして、判定するPythonのライブラリを調べて使って見ました。結構いろんなライブラリがあって、どれを使おうかなと迷ってしまうのですが、「jpholiday」とい…

【Python】functools.partial()で関数やメソッドの引数の一部を固定する部分適用を行う

こんにちは。最近、化粧のやり方とかを紹介するYoutuberを見て、「へぇー綺麗にできるもんだなぁ」って感心している私ですが、今日はfunctools.partial()の綺麗な使い方を見つけたので、その紹介をメモがてらしようと思います。 関数やメソッドの引数の一部…

【Python】ピアソンの相関係数をいろいろな方法で計算する方法まとめ(SciPy / Numpy / Pandas)

こんにちは。今日は題名の通り。色んな所で目にするピアソンの相関係数ですが、毎回実装の方法調べちゃうので、ピアソンの相関係数をいろんな方法で計算する方法をまとめておきたいと思います。 Pearsonの(積率)相関係数とは ピアソンの相関係数は、英語では…

【Python】実行時間を測定する方法まとめ

こんにちは。実行時間(処理時間)を計測したいことはよくあると思いますが、今回はPythonで実行時間を測りたいなってなった時の方法を、自分用にまとめておきたいと思います。※なんか章立ての粒度がばらばらになってしまった気がするが、細かいことは気にしな…

【Python】可視化ライブラリであるBokehのインストール

こんにちは。最近、Bokehを使っているんですが、そのインストールについて備忘録かねてメモしておきます。 環境 今回試している環境は、以下の通りです。 $ cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) Anacondaのインストール この手の…

自然言語処理する時に計算するJaccard係数をPythonで計算する方法まとめ

こんにちは。Jaccard係数についてPythonで実装する時にありそうなパターンをまとめてみました。また、自然言語処理の分野からJaccard係数についても調べました。 Jaccard係数 まず、Jaccard係数について説明して、その後実装の部分に入っていきます。 読み方…

データ分析とか学習回したりするときのPythonのログ出力について

こんにちは。もう少し勉強していきたいなと思うものの、こればっかり一生懸命になっているとあんまりコードを書く手が進まなくなるので、ぼちぼち勉強して行こうと思っているのが、ログ出力(笑)分析とかしていると、途中で学習が止まっていたり、思っていた…

【Python】数量データの正規化 ( 標準化 ) について

こんにちは。今回はデータの正規化についてです。いろんな文脈で様々な意味で使われている「正規化」っていう言葉ですが、今回は統計や機械学習で扱う数量のデータに対して行うことに絞り、まとめていきたいと思います。 Introduction データの正規化とは こ…

BitbucketでJupyter Notebookがレンダリングされるようになったらしいので、やってみた

こんにちは。今一緒にKaggleをやっているメンバーから、slackでレンダリングのサポートがされていることを聞いたので、やってみました(10/25には既に公開されていたのに知らなかったという笑)。 ◯Githubでは既にあるのに今までなかった… Bitbucketって便利な…

「異常検知と変化検知~機械学習プロフェッショナルシリーズ~」を読んで勉強会も開いて関連の情報とかも調べたのでまとめておく

こんにちは。※このエントリは、途中ですが資料の共有とかのため、突貫で体裁だけ整えて掲載しています。異常検知と変化検知の分野は、初心者なので、「こんな手法あるよ」とか「こんな論文面白いよ」とかあれば教えてほしいです。 読んだ本 最近某勉強会でい…

kerasでmultiple (複数の) 入力 / 出力 / 損失関数を扱う時のTipsをまとめる

こんにちは。 〇この記事のモチベーション Deep Learningで自分でモデルとかを作ろうとすると、複数の入力や出力、そして損失関数を取扱たくなる時期が必ず来ると思います。最近では、GoogleNetとかは中間層の途中で出力を出していたりするので、そういうの…

【Python3】 functools.reduceの使い方

こんにちは。python2では標準の関数として実装されていたreduce関数ですが、python3では、functoolsのモジュールからインポートしないと使用できないようになりました。今回はこのreduceについてまとめます。 ◯reduce関数とは reduceの主な目的は、複数の値…

[Python] reprlibを使って出力文字列の長さを制限する

こんにちは。最近pythonを勉強していて、こうやって出力を返せば良いのかと納得したのがあったので、それについて紹介します。 ◯出力はしたいが、長さは制限したい debugとかをする際に、値の出力はしたいんだけど、その出力が長すぎるのもいやだみたいなと…

Pythonのクラスメソッド(class method)の定義の仕方とstaticmethodとの違い

こんにちは。今日は上の件について書きます。 ○クラスメソッド (class method) とは クラスメソッドとは、クラス内で定義されたメソッドで、インスタンス化しなくても呼び出すことができるメソッドのことです。これは、インスタンスではなくて、クラスそのも…

PandasのDataFrame / Seriesでリスト内の要素にマッチする or しない行 (row) だけ取り出す

こんにちは。今日はpandasのメモを。 〇やりたいこと listとかでよくやる以下みたいな判定をやりたいんです。 list_data = [1,2,3,4,5] if 1 in list_data: print('あります') else: print('ありませんでした') このような、in演算子を用いて、リスト内に含…

chardetを使って文字コードを判定する

こんにちは。今日は文字コードの判定について書きます。 ◯文字コードの識別 もう基本UTF-8にしろよって感じなんですけど、たまにアップロードされたファイルの文字コードがなにか知りたいとかっていうシーンがあります。今回はそれをPythonでやろうというも…

keras(tensorflow/theano/cntk)でGPUをnvidia-dockerから使ってみた (+αでLasagneも入れた&Dockerfileも作った)

こんにちは。今回は、主にDeep LearningをGPUで実行できる環境をDockerで作ってみました。主に入れたものは以下のものです。 keras=2.0.8 tensorflow_gpu=1.3.0 theano=0.10.0beta3 # 特定のチャンネル内に存在するパッケージ。理由は下記参照。 cntk=2.1 la…