きょうも亀だけど

機械学習やデータサイエンスの勉強記録など

VESA非対応のモバイルディスプレイをアームスタンドで固定した

サブディスプレイとしてMB168Bを使っているが、縦置きで使う際に木製のイーゼルに載せていた。 https://www.asus.com/jp/Displays-Desktops/Monitors/ZenScreen/MB168B/ 少し傾きすぎなのと横を歩くときに身体に接触して倒れることが多かったため、アームス…

AI Quest 2020に参加しました

今年もAI Questが開催されます。 aiquest.meti.go.jp 昨年秋に開催されたAI Quest 2020に参加しました。 今年受けようか迷っている方の参考に、そして己の振り返りとして書きます。 参加時のスペック データサイエンスや機械学習のセミナーには数回参加 業務…

Python文法メモ

関数呼び出し時のアスタリスク 引数に渡したリストやタプルをバラして渡せる。 T.Composeの引数に渡すときなど可変長引数に柔軟に渡せるのが便利。 items = [1, 2, 3] func(*items) # func(1 ,2 ,3) 【参考】 qiita.com 三項演算子を使ってリストに入れる要…

Anaconda環境へのライブラリインストールコマンド一覧

環境構築時にまっさら環境からライブラリをインストールするときのコマンドまとめ。 conda-forgeはユーザーグループが管理しているリポジトリらしい。 analytics-note.xyz Pandas conda install -c anaconda pandas matplotlib conda install -c conda-forge…

PyTorchでCUDAを使ってGPUで学習をさせたときに「Expected all tensors to be on the same device, but found at least two devices」が出たときの対処

GPUを積んだローカルPCでPyTorchの転移学習を試した。以下を参考にCUDAでGPUを使用して学習させた。 www.amazon.co.jp 結果、Optimizerの実行箇所でタイトルのエラーが発生した。 「tensor使うなら全部GPUでやらなきゃいけないのにCPUが混ざってるぞ」と言わ…

Anacondaの仮想環境配置ディレクトリを変更し、仮想環境を立てる

Anacondaを使って仮想環境を作る。これによりライブラリのバージョンの混在を防ぎ、各作業の環境を独立させられる。 仮想環境の配置ディレクトリをCドライブ以外にしたかったので、以下の方法で配置ディレクトリを別ドライブに設定した。 【参考】 blog.sgry…

Anacondaインストール後にJupyter Notebookをコマンドプロンプトから起動する

Anacondaを入れ直した後、コマンドプロンプトで起動すると「DLL load failed」が出て起動できなかった。 以下の記事を参考に環境変数を設定し、順番も整理したら無事起動した。 【参考】 qiita.com

Bitbucketへの登録をせずにSourcetreeをインストールする

PCの新調に伴って開発環境を作り直した。 Sourcetreeのver3をインストールしようとしたところ、以前はなかったBitbucketへの登録が必須となっていた。 使うのはGitHubだし、登録なしで進めないか調べたところ、以下を参考にアーカイブからver2を取得してイン…

一部の行を削除後のdataframeに対してscikit-learnのmean_squared_errorを実行すると「Input contains NaN, infinity or a value too large for dtype('float64').」が発生した時の対処法

dataframeに対し、以下のように指定のデータを削除した。 その後、そのデータに対してLightGBMで学習させ、その過程でmean_squared_errorをかけるとタイトルのエラーが発生した。 df_train = df_train[df_train['target'] > 500] 以下のサイトを参考に、デー…

AtCoder Beginner Contest 174, 175, 176参戦

ABC3つに参加した。 AtCoder Beginner Contest 174 A, B, Dの3完で終了。Cは数学的な知識を使うんだろうなというのは読めたけど見いだせず。解法見てなるほどなと納得した。 github.com AtCoder Beginner Contest 175 A, B, Cの3完で終了。解けたけど時間か…

AtCoder M-SOLUTIONS プロコンオープン 2020参戦

A, B, C, Dの4完で終了。PCが起動しなくて初動10分遅れで焦った。Dまでは簡単だったけど少し時間がかかりすぎた。C以上をいかに速く解けるようになるかが次の課題。 また、リストへのアクセスが多いと計算量的にイケると思ってもTLEになってしまう。ループ内…

AtCoder Beginner Contest 171, 172, 173参戦

ABC3つに参加した。 AtCoder Beginner Contest 171 A, B, C, Dの初の4完で終了。Cはアルゴリズムをググって見つけてしまった。DはTLEで苦しんだけど、怪しいところ見つけてギリギリでAC。 TLEからACに到達する際に以下の気付きがあった。 numbersという名前…

AtCoder Beginner Contest 169, 170, NOMURA, 東京海上日動 プログラミングコンテスト2020参戦

4つのコンテストに参加した。 NOMURA プログラミングコンテスト2020 A, Bの2完で終了。得点配分を見た上での作戦として、「Bまでを早解きし、Cに手を出せればラッキー」で挑んだ。 前回の反省を踏まえ、コメントや命名よりも早さを意識できたのがよかった。 …

AtCoderに挑戦開始&AtCoder Beginner Contest 168参戦

AtCoderに挑戦開始した。言語はPythonでやっていく。 先日、最初のコンテストとして「AtCoder Beginner Contest 168」に参戦し、A、B、Cの3完で終了。 過去問を含めた体感としては、「A~Cまでは何とかなる、D以降はアルゴリズムを学ばないと無理」といった…

Jupyter Notebookの起動ドライブを切り替える

Jupyter Notebookを初期ディレクトリ以外のドライブで起動したいことがある。 その場合は、コマンドプロンプトで起動したいドライブに移動してからJupyter Notebookを起動すればいい。 C:\> cd E:\hoge E:\hoge> jupyter notebook 【参考】 github.com

Python 3 エンジニア認定データ分析試験に合格しました

先日、 Pythonエンジニア育成推進協会の「Python 3 エンジニア認定データ分析試験」のベータ試験を受験し、無事合格しました。 次回受ける方の参考に、そして己の振り返りとして書きます。 受験時のスペック データサイエンスや機械学習のセミナーには数回参…

LightGBMではOne-hot encodingは不要

blog.amedama.jp orizuru.io LightGBMではpandasのカテゴリ列の型をcategoryにしてあげれば、数値変換するだけでカテゴリとしての分岐をしてくれるとのこと。 One-hot encodingだるいと思ってたけど、とても便利。 is or is notで分岐するという仕組みも分か…

button要素のform属性

button要素内にform属性がある場合はどういうときかわからなかった。 以下のとおりで、buttonがformの外に配置するときに紐づけるために使う。formの中に配置される場合は不要。 www.tagindex.com

G検定に合格しました

先日、日本ディープラーニング協会のG検定(ジェネラリスト検定)を受験し、無事合格しました。 次回受ける方の参考に、そして己の振り返りとして書きます。 受験時のスペック データサイエンスや機械学習のセミナーには数回参加 業務でディープラーニングを…

文字列からクラス名を取得してインスタンス生成

これのgetattrを使うパターンでうまくいった。 前回の記事で書いたyamlファイルから情報を取得する方法を利用し、 必要に応じてインスタンスを作成する仕組みを作れた。 便利。 qiita.com

yamlの読み込み

設定ファイルを読み込む形を作りたくて調べた。 最初はxmlでやろうと思ったけど、yamlの方が可読性が高いとのことで 使ってみることにした。 python.swift-studying.com これでうまくいった。

時系列分析の交差検証の方法

どうやってやるのか全くわからなかったけど以下のやり方があるとのこと。 ask.fm medium.com 最後のp日を残して検証用にするのか。 なるほど。 前処理大全にも似たようなことが書いてあった。 覚えよう。

read_csvでファイル名が日本語のcsvを読み込む

pandas.read_csvで pandas.read_csv('../日本語ファイル.csv') で読み込むと OSError: Initializing from file failed が発生してしまう。 読み込みエンジンのデフォルトであるCだと半角にしか対応していないとのことで、 エンジン指定をPythonに変更したら…

フォルダが存在しない場合に作成する処理を、存在確認なしで実行

csv出力の際に、作成先フォルダおよび中間フォルダが存在するかの チェックを入れてから出力するのがめんどくさい。 一気に出力する方法がないか調べたところ、 os.makedirs(フォルダパス, exist_ok=True) でいけることが分かった。 note.nkmk.me 便利

Prophetをimportするまでにつまづいたことと対応

Anaconda環境でProphet使おうと思い、 install後にimportしようとしてつまづいた。 なんとかimport成功まで行ったので手順を記録する。 参考にさせてもらった以下スライドのP.15に沿って、 まずはpystanをpip installした。 Prophet入門【Python編】Facebook…

pandasで縦持ちデータを横持ちデータにする

時系列データで種類を表す列に複数パターンが存在するとき、 グラフ表示のために横持ちにしたくなった。 以下のページが参考になったのでやってみる。 blog.amedama.jp pivot_tableを使えばいける。 便利。 Jupyter Notebookを貼り付ける方法が見つかったか…

test

test hoge fuga