koji/メガネ男の日誌

日々の学び、活動状況を記録します。仕事のことは少なめ。

Zenn に移行しました

ブログを Zenn に移行してみました。 zenn.dev アクセス解析やフォロー登録といった機能はまだのようですが、引き続き技術ブログの更新を頑張っていきたいと思います。 もしよろしければ引き続きお願いいたします。

GoとPythonを比較してみた

Goのハンズオンに参加してGoをざっと学びましたので、多少かじっているPythonと比較してみました。 techplay.jp 今回だけでは終わり切らないので、引き続き比較を続けようと思います。 なお、コードはWindows環境を前提としております。 今回のコードはこち…

効果検証入門 1章をpythonでやってみた

効果検証入門〜正しい比較のための因果推論/計量経済学の基礎の学びを兼ねて、Rで書かれたコードをpythonに置き換えてみました。 コードはこちら。 書籍と数値が異なっている点もございます点ご了承ください。 間違いのご指摘等いただけると幸いです。 1章 …

因果推論の学びメモ

因果推論を学び始めたので、勉強のためにメモします。 間違いや拙い点がございましたら、ご指摘いただけると助かります。 因果推論とは Wikipedia(英語)によると、因果推論は、因果関係、つまり原因と結果の関係を特定するプロセス、とのことです。 en.wikip…

Effective Python(第2版) 2章~3章の気になった箇所をまとめてみた

引き続き、Challeng-Every-Monthというコミュニティで、みんなで Effective Python を読み合うイベントに参加しています。 Effective Pythonの公式の .py コードがGitHubに公開されています。 しばらくバタバタしていて、2章~3章はすべてのコードを詳細に見…

精度評価指標について調べてみた(後半)

先日記載したとおり、精度評価指標の後半部分としてコードで各精度評価指標を実装したまとめです。 長いので全文は記載しません、全文を確認される場合はこちらをご覧ください。 前半の理論部分は下記リンクからご覧ください。 megane-man666.hatenablog.com…

精度評価指標について調べてみた(前半)

kaggle等でモデルの精度を評価する際、いつもググって出て来た評価指標を適当に使っていて指標の意味が分かっていなかったので、学びのためにまとめてみました。 なおこの前半部分は理論のまとめとし、後日、後半部分としてコードで各精度評価指標を実装する…

Effective Python(第2版) 1章を読み込んだ

Challeng-Every-Monthというコミュニティで、みんなで Effective Python を読み合うイベントに参加しています。 その学びをまとめたいと思います。 なお、Effective Pythonの .py コードがGitHubに公開されています。 また、jupyter でコードを確認したい場…

julia と python の処理スピードを競わせてみた

データサイエンス向きの新しい言語、julia を kaggle のタイタニックのデータセットで回して、python とどちらが処理速度が速いか、比較してみました。 コードはこちらになります。 なお、01 python.ipynb が python のコード、02 julia.ipynb がjulia がコ…

英語の自然言語処理を学んだのでまとめてみた

こちらのNLPの記事(英語)が勉強になりました。 Text Analysis & Feature Engineering with NLP 勉強を兼ねてkaggleのNPLコンペ、Real or Not? NLP with Disaster Tweets のデータセットを使って自然言語処理をやってみました。 本記事から学べるのは、英語…

強化学習の多腕バンディット問題を学んだのでまとめてみた

強化学習の勉強のために、ITエンジニアのための強化学習理論入門を読みました。 詳細な理論解説あり、コードありとかなり読み応えのある内容でした。 その中の1章、多腕バンディットのコーディングをまとめたいと思います。 なお、バンディットはスロットマ…

Jetson Nano を買ってセットアップしたのでまとめてみた

IoTを使った画像解析をやりたくてJetson Nanoを買いました。 なお、本記事のとおりに実施すればJetson Nano をセットアップできることを保証するものではありませんこと、ご了承ください。 買ったものは以下のとおりです。 Jetson Nano 本体 B01 ACアダプタ…

Titanicのデータを使ってPytorchを試してみた

(9/23 修正)NetクラスのNNの数を圧縮 評価基準を正解率、適合率、再現率、f1値に修正 note.nkmk.me タイタニックのデータを使ってPyTorchの実装をしてみました。 なお、PyTorchのコードは、こちらのサイトから拝借させていただきました、ありがとうござい…

時系列解析ライブラリ sktimeとProphetを比較してみた

時系列解析に使えるライブラリ、sktimeが公開されていましたので、同じく時系列解析のライブラリ、Prophetと比較してみました。 学習に使ったデータは気象庁の気温のデータです。 なお、ブログのコードはこちらになります。 (気象庁のデータも入れています…

タイタニックのデータを使って xfeat で特徴量作成 + lightGBM で学習をしてみた

(9/23 修正)制度評価指標をf1値に、lightGBMの学習モデルをLGBMClassifier()に修正 mathmatical22.xyz 特徴量エンジニアリングのライブラリ xfeat が公開されていたのでチュートリアルを参考にkaggleのタイタニックのデータを使って特徴量を作り、lightGBM…

通勤時の学習用にChromebookを買ってみたので使用感をまとめた

(後記)LINEとサブディスプレイ使用について追記 Linuxでマウスなしでもコピペできるように設定で変更できることを追記 Linuxへのjupyter lab のインストールを追記 LinuxへのVS Code、Dockerのインストールを追記 緊急事態宣言も明け、テレワークから通勤…

groupby と .agg() で DataFrameの集約を便利にするテクニック

DataFrame型をgroupbyで集約する時、agg() を使って、平均値や個数のカウントをまとめて行うテクニックです。 今回のコードはこちら。 今回は、外部データ、UCIの学生の成績のデータセットを使います。 データの内容を詳しく知りたい場合は、こちらをご覧く…

ポートフォリオを作りたい

データサイエンティストを目指して転職したものの、今のキャリアのままでいいのか…と悩んでいたところ、ポートフォリオを作ったらいいよ!とアドバイスをいただきました。 しかし、IT企業に勤めているわけでも、エンジニアでもないので、意図的に作りにいか…

jupyter notebook (jupyter labも可)の表示を便利にするテクニック

(追記)一番最後に、行数の多いデータの情報をざっくりつかむために便利なテクニックを追加しました。 jupyter notebook を使うと、DataFrameの中身や型、構成などを逐次確認できるので便利です。 import pandas as pd # DataFrame の作成 df = pd.DataFram…

写経ですが、自分の好きなモノを投稿するアプリを作りました

追記:ログイン機能カットした誰でも投稿できる版のアプリを追加 アプリの名前を、Favo-Write(Favorite + Write)に決定 コード、アプリのURLをログイン機能カット版に修正 だらさん主催の一週間でwebサービスを作るハッカソンに参加しました。 5/18~5/24…

全4巻以内、Kindleで読めるマンガをまとめてみた(ネタバレなし)

やや落ち着いて来た感もありますが、自粛自粛で室内にこもりがちな今日、マンガなどはいかがでしょうか。 ですが、某海賊マンガや某少年探偵マンガ、某不良警察官マンガのように、全数十巻、全百何巻と言われるとなかなか手が出ないですよね。 某鬼と戦うマ…

スプレッドシートの計算をPandasで再現してみた

スプレッドシートでやる計算を、軽量化のためにpythonのPandasで実装しようとしたら、思いの他詰まったのでまとめたいと思います。 取り込んだ統計データのcsv等を使ってシミュレーションを組みたいときに活用できるかと思います。 なおサンプルとして、口座…

「はじめてのパターン認識」を読む 第2章 識別規則と学習法の概要 2項 汎化能力

はじめてのパターン認識 を1章ずつ読んでまとめたいと思います。 2章は長いので、半分に分けています。 前半はこちら。 学習データとテストデータの作り方 汎化能力の評価方法とモデル選択 過去のまとめ 学習データとテストデータの作り方 <用語解説> 学習 …

GWを振り返る

GWも終わってしまった・・・ということで、2日目に引き続き、振り返ってみました。 GW後半2日目で振り返り - koji/メガネ男の日誌 <勉強> 統計的機械学習の数理100問ですが、20ページちょっと行ったところで、そもそも数学がよくわからないという厚い壁に…

「はじめてのパターン認識」を読む 第2章 識別規則と学習法の概要 1項 識別規則と学習法の分類

はじめてのパターン認識 を1章ずつ読んでまとめたいと思います。 2章は長いので、半分に分けています。 2.1 識別規則と学習法の分類 過去のまとめ <用語> 学習データ たくさんの微妙に異なる特徴ベクトルを正解に対応付けるためのデータ なお、 特徴ベクトル…

「はじめてのパターン認識」を読む 第1章 はじめに

はじめてのパターン認識 を1章ずつ読んでまとめたいと思います。 1.1 パターン認識とは 1.2 特徴の型 1.3 特徴ベクトル空間と次元の呪い 感想 1.1 パターン認識とは パターン認識の成否を決める鍵 識別に有効な特徴を素早く抽出すること 識別規則の学習 学習…

GW後半2日目で振り返り

stayhome でロクに遊びにも行けませんが、GWも2日目ということで、気持ちがダレないよう、振り返ってみました。 <勉強> ・統計的機械学習の数理100問 251ページ中、19ページ 行列式と偏微分がわかってないので、テキストを見ながらノートにガリガリ書いて…

python の melt() でグラフ化しやすいデータに加工する

python の melt でグラフ化しやすいデータに加工するテクニックをまとめました。 まずは、グラフ化しにくい DataFrame型のデータを作成します。 import pandas as pd # データの作成 df = pd.DataFrame(data=[('a',1,2,3,4,5,6,7),('b',8,9,10,11,12,13,14),…

ABL 「乗り越えられないキューバックログの回避」を読んだ

(2020/4/27 修正 コンシューマー、プロデューサーという原文の表現を、消費者、開発者という意味ではなく、本来のキューから情報を受け取る側、キューへ情報を渡す側、という意味に修正しました。) 輪読会に向けて、Amazon Builder's Library(以下、ABL)…

連続する数字と記号/文字の要素が入った配列を楽に作りたい

python の for 文の内包表現と、フォーマット済み文字列を組み合わせたテクニックです。 No.1、No.2、No.3 ... という文字+連続する数字が入った配列を簡潔な記述で作りたい場合 list = [f"No.{num}" for num in range(1, 10)] list これを応用して、トラン…