St_Hakky’s blog

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

Python

【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…

pyenvメモ(Anaconda/virtualenvとの違いについても比較してみた)

こんにちは。私は圧倒的Anaconda派閥なのですが、ドキュメントにpyenvを使えというお達しがあったので、「郷に入っては郷に従え」の名のもとに、使います笑。存在や機能は知っていたのですが、正直真面目につかったことがなかったので、入門します。 ◯そもそ…

Pythonにおけるコーディングスタイルまとめ

こんにちは。pythonのコーディングスタイルについて調べてみたのでまとめました。 ○コーディングスタイルでやりたいこと コーディングスタイル(なんていうめんどくさいのもの)を考えてやりたいことは幾つかありますが、以下のところかと思います。 複数人で…

pythonでファイルとかディレクトリ操作【随時更新】

こんにちは。個人的によくつかうものとかを気づいたらまとめていこうかと思います。 ファイルの操作 〇ファイル名の取得 import ntpath file_name = os.path.basename("hoge/hoge.txt") # hoge.txt ◯ファイルの存在確認 import os path = "hoge/hoge.txt" os…

sqlalchemyのインストール

こんにちは。sqlalchemyをつかうことになったので、その環境のセットアップなどについてまとめました。 ◯環境 python3.5以上 Windows10 64bit / Centos7 ◯インストール ■pipからインストール pip install sqlalchemy ■condaからインストール conda install s…

SQLAlchemyを使っていて勉強したこととか便利なTipsとかをまとめた

こんにちは。SQLAlchemyを使っていてわかったこととか勉強になったことをまとめました。 ◯環境構築 以下の記事にまとめました。st-hakky.hatenablog.com ◯DatabaseのURLの指定方法 Databaseに接続するためにURLを指定する必要があるのですが、そのURLの指定…

AdaBoostについて調べたのでまとめる

こんにちは。今日はAdaBoostについて書きます。Boostingってそもそも何っていうのとか他のBoostingの手法については以下の記事をどうぞ。st-hakky.hatenablog.com AdaBoostとは AdaBoostは"Adaptive Boosting"の略でBoostingのアルゴリズムとしては最初に出…

Windowsで形態素解析ツールMecab入れるのが面倒だったので、Janome使ってみた

こんにちは。私の愛するMacがぶち壊れて、ここ最近Windowsで開発をしているのですが、MeCab入れるときの手順がもうクソめんどくさくて、「あぁ、、、またやるのかこれ、、、」ってなってたところに、Janomeと出会いました。笑調べている過程で知ったんですが…

Pythonで使う可視化ライブラリまとめ

こんにちは。PyCon2017のビデオを全部ではないですが、気になったタイトルのものだけ見ているんですけど、その中で面白いものをみつけたので紹介します。 PyCon2017:Python's Visualization Landscape Pythonにはめちゃめちゃ沢山の可視化ライブラリがあり…

Effective python シリーズ7:Use List Comprehensions Instead of map and filter

こんにちは。 ○読んでいる本 以下の本を勉強がてら読んでいます。www.effectivepython.comここにある通り、Pythonプログラムを改良する59項目が掲載されています。詳細は本に書かれているので、それを読めば良しとして、大事そうなところと、これに関連して…

Effective python シリーズ6:Avoid Using start, end, and stride in a Single Slice

こんにちは。 ○読んでいる本 以下の本を勉強がてら読んでいます。www.effectivepython.comここにある通り、Pythonプログラムを改良する59項目が掲載されています。詳細は本に書かれているので、それを読めば良しとして、大事そうなところと、これに関連して…

Effective python シリーズ5:Know How to Slice Sequences

こんにちは。少し日が空いてしまいましたが、今日も頑張る。 ○読んでいる本 以下の本を勉強がてら読んでいます。www.effectivepython.comここにある通り、Pythonプログラムを改良する59項目が掲載されています。詳細は本に書かれているので、それを読めば良…

Effective python シリーズ4:Write Helper Functions Instead of Complex Expressions

こんにちは。 ○読んでいる本 以下の本を勉強がてら読んでいます。www.effectivepython.comここにある通り、Pythonプログラムを改良する59項目が掲載されています。詳細は本に書かれているので、それを読めば良しとして、大事そうなところと、これに関連して…

Effective python シリーズ3:Know the Differences Between "bytes", "str", and "unicode"

こんにちは。ちょっと期間が空いてしまいましたが、今日も頑張る。 ○読んでいる本 以下の本を勉強がてら読んでいます。www.effectivepython.comここにある通り、Pythonプログラムを改良する59項目が掲載されています。詳細は本に書かれているので、それを読…

Effective python シリーズ2:Follow the PEP 8 Style Guide

こんにちは。 ○読んでいる本 以下の本を勉強がてら読んでいます。www.effectivepython.comここにある通り、Pythonプログラムを改良する59項目が掲載されています。詳細は本に書かれているので、それを読めば良しとして、大事そうなところと、これに関連して…