標準化と中心化

Pythonで標準化とか中心化はどうやってやるんだろうという話です.結論だけ書きます.(そのうち合間を見て加筆します)このページではこういうデータを使います 標準化 from scipy import stats x = df.iloc[:, 2:6].apply(stats.zscore, axis=0) x.head() …

バイアス-バリアンス分解の導出を真面目にやる

どうもです.只今,下記の書籍にを用いて勉強中です.応用をめざす 数理統計学 (統計解析スタンダード)作者: 国友直人出版社/メーカー: 朝倉書店発売日: 2015/08/25メディア: 単行本(ソフトカバー)この商品を含むブログを見るP118のあたりに推定の偏りの話…

Windows環境下でPython版のglmnetを使うとどうなるか?

夏のある日のこと, 私はLasso回帰を用いてあるデータを分析しようとしていた.glmnetを呼び出して実行したところ, x input must be a scipy float64 ndarray とエラーメッセージが帰ってきた.あれ?っと思ったけど,その日に扱っていたのは整数値だったこ…

StatsModelsとscikit-learnのElastic Net(Lasso回帰)を比較してみた

最近スパース推定の勉強会に参加しております.使っているテキストはこちら.スパース推定法による統計モデリング (統計学One Point)作者: 川野秀一,松井秀俊,廣瀬慧出版社/メーカー: 共立出版発売日: 2018/03/08メディア: 単行本この商品を含むブログを見る…

データフレームの各行の差を計算してグラフ化する:Pandas

やりたいことしては,タイトル通り『データフレームの各行の差を計算してグラフ化する』ことです.Pandasのデータフレームを用いて各列の時間差を計算してグラフに出力するということをやります.今回はTimedelta型を使っているのですが,データフレームの差…

Pandasデータフレーム内の複数の文字を「.str.split」を使って区切る

Pandas(@Python)のデータフレーム内のstringを複数の文字で区切りたい場合があります. 「.str.split」を使うのですが少し工夫が必要です. まぁ,簡単に言うと縦棒「|」で区切るわけですよ. import pandas as pd df = pd.DataFrame( {'Time': ['jt=10:00:…

ベイズ更新をやってみた!

3月の末にベイズ推定の勉強会に参加してきました! math-unknown.connpass.com この勉強会では単に講師の話を聞くだけではなく,みんなでワイワイディスカッションしながら進めるような形式で,グループ内の誰かが疑問に思ったことを後で調べることでより理…

ATOMをCドライブ以外にインストールする方法

ATOMってエディタがあって,これはでは「こいつはCドライブ以外にインストールできないのか?」と思っていましたが,ひょんなことからDドライブとかにもインストールできました. あるときATOMをインストールし直そうとすると「Installation has failed」と…

PandasとStatsModelsを使って重回帰分析をしてみた

Pythonで重回帰分析をやってみました多変量解析法入門 (ライブラリ新数学大系)作者: 永田靖,棟近雅彦出版社/メーカー: サイエンス社発売日: 2001/04/01メディア: 単行本購入: 2人 クリック: 9回この商品を含むブログ (1件) を見るこの文献のP43~86を参考を…

PyCharm:interpolaterの設定にまつわるエラー

年末年始にかけてPyCharmをインストールし直したら,エラーが出まくりました・・・ 自分が勉強不足のところもあるわけですが,直すのに時間が掛かりました. 色々試行錯誤したのでメモっておきます. ちなみにインストールしているバージョンは「Anaconda3-5…

Pandas:グループ毎に括って最大の値を含む列を抜き出す

PythonのライブラリーであるPandasを使って,「グループ毎に括って最大の値を含む列を抜き出す」方法のメモです.対象とするのはこんなデータ Sensor Time Value 0 T-A 10:00:00 25 1 T-B 10:00:01 30 2 T-C 10:00:02 104 3 T-B 10:00:03 52 4 T-C 10:00:04 …

Anacondaをインストールしようとすると「Failed to create Anaconda menus」と言われる

Anacondaをアップデートしたらおかしくなったので再インストールした.そしたら「Failed to create Anaconda menus」と言われてインストールできない.shirabeta.netアンインストールしてもフォルダが残っていたので削除したらインストールできたっぽい

Python:秒数が小数点以下のパース

Pandasでデータフレームに格納するときに,時間にナノ秒まで含まれている時のパースのやり方についてのメモ.対象とするのはこんなデータ. //file.csv 17:22:59.703371360,10 17:22:59.788956621,20 17:22:59.790719017,30 17:22:59.813919277,20 17:22:59.…

ランダム関数について

numpyランダム関数を色々使ってみました.まずはインポート In [1]: import numpy as np random()は0から1までの値が得られる In [10]: np.random.random() Out[10]: 0.45226808024834264 引数を入れると,入れた数字分の乱数が得られる In [12]: np.random.…

Jupyterでmatplotlibのメイリオを使うとしたらエラーが出た

表題のような現象が見られたので,次のように書き換えてみた import matplotlib import matplotlib.pyplot as plt plt.style.use('ggplot') # ggplotを使う matplotlib.rc('font', family='sans-serif')

移動平均を計算しようとすると「FutureWarning: pd.rolling_mean is deprecated for Series and will be removed in a future version, replace with ・・・」と出て来る

FutureWarning: pd.rolling_mean is deprecated for Series and will be removed in a future version, replace with ・・・ stackoverflow.com

特定の行・列を残す:Python,Numpy

Pandasで条件を指定して行・列を抜き出すやつが有ると思います.正式名称は分かりませんが,df[val>0]みたいなやつです.Numpyのarrayでおんなじことが出来るか試したので,メモ書きしておきます.まずはこんな感じで配列を作ります.そして1個飛ばしで列を…

Pythonでargmaxとかargmin

argmaxとargminについて書いてあるようなタイトルですが,本記事ではargmaxのみです.argminも使い方は同じなので書いてません. まずは配列を用意します. In [8]: import numpy as np In [9]: a = np.array([[1,2,3],[4,5,6],[7,8,9],[2,8,2]]) あとはご覧…

sum()とsum(1)は何が違うのか??:Python,NumPy

全部足すか列ごとに足すかの違いでした~ In [46]: import numpy as np In [47]: A=np.array([[ 2,4,6.], ...: [ 4,8,12.], ...: [ 6,12,18.]]) In [48]: A.sum() Out[48]: 72.0 In [49]: A.sum(1) Out[49]: array([ 12., 24., 36.])

カーネル関数の使い方:scikit-learn

Pythonのscikit-learnのカーネル関数を使ってみたので,メモ書きしておきます.いやぁ,今までJavaで一生懸命書いてましたが,やっぱりPythonだと楽でいいですねー. もくじ 最初に注意する点 線形カーネル まずは簡単な例から データが多次元だったら ガウ…

PyCharmの64Bitをインストールする

問題点 PyCharmをインストールしようとしたら32Bitのlauncherしか出ない. 解決方法 stackoverflow.com ここにも書いてあるように64BitのJDKをインストールする

Pandasでmatplotlibみたいに描画する

これまでPandasとmatplotlibを一緒に使う機会がなかったんですが,Pandasにも描画機能があります.しかもこれが結構便利!とうことで早速使ってみたので,ログとして残しておきます. import pandas as pd import pylab import matplotlib import matplotlib…

データフレームからarrayに変換:pandas numpy

機械学習のライブラリなどを使おうとすると,データフレーム型からnumpyのarray型にしないと引数として渡せない場合があります.このデータフレームからarrayに変換する方法は色々あるんですが,一番簡単なのはas_matrix()を使うことでしょうか. In [102]: …

Pathを通した先のファイルの読み書きがおかしくなる

teratailのフォーマットが見やすいので,真似して書いてみます. 前提・実現したいこと Pythonの3系を使っているのですが,どうやら開発環境のワークスペースを変えるとファイルを読むときにはワークスペースからパスを通さなくてはならないらしいです.なの…

Jupyter Notebookの設定を色々変えてみる

PythonといえばSpyderを使ったりJupyter Notebookをしてますが,Jupyter Notebookの方はフォントが気に入らなかったりします.そこでnbextensionsをつかって色々いじってみたんですが,忘れそうなのでこのブログにメモしておきます.ちなみにAnacondaはAnaco…

CSVファイルが読み込めない

症状 Spyderを使っていてCSVファイルが読み込めなくなる File b'ファイル名.csv' does not exist 原因 Spyderの設定でワークスペースを変えるとこうなる 対処 パスを通せば良い path = '++++\名前\' df = pd.read_csv(path + "dataset.csv",header = None) …

データの集約とグループ演算をやってみる Pandas

PythonのPandasを使っていると,例えば同じ名前の者同士を一括りにして,平均なり最大値を出したり,という処理を迫られることがあります.私自身,この間それを迫られた訳で,オライリーの本を読んで,どういう挙動を示すか色々試してみました.せっかくな…

Jupyter Notebookを立ち上げると,一瞬だけコンソール画面が出てから落ちる

Jupyter Notebookって何かとトラブル気がします. この記事を最初に書いたのは17年の冬ですが,その後違う原因のトラブルに見舞われたので,その時の対処方法をメモしておきます. 1.リンク先に「%HOME%」のような変な値が入る 原因は何か? 解決方法 Ⅰ変…

Python,Pandas:データフレーム操作

In [11]: import pandas as pd In [12]: import numpy as np In [13]: df = pd.DataFrame(np.array([[1,1,1,1],[1,'A',1,'B'],[1,'A',1,'B'],[1,1,1,'B']]), columns=['C1','C2','C3','C4']) In [14]: df[df['C2']=='A'][['C2','C4']] Out[14]: C2 C4 1 A B …

Python 3.x:日本語の入ったCSVファイルを読み込んで,データフレームに格納する

日本語の入ったCSVファイルの読み込み方を試行錯誤したので,結果を記しておきましたこんな日本語の入ったCSVファイルを用意します # testJP.csv "福岡",1,2 "博多",3,4 "長崎",5,6 結論から先にいうと・・ こうすれば出来ました import codecs as cd import…