サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
画力アップ
aotamasaki.hatenablog.com
はじめに 2023/08/03発売の「データ分析失敗事例集 ―失敗から学び、成功を手にする―」を知り合いのご厚意により頂いたので、読んでみたところ非常に面白かったので、感想をブログにまとめようと思います。 www.kyoritsu-pub.co.jp 全編通していい意味で社会性フィルターが外れていて、これを出版することは非常な苦労があったと察します。著者に敬意を評して、本ブログでも特に配慮などはせずに感想を書いていこうと思います。(何か問題があったらコメント欄で教えてください。コメントは公開前に自分にメールが来るようになってます。) 本書の概要 本書ではデータ分析の失敗談を短編小説のように楽しむことができる。 技術的な話はあまりないが、一部の専門用語については基本的な理解があると読みやすい。 例えば、BERT, 傾向スコア, Redshift, Tydyverseと聞いて、どういうものでど
はじめに Streamlit vs Gradio Gradioの設計思想 Interface 入出力に応じたUI Interface String Shortcut 入力データのサンプルのセット ドキュメンテーション テーマの変更 タイムアウトへの対処 中級者への第一歩、デモを作る際に知っておきたい処理 Gradioが担当する前処理について プログレスバー もろもろの出力結果を保存するには? 認証認可(というか認可) その他、解説しないが需要の有りそうなもの まとめ 追記 : 動画になりました。 はじめに 機械学習系のデモアプリを作成することがしばしばありStreamlitを使用していたが、パラメーターなどをいじるたびに処理が最初から走るなどといった挙動に悩まされていた。 同僚がGradioというのを使っていたのでサーベイがてらメモしていたらブログが出来上がってしまった。 本ブログでは、G
状況 直し方 先人たちの記録と解決しない事象 推測される原因 ついでに発見したバグ 状況 Macを初期化して再セットアップしたら、VSCodeで command + [ (open bracket, left bracketとも) が効かなくなった。 プログラミングしているときにこのショートカットを多用しているのでめちゃくちゃ困る。indentができなくなった!しかもshift + command + [のようなショートカットもすべて効かなくて困った。タブ移動もできねぇ〜〜〜〜! しかもよくよく確かめるとElectron製のアプリ全般で効かなくなってる。これは最悪である(一部は反応するけど意図した挙動でないことになった)。 もし、これを読んでいるあなたもお困りならば次に進もう。 自分の知る限り一番シンプルな解決策をここで提供する。 このバグが起こりうる環境等については後で述べる。 直し方
概要 エラーメッセージ 解決方法 参考 概要 Intel CPUのMacbook proの電源を切った覚えがないのに、蓋を開けると電源の付く音が流れることが数回発生した。しかも決まって前回は異常終了したという警告。 そこで原因を調べ、暫定的な解決法をここにメモをする。日本語では情報が出なかったので誰かの助けになれば嬉しい。 (ちなみにIntel macの15,16インチモデルばかりに発生している様子だった。) エラーメッセージ 自分の環境では以下のようなエラーメッセージが発生していた。 Sleep transition timed out after 180 seconds while creating hibernation file or while calling rootDomain's clients about upcoming rootDomain's state chang
背景 早速結論 なぜ保証内容と加入タイミングを考えるのか 何を保証すべきか? いつから保険に加入すべきか? further investigation is required まとめ 背景 保険には入っておいたほうが良いとは聞くが、商品は膨大で何を保証すべきか、いつ入ればいいのかなど考えることは多い。 本記事では自分のメモの意味合いも含めて、 何を保証すべきか? いつ入ればいいのか? を検討していく。 そもそものきっかけは、節税のために行った保険の契約だった。 ちなみに節税のために契約した保険とは、明治安田生命のじぶんの積立という商品である。 詳しくはリンク先を参照していただきたいが、実質ただの貯金である。貯金をしながら一般の生命保険料控除で税金が安くなるという税制の穴を突いたような商品である。 ただ、契約をするには対面で生保レディーの話を聞く必要があり、ここで他の保険にも入ってもらうこと
Ultimate Hacking Keyboard とは 一週間使ってみた感想 打鍵感について 独自機能について 静音化 注文してから届くまで 注文方法 届くまで 開封から設定まで 最後に Ultimate Hacking Keyboard とは 最近購入した最高のキーボード。もうほかのキーボードは買わないと思う。 これ。 ultimatehackingkeyboard.com ハンガリーにある会社が製造している。 サイトに行けば商品の特徴の紹介はしてくれるが、軽く書き出すと以下である。 HHKBを分割キーボードにしたような感じ(分割でなくても使用可能) 自作キーボードのような機能をハードウェア側でサポートしている。例えばキーの配置変更やレイヤー機能などである 拡張モジュールによって、トラック(ボール|ポイント|パッド)などを追加することが可能 本記事では、"1週間使ってみた感想"、"注文
概要 以下のformatをPythonで提出すればいい mycode = r''' # distutils: language=c++ # cython: language_level=3, boundscheck=False, wraparound=False, cdivision=True {ここにcythonのコードを書く} ''' import sys import os if sys.argv[-1] == 'ONLINE_JUDGE': # コンパイル時 with open('mycode.pyx', 'w') as f: f.write(mycode) os.system('cythonize -i -3 -b mycode.pyx') import mycode 概要 AtCoderにおけるCython提出の弱点 解決方法 性能評価 Pythonの回答 Cythonの回答
この記事は何? 使い方 作成のモチベーション 関連するツール まとめ この記事は何? これを作った↓ https://tex-image-link-generator.herokuapp.com/ これを使えば、githubのreadmeやissuesに数式を埋め込むことができる。 例えばこんなふうに。 noteやhatenablogなどのmarkdown(HTML)が使えるサービスに転用することもできるはず。 使い方 言うまでもないですが、上部のtext areaに数式を打ち込んでctrl enter (or ⌘ enter)を押すだけ。 sizeはpreviewのサイズではなく 実際に表示されるサイズになってる(previewには反映される)。 resultの右側にcopy to clipboardボタンがあるのでそれをポチッとするのが早いでしょう。 得られたリンクをここに貼ってみる。
概要 現実の判別問題において教師が完璧であることは珍しい。ラベリング作業において、知識不足や勘違いなどで引き起こされるヒューマンエラーはデータセットを汚染する。 このような間違った教師のことを、noisy label (corrupted label や polluted labelとも)という。誤った教師を用いると学習はうまく行かず判別性能は下がってしまう。近年ではこれに対処しようという研究が増えている。 ICML2020に Confident Learning: Estimating Uncertainty in Dataset Labels という論文が投稿された。しかも、よく整備された実装cleanlabまで提供されていた。 今回はRCV1-v2という文章をtf-idf(特徴量)にしたデータセットを用いて、Confident Learning (CL)が効果を発揮するのか実験を行っ
これは何? ICML2020に投稿された Confident Learning: Estimating Uncertainty in Dataset Labels という論文が非常に面白かったので、その論文まとめを公開する。 論文 [1911.00068] Confident Learning: Estimating Uncertainty in Dataset Labels 超概要 データセットにラベルが間違ったものがある(noisy label)。そういうサンプルを検出したい Confident Learningという方法を提案。現実的な状況下でSOTAを達成 PyPIに実装を公開済みですぐに使用可能(pip install cleanlab) GitHub - cgnorthcutt/cleanlab: Find label errors in datasets, weak supe
なぜこの記事を書いたのか? 決定木をベースにしたアルゴリズムのほとんどに特徴量重要度という指標が存在する。データに対する知識が少ない場合はこの指標を見て特徴量に対する洞察深めることができる。KaggleではEDAのときにとりあえず重要度を見てみるなんてこともするようだ。 しかし、この特徴量重要度にはバイアスが存在していて、特定の条件下では信用出来ないことがある。そういった条件を広く知ってほしいということでこの記事を書いた。 この記事では人工データを生成しバイアスを再現してみた。また、こういったバイアスに対処したという論文を見つけたので軽く紹介する。おまけとしてgainベース以外の特徴量重要度についても紹介する。 目次 なぜこの記事を書いたのか? 想定読者と実験の枠組み 想定読者 限定する枠組み 特徴量重要度とは? 特徴量重要度にバイアスが生じる条件 1. 解像度が低い場合 2. 特徴量同士
はじめに なぜ、あとからサンプルを布置できると嬉しいのか? ドキュメントにそって インストール データの概要 訓練とテストに分割 訓練データで空間を学習 この潜在空間で学習 テストデータの潜在空間への布置 テストデータへの汎化性能 まとめ はじめに UMAPという新しい可視化の手法が開発された。 github.com 私的に、この手法の利点は大きく2つあると考えている。 t-SNEよりも高速でありながらt-SNEと同じような可視化の結果が得られる。 t-SNEと違って、学習済みの空間に、あとから新規のサンプルを布置できる。 特に、2番目について言及している。ブログ記事は日本語では見つからなかった。ので、2番目の強みの紹介がこのブログの目的である。 他にもパラメーターについてまとめている記事や qiita.com UMAPのgithubのREADMEの翻訳をしている記事が見つかったのでぜひ。
はじめに 今回はただの日記です。 AI・機械学習ハンズオン 〜実践Kaggle 初級編〜に参加したので、感想を書く。 これから行く人が知りたいだろう情報も書くように心がける。 はじめに 率直な感想 対象者は? どんなことをやったのか データと環境 データのEDA LightGBM推しがすごい コンペ解法解説 Kaggle のシステムの説明 懇親会 さいごに 率直な感想 本当に初級、知ってることがほとんど。だけどもちろん知らないこともあり有意義だった。 懇親会で直接質問できるのは良い。モチベーションも上がる。 対象者は? 勉強会のタイトルには初級編とあるが、具体的に以下に当てはまる人だと感じた。 Pythonの文法、PandasやsklearnのAPIはわかってる人 lightgbmの使い方はわからない人 本やチュートリアル等ではダラけて時間がかかる人(これ大事) クロスバリデーションとか聞
はじめに この記事を読むことで、scikit-learnの中身のコードに改変を加えることができるようになることを期待している。改変に必要な知識も学習できるようリンクを用意してある。そして改変を加えたコードをpipで管理する方法も示した。 最後には具体例として、決定木のfeature_importances_を可視化するメソッドをDecisionTreeClassifierに組み込む。 はじめに 本記事をおすすめしない人 scikit-learnのディレクトリ構造の俯瞰 開発環境を整える pyenvを用いた方法 venvを用いた方法 編集した内容が反映されるようにインストールする 環境の確認 pip install --editable トラブルシューティング 準備完了 編集に必要な知識 Pythonの知識 scikit-learn scikit-learn準拠モデル Cythonの知識 f
この記事は? レビュー パターン認識と機械学習 上 Pythonではじめる機械学習 ゼロから作るDeepLearning scikit-learnとTensorFlowによる実践機械学習 直感DeepLearning 詳解ディープラーニング TensorFlow・Kerasによる時系列データ処理 Pythonデータサイエンスハンドブック Matplotlib&Seaborn実装ハンドブック 退屈なことはPythonにやらせよう ゼロから作るDeepLearning2 今読んでる本 現場で使える!PyTorch開発入門 Cython Cとの融合によるPythonの高速化 この記事は? 自分が読んだ本を時系列に並べて、独断と偏見で簡単にレビューしていきます。 データサイエンス(機械学習)のスキルが身につくと謳っている本が量産されている中、どの本を読むべきか読まないべきか、という判断の一助になる
注意 PR曲線について PR曲線とは どんなときにPR曲線を使うのか 前提知識 ROC曲線 Confusion Matrix PrecisionとRecall PR曲線の書き方 インバランスデータにおけるPR曲線とROC曲線の違い 面積の比較 ちょっと悪い場合 もっと悪い場合 軌跡の比較(アニメーション) まとめ 参考 注意 本記事は自分の知識が浅いうちに書いた記事なので、ツッコミどころが多い。 本記事を読むにあたっては、以下のことに注目して読んでいただきたい。 ROC曲線も悪くはない。むしろ自分はこちらばかり使っている。 PR曲線との振る舞いの違いを確かめた記事として読んでほしい。 少数クラスに注目する上ではPR曲線のほうが数値としての変動が大きい。それがわかりやすいという文脈でPR曲線のほうが"適している"と本文で書きがちであるが、面積最大化という意味ではROC曲線と等価(?ほぼ等価な
概要 時系列の1時刻後の分布を推定した パラメーターが時間に依存する正規分布を仮定した ニューラルネットが正規分布のパラメーターを学習できるように適切な損失関数を導入した 概要 問題意識 データと今回の目的 データ 目的 仮定 モデル 損失関数 結果 損失関数の導出 まとめ あとがき 問題意識 ニューラルネットの出力は点推定になっていることがおおい。 例えば、一時刻先の電力使用量を予測して、14.5[kW]使いますよ、といった出力が点推定である。 しかし、点推定では重要な情報が抜け落ちる可能性がある。 たとえば、予測された電力使用量と実際の電力使用量を比較して異常な状態を検知したい問題を考えてみる。 直感的には、予測と実測値が離れていれば異常と言える。 しかし、どれぐらい離れていたら異常なのか、異常度はどれぐらいなのか等を判断するのは難しい。 そこで確率分布が必要となる。 値を予測する代わ
特徴量選択とは 特徴量選択の難しさ 特徴量選択の手法の大別 教師ありの特徴量選択 filter method 単変量とクラスラベルの関連性を上げる 関係性を上げて冗長性を下げる 関係性を上げて多様性を上げる wrapper method Forward SelectionとBackward Elimination 遺伝的アルゴリズムと粒子群最適化 その他のwrapper method embedding method L1正則化 Regularized tree 特徴量選択のこれから 超高次元データと特徴量選択のアンサンブル 不均衡データにおける特徴量 オンライン特徴量選択 深層学習を用いた特徴量選択 最後に 特徴量選択とは 特徴量選択(Feature Selection, 変数選択とも)はデータサイエンスにおいて非常に重要である。 例えば、製造業において欠陥品を判別するタスクを考えてみよ
はじめに 変数一覧を出す方法 おわりに はじめに RStudioやMATLABを使ったことのある方ならわかると思うが、今扱っている変数を一望する機能がある。 RStudioならばこんな感じ。 RStudioならGlobal Environmentと書いてあり、MATLABならばWorkspaceと書いてあるやつだ。 jupyter notebookでも%whosと打つと、変数の一覧が表示されるが自動更新はされない。いちいち%whosと打つのはめんどくさい。 めちゃくちゃぐぐると、一応Jupyter notebookでもRStudioなどと同じように変数一覧を出す拡張機能があるようで、あまり知られていないようなので、共有する。 変数一覧を出す方法 jupyter_contrib_nbextensionsのvariable inspectorという機能を使う。 Installing jupyt
概要 時系列のデータについて、1時刻先を推定する回帰問題を扱った。 点推定ではなく正規分布を仮定した分布を推定した。 2σ区間を予測区間とした。 電力使用量のデータを用いて実験した。 概要 問題意識 アイデアの概要 データの説明 モデルの説明 結果 まとめ 2019/03/01追記 もっとちゃんとやりました。 aotamasaki.hatenablog.com 問題意識 例えば異常検知を考える。予測した値と実測した値が大きく異なったら、なんらかの異常が生じていると判断できるだろう。しかし、その違いがどれぐらい大きければ異常なのか、異常度はどれぐらいなのかを判断するのは難しい。そこで確率分布が必要となる。値を予測する代わりに、確率分布を推定すれば、実測した値を確立で評価できる。興味があるのは点ではなく分布である。ニューラルネットワークでは点推定が前提であることが多いが、今回は分布を推定した。
特徴量選択とは Borutaとは とりあえず使ってみる ベースラインの判別 Borutaの判別 Borutaのアイデアの概要 Borutaのアルゴリズム 1. 判別に寄与しないはずの偽の特徴量を作る。 2. 偽の特徴量と一緒にランダムフォレストを訓練。 3. 各特徴量の重要度と偽の特徴量の特徴量を比較。 4. 複数回比較し検定を行うことで、本当に重要な特徴量のみを選択。 検定について 1. 棄却したい帰無仮説と受容したい対立仮説を用意する。 2. 観測値から検定統計量Tを定める。 3. 帰無仮説が正しいとしてTの分布を求める。 4. 十分小さい有意水準αを定め、帰無仮説が正しいときにとなる領域を棄却域とする。 5. 観測されたTがに入っていたら対立仮説を受容し、入っていなければ帰無仮説を受容する。 まとめ 補足 使う際のTips等 2019/01/06追記 参考 特徴量選択とは 特徴量選択
はじめに 実験設定 目的 用いるデータ 用いる変数選択手法 用いる判別器 評価指標 行わないこと データを少し見てみる すべての特徴を用いた場合 Filter Method 目視により選択 sklearn.feature_selection.SelectKBestによる選択 Wrapper Method sklearn.feature_selection.RFECVによる選択 Borutaによる変数選択 実験結果 まとめ クリックでコードを表示 ##import import pandas as pd import numpy as np from IPython.core.display import display from tqdm import tqdm_notebook as tqdm from copy import deepcopy as cp ##Visualization
はじめに ばんくしさんをフォローしたらすっかりxonshに洗脳された。 また、巷でうわさのHyperなるターミナルアプリを試してみたら使いやすかったので、組み合わせて使ったら最強では?と安直な発想で記事を書きはじめた。 適当に操作してみたのがこちら。 候補がフローティングウィンドウに出ていたり、補完がゴリゴリに効いていることがわかるだろう。また、動画内ではpythonの仮想環境を切り替えてもいる。 本記事では以下のことを書く はじめに Hyperとは xonshとは Hyperの導入 起動するshellの選択 文字化けの問題 xonshの導入 お手軽に使ってみる メインに使うには 導入 環境変数 xonshでPythonの仮想環境の構築 記事の対象者 .bashrc、.zshrcなどと言われて何かわかる方 Homebrewがある Hyperとは デザインがイケてるターミナル。テキストファイ
はじめに 前回の記事で時系列入力に対するオートエンコーダーを組んだ。 aotamasaki.hatenablog.com 今回は潜在変数を正規分布に押し込むというVariational AutoEncoderを組んでみた。CNNとVAEを組み合わせる記事は割と見つかるのに、RNNとなったとたん見つからないものである。 データはMNISTであるが後述するように、時系列だと見なして入力した。 まずはモデルとデータの概要を説明する。そのあと、結果で再構成された数字と生成された数字の例を示す。最後に、潜在変数Zが正規分布になっているのか確かめる。 はじめに モデルの概要 データの概要 結果 Zは本当に正規分布をしているのか? まとめ 参考文献 モデルの概要 また、赤字で示した損失関数についての数式は以下のようになっている。詳しくは最後に示す参考文献を見ていただきたい。 コードはこんな感じ def
説明変数がめちゃくちゃ多いデータを扱うことになったので変数選択が重要なんじゃないかと思って調べたところまとまっている記事を見つけました。要約して翻訳してここに置いておきます。 追記:更に踏み込んだ話を記事にしました。 aotamasaki.hatenablog.com こちらの記事の翻訳です: www.analyticsvidhya.com はじめに 変数選択(Feature Selection)の重要性 Filter Method Pearson's Correlation LDA ANOVA カイ二乗(Chi-Square) Wrapper Method Forward Selection Backward Elimination Recursive Feature Elimination Embedded Method Filter MethodとWrapper Methodの違い
このページを最初にブックマークしてみませんか?
『学習する天然ニューラルネット』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く