サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
www.takapy.work
2024-03-16 pythonを使ってDynamoDBの複数テーブルから非同期でデータ取得してみる Python AWS こんにちは。たかぱい(@takapy0210)です。 DynamoDBの複数テーブルからなるべく高速にデータを取得するために、非同期でデータ取得することはできるのか?を少し調べてみたのですが、あまり事例が無かったのでメモ程度に残しておきます。 ユースケースとし… #Python #AWS #DynamoDB 2024-01-04 DataformをGoogle Cloud上から触ってみる(rawデータから集計テーブルを作るまで) BigQuery GCP たかぱい(@takapy0210)です。 正月にGoogle CloudのDataformをゴニョゴニョ触っていたので、その備忘録を残しておこうと思います。 Dataformとは dbtとの違いは...? 使用した
たかぱい(@takapy0210)です。 正月にGoogle CloudのDataformをゴニョゴニョ触っていたので、その備忘録を残しておこうと思います。 Dataformとは dbtとの違いは...? 使用したデータ 実際に動かしてみる 基本的な設定を記載する「dataform.json」 Dataformのディレクトリ構成はどうするのが良いのか 実際に記述するsqlxのコード definitions/sources/mansion.sqlx definitions/outputs/day_aggregated_by_city.sqlx スケジュール実行する Githubと連携してコード管理する おわりに Dataformとは SQL likeなコード(SQLX)でテーブルやビュー作成クエリを記述することで、テーブル間の依存関係を管理することができるデータモデリングツールです。同じよう
みなさんこんにちは。たかぱい(@takapy0210)です。 本エントリでは、(今更ながら)Luigiを使ってみて感じたメリットをつらつら書いています。 最後にはTitanicのコードを使って実際の機械学習パイプラインを構築してみた例も載せているので、よければ参考にしてみてください。 Luigiとは Luigiを使うメリット コードのメンテナンス性向上 再現性の向上 実験回数の向上 使用する上でのTips requiresはデコレータを用いる 任意のフォーマットでログ出力する ブラウザからパイプラインの実行結果の可視化をしてみる 実際のコンペデータをLuigiフレームワークに載せてみる 最後に 参考資料 本ブログで記載しているコードはGithubにもあげています。 github.com Luigiとは Luigiとは、SpotifyがOSSとして開発しているpythonのバッチ処理フレーム
最近FastAPIに触る機会があり、ログ周りで少し躓いたので備忘録として残しておきます。 背景 補足 特定エンドポイントのログをフィルタリングする方法 おまけ Uvicornのログをjson形式で出力する方法 エンドポイント毎のレスポンスタイムを計測する方法 背景 UvicornでFastAPIアプリケーションを実行する場合、デフォルトではリクエストごとにログを出力し続けます。 実際に、AWS ECSにデプロイしたFastAPI サービスでCloudwatch へログ出力してみると、ALBがヘルスチェック用のエンドポイントにリクエストを送る度に、"200 OK "と出力されてしまい、ログの可読性がなかなか辛い感じになりました。 そこで、ヘルスチェックに使用するエンドポイントなど、出力したくないログをフィルタリングできないかな?と思い色々調べました。 補足 Uvicornは以下のように起動す
こんにちは。takapy(@takapy0210)です。 本エントリは言語処理100本ノック2020の8章を解いてみたので、それの備忘です。 簡単な解説をつけながら紹介していきます。 ネット上に掲載されている解答例はPytorchによる解法が多かったので、TensorFlowを用いて…
本日は特徴量エンジニアリングの重要性について、scikit-learnでの簡単な実装を交えながら書いてみようと思います。 はじめに 特徴量エンジニアリング 単変量統計 検証の概要 検証 cancerデータの読み込み ノイズデータの生成 単変量特徴量選択 ロジスティック回帰で検証 はじめに 交互作用特徴量や多項式特徴量、単変量非線型変換などで特徴量を追加するのは良いけど、じゃあそこから重要な特徴量を選択するのってどうしたらよいのだろう?と思って勉強してみた記事です。 よく、ランダムフォレストやXgboostなどの木系アルゴリズムで学習させて、feature_importanceを確認するみたいなことを聞いたりしますが、本記事はこれらについては触れていません。 特徴量エンジニアリング 特徴量エンジニアリングとは、機械学習モデルのパフォーマンスを向上させるために、特徴量とも呼ばれる追加の予測因子
みなさんこんにちは。たかぱい(@takapy0210)です。 本エントリでは、(今更ながら)Luigiを使ってみて感じたメリットをつらつら書いています。 最後にはTitanicのコードを使って実際の機械学習パイプラインを構築してみた例も載せているので、よければ参考…
こんにちは。takapy(@takapy0210)です。 本エントリは下記イベントでLTした内容の元に、補足事項やコードスニペットなどをまとめたものになります。 kaggle-friends.connpass.com ちなみに今回LTしようと思ったきっかけは以下のような出来事からだったので、みなさんのTipsなども教えていただけると嬉しいです! 情報出回ってる感あるけど、colab pro × vscode ssh のオレオレ運用方法を晒すことにより、もっと良い方法のフィードバックもらえるのではドリブンでLTするのはありなのかもしれない・・・?— takapy | たかぱい (@takapy0210) 2021年8月1日 LT資料 当日みなさんから頂いたコメント 環境構築手順 ngrokアカウント作成と認証キーの取得 ColabにGoogleドライブを接続、ngrok、sshサーバー起動
こんにちは。takapy(@takapy0210)です。 本エントリは言語処理100本ノック2020の7章を解いてみたので、それの備忘です。 簡単な解説をつけながら紹介していきます。 nlp100.github.io コードはGithubに置いてあります。 github.com 第7章: 機械学習 単語の意味を実ベクトルで表現する単語ベクトル(単語埋め込み)に関して,以下の処理を行うプログラムを作成せよ. 60. 単語ベクトルの読み込みと表示 61. 単語の類似度 62. 類似度の高い単語10件 63. 加法構成性によるアナロジー 64. アナロジーデータでの実験 65. アナロジータスクでの正解率 66. WordSimilarity-353での評価 67. k-meansクラスタリング 68. Ward法によるクラスタリング 69. t-SNEによる可視化 60. 単語ベクトルの読み込
こんにちは。takapyです。 本日は「分析者のためのデータ解釈学入門」を読んだので、そのメモ書きです。 (完全に自分用の備忘録なので、雑になっています) 分析者のためのデータ解釈学入門 データの本質をとらえる技術 作者:江崎貴裕発売日: 2020/12/15メディア: Kindle版 1部 データの性質に関する基礎知識 データを観測すること 様々なバイアス 測定基準に関するバイアス 選択バイアス 観測介入に起因するバイアス データの扱いに起因するバイアス 交絡因子と因果関係 データサンプリングの方法論 2部 データの分析に関する基礎知識 一変数データの振る舞い 変数間の関係を調べる 多変量データを解釈する 各種手法の整理 数理モデリングの要点 3部 データの解釈・活用に関する基礎知識 データ分析の罠 データ解釈の罠 データ活用の罠 最後に 1部 データの性質に関する基礎知識 1部では、モ
こんにちは。takapy(@takapy0210)です。 本記事は、転職カウントダウンカレンダー 5日目の記事です。 www.takapy.work はじめに Dockerのネットワーク ブリッジネットワーク ユーザ定義のブリッジネットワークを作成する Dockerのデータ管理 volumeを使用したデータ管理 bind mountを使用したデータ管理 tmpfsを使用したデータ管理 volumeを使用したデータ管理 volumeの作成 volumeの削除 volumeのマウント 実際にコンテナにマウントしてみる readonlyでマウントする bind mountを使用したデータ管理 コンテナにマウントしてみる -v によるマウント --mount によるマウント(推奨) tmpfsを使用したデータ管理 コンテナにマウントしてみる 最後に はじめに 本記事は下記記事の続編です。 www.
はじめに 主成分分析(PCA)とは 固有値と寄与率と累積寄与率 固有値 寄与率 累積寄与率 cancerデータセットで主成分分析 ロジスティック回帰でテスト 標準化 学習 主成分分析で寄与率を確認 2次元まで圧縮してプロット PCAの欠点 主成分分析後のデータでロジスティック回帰 はじめに 昨日、主成分分析の累積寄与率も特徴量選択に使えますよというアドバイスをTwitterでいただいたので、忘れないうちに勉強しておきます。 なるほど・・・ちょっと勉強してきます🙇— takapy | たかぱい (@takapy0210) 2019年2月6日 主成分分析(PCA)とは Principal Component Analysisの略であり、データセットの特徴量を相互に統計的に関連しないように回転する手法です。 回転したあとの特徴量から、データを説明するのに重要な一部の特徴量だけを抜き出すこと(次
こんにちは。たかぱい(@takapy0210)です。 本日は自然言語の可視化を手軽にできるようにしたパッケージnlplotをPyPIに公開したので、これのご紹介です。 nlplotとは? nlplotで何ができるか 使い方 使用データ 事前準備 ストップワードの計算 N-gram bar chart N-gram tree Map Histogram of the word count wordcloud co-occurrence networks sunburst chart まとめ nlplotとは? 自然言語の基本的な可視化を手軽にできるようにしたパッケージです。 現在は日本語と英語で動作確認済みです。 基本的な描画はplotlyを用いているため、notebook上からインタラクティブにグラフを操作することができます。 github.com (スター★お待ちしております🙇♂️)
こんにちは。takapy(@takapy0210)です。 コンピュータで自然言語を扱う場合は、単語(文書)を何らかの形で数値表現に変換する必要があります。 単語の分散表現を得る方法の一つとして、gensimのword2vecを使うことはよくあると思うのですが、本日はGloVeを用いて単語の分散表現を計算してみます。 GloVeのダウンロード&ビルド 使用するcorpus Gloveで計算 実行例 GloVeの分散表現を取得する gensimを用いてGloVeで計算したモデルを読み込む gensimのword2vecで計算した結果と比較する GloVe word2vec 最後に GloVeのダウンロード&ビルド READMEの手順に従ってビルドを行います。 ./glove/buildに実行形式ファイルがいくつか生成されます。 $ git clone http://github.com/sta
こんにちは!たかぱい(@takapy0210)です。 本記事はKaggle Advent Calendar 2019の14日目の記事です。 昨日はkaggle masterのアライさんのKaggleコード遺産の記事でした! とても参考になり、いくつか自分の遺産にも取り入れさせていただきました。 さて本日は、以前から何回かLTさせていただいていたオレオレパイプラインを公開しましたので、簡単にご紹介できればと思います。 はじめに パイプラインについて 実行方法 補足 config.yamlについて 15_show_all_features.pyについて 作成される画像ファイルについて 終わりに はじめに 元々、パイプラインが良い感じにできたら公開したいな〜と思っていたのですが、何回かLTする中で、ありがたいことに以下のようなお声をいただき、あっ、Kaggleのアドベントカレンダーで公開すれば丁
こんにちは。takapy(@takapy0210)です。 本記事は、転職カウントダウンカレンダー 2日目の記事です。 www.takapy.work はじめに ホスト型仮想化とコンテナ型仮想化の違い 仮想化のオーバーヘッド 従来の仮想化(ホスト型仮想化) コンテナ型仮想化 アプリケーション実行の再現性 従来の仮想化(ホスト型仮想化) コンテナ型仮想化 OSの自由度 従来の仮想化(ホスト型仮想化) コンテナ型仮想化 分離レベル 従来の仮想化(ホスト型仮想化) コンテナ型仮想化 Docker for Macについて インストール Docker for Mac上でコンテナがどのように動作しているのか Dockerコンテナの実行 hello-worldコンテの実行 docker runコマンドは何をしているのか Docker Hubとは Dockerイメージとは Dockerイメージダウンロードの
こんにちは!takapy(@takapy0210)です。 今回は、昨日(11月23日)行われた atmaCup#2に参加してきましたので、振り返りや諸々の感想などを残していければと思います。 このような経験の振り返りに関しては、YWTのフレームワークを使うと良いという噂を聞いたので実践してみます。 また、本コンペの公開範囲として データの内容に関しては NG ですがカラム名や問題設定については公開OKの許可を頂いております。 ソースコードの公開は一度運営側とデータ提供社様との内容のチェック後であればOKです。公開したい方はコンペ終了後などに運営にご連絡下さい。 とのことでしたので、この範囲でお伝えできればと思います。 atmaCupとは コンペの問題設定 結果 やったこと(Y) 前半(10時30分〜13時) 後半(13時30分〜18時) わかったこと(W) どんなことが重要だったのか 次に
前回の続きです。 推奨されている重みの初期値について、まとめます。 taxa-program.hatenablog.com 重みの初期値を0にすることの危険性 Xavierの初期値 ReLU関数の場合の重み初期値〜Heの初期値〜 まとめると 重みの初期値を0にすることの危険性 正確には、重みを均一な値にすることはNGです。 なぜなら、誤差逆伝播法において、全ての重みの値が均一に更新されてしまうからです。 これでは、たくさんの重みを持つ意味がなくなってしまいますね。 例えば、重みの初期値を、標準偏差が1のガウス分布を用いて5つの層をもつニューラルネットワークにダミーデータを渡して、隠れ層のアクティベーション(活性化関数の後の出力データ)を見てみます。 下記は活性化関数にsigmoid関数を使用していますが、各層のアクティベーションは0と1に偏っていることが分かります。 Xavierの初期値
こんにちは。takapy(@takapy0210)です。 最近下記のような勉強会が賑わっており、論文を読む機運が高まってきているのでは?と思い始めています。 lpixel.connpass.com しかし、そもそも自分の読みたい内容の論文を探すのが難しかったり、時間がかかったりして、どうしてもはじめの一歩の障壁が高いよな〜などと感じていました。 そこで、無料かつタイムリーに、しかもなるべく労力をかけずにいい感じの論文が知りたいぞ〜というお気持ちになり、AWS Lambdaを使用してarXivから論文を取得して(必要であれば日本語翻訳して)slackに通知するようなコトをやってみました。 arXivとは 結果 slackの設定 AWSの設定 AWS Lambda googletrans(google翻訳)パッケージの追加 1. 任意の場所にディレクトリを生成 2. -tオプションでライブラリ
前回に引き続き、後編です。 www.takapy.work 前編の簡単な復習 言語モデル 言語モデルにおけるフィードフォワード型ニューラルネットワーク(word2vec)の問題点 RNN BPTT(Backpropagation Through Time) BPTTの問題点 Truncated BPTT Truncated BPTTのミニバッチ学習 RNN言語モデルの全体図 LSTM(ゲート付きRNN)とは RNNLMの問題点 勾配爆発への対策 勾配消失への対策 LSTM(Long short-term memory)の概要 LSTMに備わっているゲートについて outputゲート(o) forgetゲート(f) 新しい記憶セル(g) inputゲート(i) なぜLSTMだと勾配消失が起きにくいのか LSTMの改善案 最後に 前編の簡単な復習 前編では、コンピュータに単語の意味を理解させる
今回は重回帰分析で得た知識をつらつら書いていこうと思う。 私、機械学習初心者のため「何言ってんだこいつ」という箇所があるかもしれないが、そこはスルーせずにコメントいただけるととても嬉しい。 今回は賃貸データから家賃を導きだす、ということをモチベーションに機械学習を行なっていく。 CSVデータの読み込み 分布の確認 相関関係の確認 説明変数と目的変数の切り分け CSVデータの読み込み まずは分析対象のデータの読み込みを行なった。 Pythonには機械学習に必要なライブラリがとても多く(だからML = Pythonということなのだろう)、CSVデータの取り込みもサルでもできる。 (使用しているCSVファイルはこの記事の末尾にアップロード先を記載しています) import numpy as np import pandas as pd # CSVファイルの読み込み # xNが家賃を決定する項目、
こんにちは。takapy(@takapy0210)です。 今日はDockerで機械学習の環境を作成したのでそれの備忘です。 はじめに できること Dockerって何 Dockerのインストール 環境構築方法 Dockerイメージのpull コンテナの起動 補足 mecab-ipadic-neologdの使用方法 Dockerfile 最後に はじめに 機械学習に限らず、PCを使って何かしら(プログラミングなど)を学びたいと思った時に、最初に躓きやすいのが環境構築です。 環境構築で1日潰れてしまった・・・というのはまだマシな方で、環境構築ができなくて勉強そのもの自体を諦めてしまったという話もよく耳にします。 本記事は機械学習を勉強し始めたい方に対して、環境構築の手間を最小限にとどめ、勉強に必要なエネルギーを必要な部分にぶちこめるようにすることを目的としています。 (Dockerについての詳細
こんにちは。こんばんは。takapy(@takapy0210)です。 環境構築で少しつまづいたので、備忘です。例のごとく、$で始まる行はコマンドです。 環境 pyenvのインストール python3.6.0のインストールでエラー 解決方法 環境 モデル:Mac book Pro 15インチ OS:macOS Mojava 10.14.2 pyenvのインストール $ brew install pyenv $ which pyenv /usr/local/bin/pyenv ここまでは順調にいった。 python3.6.0のインストールでエラー ここでつまづいた。 $ pyenv install 3.6.0 -> https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz Installing Python-3.6.0... pyt
こんばんは。takapy(@takapy0210)です。 本記事は、転職カウントダウンカレンダー 最終日の記事です。 (最終日と言いつつまだ埋まっていない日付があるので、これは後々埋めます) www.takapy.work いわゆる退職(転職)エントリです。 本日、2019年2月28日を持ちまして、新卒から6年弱勤めたSIerを退職しました。 昨年の11月~12月にかけてN社の退職エントリがバズっていましたが、私はN社勤務ではありませんし名の知れた大手SIerでもありません。 以下は個人の主観に基づく主張のため、ネガティブなことも多分に記載しています。 結論だけ知りたい方は「今後について」に記載しております。 転職活動時のわたし 現職での仕事 開発 Excel(PowerPoint)職人 社内活動 現職の良かったところ 良い人(≠仕事ができる人)が多い 福利厚生が手厚い 住宅手当 医療費補
こんにちは。takapy(@takapy0210)です。 本記事は、転職カウントダウンカレンダー 4日目の記事です。リフレッシュを兼ねてDocker以外の記事を挟みます。 www.takapy.work はじめに SlackのWorkspaceにIncoming Webhookを登録 AWS Simple Queue Serviceの作成 Lambda関数の作成 python3でlambda関数を作成する テスト実行してみる 毎日定刻につぶやくように設定してみる 感想 はじめに AWS Lambdaというサービスを学ぶために、超簡易的な固定メッセージslack通知を作りました。最終的には、毎日定刻に固定のメッセージをslackへ通知できるようになりました。 SlackのWorkspaceにIncoming Webhookを登録 多くの記事が出回っているので、こちらは割愛させていただきます。
年末年始で自然言語処理の勉強をするため、Mecabをインストールして使ってみました。 その時のインストール手順などの備忘録です。 インストール環境 インストール手順 Homebrew Mecabと辞書をインストール mecab-ipadic-NEologdをインストール Pythonバインディングをインストール 原因調査の旅へ python3から使ってみた 一言 インストール環境 MacBook Pro (Mid 2014) macOS Mojava 10.14.1 インストール手順 Homebrew HomebrewでMeCabをインストールします。 ターミナルから下記コマンドを入力すれば、Homebrewが端末にインストールされているか確認することができます。 $ brew -v これでHomebrewのバージョンが表示されればインストール済です。 インストールされていない方は、下記サ
「ゼロから作るDeepLearning2」を読了しましたので、要点や自分なりの解釈をまとめておきます。 www.oreilly.co.jp まとめていたら長編になってしまったため(それってまとまってなくね?)、前編と後編に分割することにしました。 自然言語と単語の分散表現 シソーラスによる手法 カウントベースの手法 分散表現と分布仮説 カウントベース手法の問題点 高頻度単語問題 大規模コーパス問題 推論ベースの手法(word2vec) word2vec CBOW(continuous bag-of-words)モデル 重みと分散表現 skip-gramモデル CBOWとskip-gramの比較 word2vecの高速化 最後に 自然言語と単語の分散表現 コンピュータに単語の意味を理解させる表現方法として、大きく分けて下記3つが考えられる。 シソーラスによる手法 カウントベースの手法 推論ベ
本日は回帰で頻出の線形回帰とリッジ回帰についてです。 線形回帰とは リッジ回帰 L1正規化とか、L2正規化ってなんだよ スコアを比較してみる リッジ回帰のalpha値をいろいろ変更してみる 線形回帰とリッジ回帰の係数の大きさをプロットしてみる 線形回帰とは 訓練データにおいて、予測と真の回帰ターゲットyとの平均二乗誤差が最小になるように、パラメータwとバイアスbを求めるアルゴリズムです。 単回帰分析や重回帰分析などが該当します。 import mglearn from sklearn.linear_model import LinearRegression # 線形回帰 %matplotlib inline X, y = mglearn.datasets.load_extended_boston() X.shape # -> (506, 104) # モデルの定義 model = Line
本記事は、kaggle Advent Calendar 2018の17日目の記事です。 qiita.com 何を書くか直前まで悩んでいましたが、16日に参加したAIもくもく会の中で、 機械学習に興味はあるけど、どのような手順で、何から勉強していったら良いかわからない という方が数名いたので、自分が今年の3月くらい〜今日に至るまで勉強してきた中から 今の自分ならこのような手順で勉強することをオススメする!という記事を書いてみようと思います。 ※自分の勉強した教材の中からのオススメになるので、偏った内容になることをご了承ください。 ※これもオススメ!というものがありましたら、ぜひ教えていただけると嬉しいです。 タイトルにあるメダルより大切なものについては最後に記載しております。 対象読者 2018年3月時点の筆者スペック 2018年3月〜今日に至るまで勉強したこと羅列 書籍 動画 udemy
次のページ
このページを最初にブックマークしてみませんか?
『ギークなエンジニアを目指す男』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く