雑記 in hibernation

頭の整理と備忘録

実践寄りの話

AIRA Compact T-8とSP404mk2をmidiクロックで同期する

表題の件で苦戦。Roland氏に問い合わせる等してやっと解決したので備忘録です。 ローランド Beat Machine Roland T-8Roland(ローランド)Amazon Roland SP-404 MKII サンプラー ローランドRoland(ローランド)Amazon

MPCのプロジェクト構成

前回に引き続き、備忘録です 他のDAWとだいぶ勝手が違うので、こういう基本的なところから迷子になりがち。

iPhoneで再生した音源をMPC Studio(MPC Software)でサンプリングする

苦戦しすぎて半日溶けたので、備忘録にしておきます 背景 我が家にも話題のFGDP-50が招聘されました。大変喜ばしいことですが、これにより元々フィンガードラミングにしか使っていなかったMPC studio mk2及びMPC softwareがいよいよ役割を失ってしまい、流石…

Google ColabでPyStanがインポートできなくなってた件

1. PyStanがインポートできない ちょうど今年の5月ごろ、こんな記事を書きました。 toeming.hatenablog.com 「何かと環境構築がダルいらしいPyStanだけど、Google Colaboratoryならわざわざinstallしなくてもpystanが使えちゃうよ」ってな記事だったのですが…

PySparkでfillna()

毎回忘れるPySparkでの欠損処理の書き方と注意点について、個人的な備忘録です。 1. 前提 こちら相当の準備ができていることを前提にします Google ColaboratoryでPySpark環境構築(v3.2.1) - 雑記 in hibernation 2. PySparkの欠損補完 こんな感じの適当な欠…

【あるある】数値をちゃんとソートできないと思ったら文字型になってた

タイトル以上でも以下でもありません。個人的あるあるなんですが、たまにしか引っかからない分、毎回原因に気づくまでに時間がかかるんですよね、、、、 どういうことかと言いますと、 こんな感じのデータがありまして、、、、 id payment 0 aaa 10000 1 bbb…

ArviZの体裁で引っかかったところメモ

ベイズモデリングでMCMCの結果をArviZのトレースプロットで表示する際、体裁が狙い通りならないことがありました。解決方法を備忘録として残しておきます。 前提 以下の記事相当の処理をしている前提で、最後のトレースプロットのセル部分に関する話です。 G…

Google ColaboratoryでPyStanをいじくる

ベイズモデリングのお勉強で「StanとRでなんちゃらhogehoge」的な書籍のサンプルコードを実装しようとしているのですが、ここはRではなく使い慣れているPythonとGoogle Colabで動かしたい。と思ってググってみたところ、ローカルで動かそうと思うと意外と面…

追い詰められたのでShap入門します

本職でクソモデルをこしらえた結果、モデルの中身に対する説明責任が発生してしまいました。逃げ場を失ったので素直にShapに入門します。 1. Shapとは ビジネスの場で機械学習モデルを適用したり改善したりする場合、各変数が予測値に対してどのような影響を…

PySparkデータフレームをscikit-learnのモデルで推論してみる(pandas_udf)

scikit-learnで学習したモデルを使ってPySparkのデータフレームに対する推論を行う方法はいくつかあって、例えば単純な方法としてはデータフレームを.toPandas()でPandasのデータフレームに変換してからモデルに入力する手があります。しかし、この方法だとS…

Google ColaboratoryでPySpark環境構築(v3.2.1)

以前GoogleColabでのPySpark環境構築の方法をまとめたのですが、最近(v3.x.x以降?)はもっと楽にインストールできるっぽいです。ってことで、手順を更新します。 前回の↓ toeming.hatenablog.com 早速ですが、以下notebook上での処理手順 1. Sparkモジュー…

AutoGluonでAuto ML実装(最短実装編)

ぶっちゃけ機械学習エンジニアリングにはあまり興味がない、最低限の作業でそこそこ精度が出てくれればいいと思っている身としてはAuto MLには惹かれるものがありました。で、ちょうど最近AutoGluonの解説を聞く機会があったのですが、想像よりもはるかに手…

Pysparkで(個人的に)忘れがちなtipsメモ

たまーにPysparkを使うことがあるのですが、たまーにすぎて使う頃には前回までの習熟度が完全にリセットされている、という非効率を繰り返している今日この頃。ということで、毎回ど忘れして無駄に遠回りしてしまいがちなtips(と言うほど大袈裟な情報ではな…

知る人ぞ知る(?)WOE変換をフックアップ

統計・機械学習における変数変換の手法の一つに”WOE(Weight of Evidence)変換”という方法があります。金融工学の世界で好んで利用される手法らしいですが、他分野の方にはいまいち耳馴染みがないワードだと思います。ということで、「WOE変換なんて聞いたこ…

ML-AskをGoogle Colaboratoryで試してみる

前回の記事で、asariを使ったテキスト感情分析を実装してみました。その際、結局使わなかったのですが、裏でML-Askもお試ししていました。 toeming.hatenablog.com せっかくなのでGoogle ColaboratoryでML-Askを導入するまでの流れを備忘録として残しておこ…

ビジネスメールから受けるダメージをテキスト感情分析で和らげる試み

労働が人間の精神に及ぼす悪影響については今更言及の余地はないでしょう。業務・責任に見合わない給与や長時間の拘束などなど、労働のネガティブな要素を挙げ始めるとキリがありませんが、僕個人としては、ビジネスコミュニケーション上で発生する精神的負…

Ubuntuの日本語入力設定メモ

AWSで立ち上げたインスタンスのUbuntu環境で日本語入力の設定ができなくて困った。今後のために解決方法をメモっておく。色々試す中で辿り着いたので、この手順がクリティカルでない可能性もある。 OSのverは18.04.5。 1. mozkの設定 SettingのRegion&Langua…

Pysparkで累積構成比を計算する

PySparkのDataframeでの累積構成比の計算に戸惑ったのですが、ググっても意外とすんなりいい感じの情報にありつけなかったので、備忘録として残しておきます。 Window関数がわかってりゃあなんてことないとのない内容だろうとは思いますが、お勉強も兼ねて。…

pandasのto_pickle()でプロトコルを指定したい

Pythonにてpickle.dump()を使ってオブジェクトを一時保存したりすることがあると思います。保存時にはプロトコルが指定できるらしく、最新のプロトコルではより速い、より高い圧縮率でのRead/Writeを望むことができるようです。 inarizuuuushi.hatenablog.co…

ビニングにも色々あるらしい

機械学習でビニングって手法があるじゃないですか。あるんですよ。 最近SASの公式ドキュメントを眺めていて知ったのですが、どうも一口に "ビニング" といっても色々な分割方法があるみたいです。あまり馴染みのない情報だったので、ざっくりまとめてみまし…

マーケティングにおけるデータ分析の超ざっくり沿革

最近読んだ書籍の冒頭でマーケティング分野のデータ分析の沿革について非常に簡素にまとまって紹介されていたので、若干の意訳を加えつつ備忘録的に内容をメモ書きしときます。 超ざっくりですが、データの拡充により分析目的が多角化していく流れと、その背…

SparkにおけるRDDの遅延評価と永続化

Sparkを習熟する上でRDD(とDataframe)の永続化のメリットが理解しにくかったので、Sparkの特性である遅延評価と永続化について簡単にまとめておきます。 (正しく理解できているか自信ないので、内容に誤りがありましたらご指摘いただけると幸いです) な…

Google ColaboratoryでPySpark環境構築

個人的にライブラリやらなんやらを試してみる際にGoogle Colaboratoryを使うことが多いのですが、今回はSpark習熟のためにGoogle Colaboratoryのnotebook上でPysparkを実行できるように環境構築したので、備忘録としてその過程を記録しておきます。正直なと…

2値分類の不均一データ対策って実際効果あるんかい

機械学習の2値分類問題において、不均一(=陰性・陽性のデータ比率に偏りがある)データを学習させる際に学習用のセットの陰性・陽性のデータ比率をある程度揃えてあげることでモデル精度が向上することが知られています。このアイデアをもとにオーバーサン…

Pandas dataframeでリストに含まれる要素であればTrueを返す

pythonのpandasにて、dataframe内のある要素が照合用のリストに含まれているかどうか確認したい時、listと同じように"in"で比較したいなあ(でもできないなあ)とか思ってたんですが、これ、.isin()できるんですね。って話を備忘録にします。 過去記事で「あ…

Google スプレッドシートでもできるよ仮説検定

この記事書いてる際、「仮説検定したいけど私用PCにエクセル入ってないし、Pythonでなんかその手のパッケージ使うしかないかなぁ」なんて思ってたところ、Googleスプレッドシートの関数で検定が実装されていることを知ったのでちょっと使ってみました。ぱっ…

optunaで脳筋ハイパラチューニング(ようやく最後のお話:精度比較編)

Pythonでのoptuna実装について、理論面にはノータッチの脳筋スタイルで連載をお送りしています。最終回です。 第1回では1変数の関数に対する最適解探索を、第2回では機械学習モデルのパラメータ最適化を実装しました。そして最終回となる第3回の今回は、デフ…

optunaで脳筋ハイパラチューニング(こっからが本番:機械学習モデルのチューニング編)

Pythonでのoptuna実装を理論面にはノータッチの脳筋スタイルでお試ししてみます。記事は3回に分けて投稿予定で、前回の第1回では、まず1変数の関数に対する最適解探索を実装してみました。第2回の今回は、機械学習モデルのパラメータ最適化を実装します。次…

optunaで脳筋ハイパラチューニング(小手調べ:関数の最適解探索編)

「話題の最適化フレームワークがあるらしいやんけ。使ったろ。」の精神でoptunaを使った機械学習モデルのハイパーパラメータのチューニングをお試ししてみます。Pythonでのoptuna実装のチュートリアル的な内容です。理論面にはノータッチの脳筋スタイルで行…

lambda式って超便利

コーディングの文法でlambda式ってあるじゃないですか。あれ、何が有り難いのかイマイチよくわかってなかったんですけど、その恩恵がようやく理解できたのでPythonでのlambda式の使い方について備忘録にします。あんまり細かいtipsは記事化してもキリがない…