shu さん プロフィール

  •  
shuさん: メモランダム!!
ハンドル名shu さん
ブログタイトルメモランダム!!
ブログURLhttp://publicjournal.hatenablog.com/
サイト紹介文サイエンス関係のことを書いていきます
参加カテゴリー
更新頻度(1年)情報提供26回 / 187日(平均1.0回/週) - 参加 2018/02/04 14:39

shu さんのブログ記事

  • Windows環境下でPython版のglmnetを使うとどうなるか?
  • 夏のある日のこと,私はあるデータにLasso回帰を用いて分析しようとしていた.glmnetを呼び出して実行したところ, x input must be a scipy float64 ndarray とエラーメッセージが帰ってきた.あれ?っと思ったけど,その日に扱っていたのは整数値だったことを思い出した.しゃぁ無いから浮動小数点数にキャストしてみたんだ.これで間違いは無いはず.スクリプトを実行してみると・・・ raise ValueErr [続きを読む]
  • StatsModelsとscikit-learnのElastic Net(というかLasso回帰)を比較してみた
  •  最近スパース推定の勉強会に参加しております.使っているテキストはこちら.スパース推定法による統計モデリング (統計学One Point)作者: 川野秀一,松井秀俊,廣瀬慧出版社/メーカー: 共立出版発売日: 2018/03/08メディア: 単行本この商品を含むブログを見るこの本の第2章のElastic Netについて勉強がてらにプログラムを書いてみて,振る舞いを観察してみました. 今回使うデータはこちら.リンク先のヘッダの「Earn」が観測日 [続きを読む]
  • データフレームの各行の差を計算してグラフ化する:Pandas
  • やりたいことしては,タイトル通り『データフレームの各行の差を計算してグラフ化する』ことです.Pandasのデータフレームを用いて各列の時間差を計算してグラフに出力するということをやります.今回はTimedelta型を使っているのですが,データフレームの差を計算して描画しようとすると「'Timedelta' object has no attribute 'plot'」というエラーメッセージ出てきます.無理やりint型になおして出力するとナノ秒になってしまう [続きを読む]
  • ベイズ更新をやってみた!
  • 3月の末にベイズ推定の勉強会に参加してきました!math-unknown.connpass.com この勉強会では単に講師の話を聞くだけではなく,みんなでワイワイディスカッションしながら進めるような形式で,グループ内の誰かが疑問に思ったことを後で調べることでより理解が深まったように思います.そして講師の方の説明の流暢さに脱帽でした! その中でもベイズ更新の例としてオオカミ少年の例が興味深いと思いました.勉強会の案内のところ [続きを読む]
  • ATOMをCドライブ以外にインストールする方法
  • ATOMってエディタがあって,これはでは「こいつはCドライブ以外にインストールできないのか?」と思っていましたが,ひょんなことからDドライブとかにもインストールできました.あるときATOMをインストールし直そうとすると「Installation has failed」と表示されました.なので下記を参考にさせていただきました.takumi9942.netこれによれば AtomSetup.exeあるいはAtomSetup Beta exeを7zipソフトで開く中のファイル [続きを読む]
  • PandasとStatsModelsを使って重回帰分析をしてみた
  • Pythonで重回帰分析をやってみました多変量解析法入門 (ライブラリ新数学大系)作者: 永田靖,棟近雅彦出版社/メーカー: サイエンス社発売日: 2001/04メディア: 単行本購入: 2人 : 9回この商品を含むブログ (1件) を見るこの文献のP43〜86を参考を参考にしています.マンガでわかる統計学 回帰分析編作者: 高橋信,井上いろは,トレンドプロ出版社/メーカー: オーム社発売日: 2005/09/01メディア: 単行本購入: 42人 : [続きを読む]
  • PyCharm:interpolaterの設定にまつわるエラー
  • 年末年始にかけてPyCharmをインストールし直したら,エラーが出まくりました・・・自分が勉強不足のところもあるわけですが,直すのに時間が掛かりました.色々試行錯誤したのでメモっておきます.ちなみにインストールしているバージョンは「Anaconda3-5.0.1-Windows-x86_64」「pycharm-community-2017.3.2」です. そもそもRun出来ない場合 症状 解決法 ライブラリが読み込めない,impo [続きを読む]
  • Pandas:グループ毎に括って最大の値を含む列を抜き出す
  • PythonのライブラリーであるPandasを使って,「グループ毎に括って最大の値を含む列を抜き出す」
    方法のメモです.対象とするのはこんなデータSensor Time Value0 T-A 10:00:00 251 T-B 10:00:01 302 T-C 10:00:02 10
    43 T-B 10:00:03 524 T-C 10:00:04 415 T-A 10:00:05 916 T-C 10:00:06 1027 T-B 10:00:07 408 T-B 10:00:08 1019 T-C 10:00:09 973種
    類のSensorから時間と検知された値(Value)が返ってきます.Sensorの種類ご [続きを読む]
  • Python:秒数が小数点以下のパース
  • Pandasでデータフレームに格納するときに,時間にナノ秒まで含まれている時のパースのやり方に
    ついてのメモ.対象とするのはこんなデータ.//file.csv17:22:59.703371360,1017:22:59.788956621,2017:22:59.7907190
    17,3017:22:59.813919277,2017:22:59.891942610,1017:22:59.898820371,2017:22:59.919604329,30こんな感じで,小数点以下が
    すごい長いデータをパースしたいわけです.一例としてこんな感じでしょうか.import pandas a [続きを読む]
  • ランダム関数について
  • numpyランダム関数を色々使ってみました.まずはインポートIn [1]: import numpy as nprandom()は0から1までの値が得られるIn [10]: np.random.random()Out[10]: 0.45226808024834264引数を入れると,入れた数字分の乱数が得られるIn [12]: np.random.random(5)Out[12]: array([ 0.93385679, 0.6383795 , 0.20373784, 0.76812241, 0.42309771])範囲指定は出来ないみたいですIn [13]: random.uniform(1,100)Traceback (most rec [続きを読む]
  • 特定の行・列を残す:Python,Numpy
  • Pandasで条件を指定して行・列を抜き出すやつが有ると思います.正式名称は分かりませんが,df[val>0]みたいなやつです.Numpyのarrayでおんなじことが出来るか試したので,メモ書きしておきます.まずはこんな感じで配列を作ります.そして1個飛ばしで列を獲得できるかやってみます.In [31]: import numpy as npIn [32]: a = np.array([[ 0, 1, 2, 3], ...: [ 4, 5, 6, 7], ...: [ 8, 9, 10, [続きを読む]
  • Pythonでargmaxとかargmin
  • argmaxとargminについて書いてあるようなタイトルですが,本記事ではargmaxのみです.argminも使い方は同じなので書いてません.まずは配列を用意します.In [8]: import numpy as npIn [9]: a = np.array([[1,2,3],[4,5,6],[7,8,9],[2,8,2]])あとはご覧の通りIn [10]: a.argmax(axis=0)Out[10]: array([2, 2, 2], dtype=int64)In [11]: a.argmax(axis=1)Out[11]: array([2, 2, 2, 1], dtype=int64)In [12]: a.argmax()Out[12]: 8 [続きを読む]
  • カーネル関数の使い方:scikit-learn
  • Pythonのscikit-learnのカーネル関数を使ってみたので,メモ書きしておきます.いやぁ,今までJavaで一生懸命書いてましたが,やっぱりPythonだと楽でいいですねー. もくじ 最初に注意する点 線形カーネル まずは簡単な例から データが多次元だったら ガウシアンの動径基底関数 最初に注意する点 最初につまずいた所.一次元の配列だとエラーが出るみたいです. [続きを読む]
  • Pandasでmatplotlibみたいに描画する
  • これまでPandasとmatplotlibを一緒に使う機会がなかったんですが,Pandasにも描画機能があります.しかもこれが結構便利!とうことで早速使ってみたので,ログとして残しておきます.import pandas as pdimport pylabimport matplotlibimport matplotlib.pyplot as pltplt.style.use('ggplot') # ggplotを使うfont = {'family' : 'meiryo'} # フォントをメイリオにするmatplotlib.rc('font', **font) # # データフレームの定義df [続きを読む]
  • データフレームからarrayに変換:pandas numpy
  • 機械学習のライブラリなどを使おうとすると,データフレーム型からnumpyのarray型にしないと引数として渡せない場合があります.このデータフレームからarrayに変換する方法は色々あるんですが,一番簡単なのはas_matrix()を使うことでしょうか.In [102]: import pandas as pd # pandasをインポートIn [103]: import numpy as np # numpyをインポート# データフレームを定義するIn [104]: df = pd.DataFrame({'Time': ['10:00:00' [続きを読む]
  • Pathを通した先のファイルの読み書きがおかしくなる
  • teratailのフォーマットが見やすいので,真似して書いてみます. 前提・実現したいこと Pythonの3系を使っているのですが,どうやら開発環境のワークスペースを変えるとファイルを読むときにはワークスペースからパスを通さなくてはならないらしいです.なのでパス+ファイル名みたいな書き方をしていたのですが,エラーが出てしまいます. 発生している問題・エラーメッセージ たとえばpath = 'ファイルまでのパス'df [続きを読む]
  • Jupyter Notebookの設定を色々変えてみる
  • PythonといえばSpyderを使ったりJupyter Notebookをしてますが,Jupyter Notebookの方はフォントが気に入らなかったりします.そこでnbextensionsをつかって色々いじってみたんですが,忘れそうなのでこのブログにメモしておきます.ちなみにAnacondaはAnaconda 4.3.0 For Windowsを使っています.ダウンロードは下記のサイトからしました.GitHub - ipython-contrib/jupyter_contrib_nbextensions: A collection of various note [続きを読む]
  • データの集約とグループ演算をやってみる Pandas
  • PythonのPandasを使っていると,例えば同じ名前の者同士を一括りにして,平均なり最大値を出したり,という処理を迫られることがあります.私自身,この間それを迫られた訳で,オライリーの本を読んで,どういう挙動を示すか色々試してみました.せっかくなので試した内容を,この記事にメモしておきたいと思います.www.oreilly.co.jpさて,今回のデータフレームは下のものを使います.In [62]: df = pd.DataFrame( ...: [続きを読む]