DATAFLUCT Tech Blog

https://tech.datafluct.com/

データ技術・データサイエンス・MLOps に関するトレンドを追いかけます

フィード

記事のアイキャッチ画像
データ抽出に特化したAirbyteによるEL(T) 環境構築の実践
DATAFLUCT Tech Blog
こんにちは。今回は、データ基盤の構築の一部を実際に体験してみたいと思います。 データ基盤を作成するにあたり、まずは、社内に眠る様々なデータを集めてくる必要があります。前回の記事では、その機能を「収集」と紹介していました。 データ基盤とは何か? 収集・変換・統制の3つの構成要素に分けて解説 本記事では、データ基盤の収集機能をOSSで構築し、実際に体験してみたいと思います。 これからデータ基盤を開発していく方に、少しでもお役に立てたら幸いです。 データ連携に必要なELTについて データ抽出機能に特化したAirbyteについて ELに必要な環境のセットアップ Airbyteのセットアップ Postg…
2年前
記事のアイキャッチ画像
Metaflowでモデルの学習をpipeline化するまで
DATAFLUCT Tech Blog
皆さんは「MLOps」について取り組んでいらっしゃるでしょうか。私は2018年頃からデータクレンジングや機械学習モデルの構築や運用をしてきましたが、当時の日本で私の耳にはMLOpsという言葉が入ってくることはありませんでした。 ただMLOpsの元となった「DevOps」については当時から認知していました。今日のMLOpsというのはDevOpsの考えや知見を機械学習分野に適応、進化させたものだと考えられています。 そんなMLOpsですが、厳密な定義はなく、私自身も専門的に取り組んだことがない分野です。今回はMLOpsを快適に実現するためのライブラリのMetaflowについて一緒に取り組んでいきま…
2年前
記事のアイキャッチ画像
Responsible AI (責任あるAI)を支える5つの技術トピックを解説
DATAFLUCT Tech Blog
本稿は近年注目を集めているResponsible AI(責任あるAI)の実現をサポートする技術トピックとそれぞれのトピックの実現をサポートするツール群を紹介します。 AI が引き起こす問題 Responsible AI とは? Responsible AI が満たすべき原則 技術トピックと6つの原則の関係 解釈可能性 プライバシー(差分プライバシー) ドリフト検知 因果推論 MLOps InterpretML 準備 InrepretMLを利用した入力データの傾向分析 学習およびモデルの分析 まとめ AI が引き起こす問題 AIの精度に関する知見がたまり、AIや機械学習が利用されることが一般的に…
2年前
記事のアイキャッチ画像
PyCaretとMLflowで機械学習の実験を簡単に実行・記録する
DATAFLUCT Tech Blog
こんにちは!nakamura(@naka957)です。今回はPyCaretとMLflowを用いたAutoMLと実験記録を連携した活用方法をご紹介します。今回は様々な機械学習アルゴリズムの比較・モデル実装に加えて、行った実験記録の管理を簡単に行う方法をご紹介します。実施事項がたくさんありますが、PyCaretとMLflowの活用で少ないコード行数で簡単に実施できます。PyCaretは機械学習モデルの実装を簡単に行えるOSSですが、PyCaretからMLflowを呼び出すこともでき、実験記録の管理も同時に行えます。【PyCaret】 ■ AutoMLライブラリPyCaretを使ってみた〜モデル実装…
2年前
記事のアイキャッチ画像
機械学習 実践 - クラスタリングでデータ間の関係を把握する
DATAFLUCT Tech Blog
こんにちは! nakamura(@naka957)です。 今回はクラスタリングをご説明します。クラスタリングは教師なし学習に代表される手法の1つで、正解情報なしでデータ間の類似性を推定し、グループ化する手法です。DATA Campusでは、これまでに教師なし学習の概要とその手法の1つの主成分分析について解説しています。そちらも是非参考にしてみてください。 ■機械学習における教師なし学習の理解を深める ■教師なし学習の実践 主成分分析で高次元データを可視化する 本記事では、最初にクラスタリングの概念と主要な手法であるk-means法について説明します。次に、実装例の紹介に加え、同じ教師なし学習で…
2年前
記事のアイキャッチ画像
WordCloudの弱点と精度を高めるための形態素解析について
DATAFLUCT Tech Blog
みなさん、こんにちは。DATAFLUCTのKazumiです。 前回の記事( WordCloudで小説の特徴を テキストマップ化してみた )でWordCloudを用いたテキストマップの作成を紹介しました。そこではWordCloudを使って、テキスト内でよく使われる単語を可視化できました。今回はその仕組みともっと良くするための方法について話していきます。 WordCloudにはできないことがある! そもそも形態素解析というのは何か? 形態素への理解 形態素を解析する、とは ①文章を分割する ②品詞をつける WordCloudの弱点と応用 WordCloudの形態素解析が粗い理由 WordCloud…
2年前
記事のアイキャッチ画像
MLflowの環境構築を解説〜Docker Composeを用いてデータ分析環境と実験記録の保存場所を分けて構築〜
DATAFLUCT Tech Blog
こんにちは!nakamura(@naka957)です。今回はDocker Composeを用いたMLflowの環境構築方法をご説明します。 前回の記事 ではMLflowの初心者向けチュートリアルをご紹介しました。MLflowを用いることで、実験記録の管理を簡単に行えることを解説しています。 MLflowの使い方 - 機械学習初心者にもできる実験記録の管理 - 今回はMLflowの環境構築方法をご紹介します。特に実務を想定し、データ分析環境とMLflow環境を分けて構築します。これにより、異なるプロジェクト間でMLflow環境を共有することが可能になり、毎回のMLflow環境構築と管理の手間を省…
2年前
記事のアイキャッチ画像
お手軽で高速なFastAPIでCloudRunに推論APIを公開するまで
DATAFLUCT Tech Blog
FastAPIとは 特徴 API作成までの手軽さ Flaskよりも非常に高速 ドキュメントの自動生成 簡単なAPIを作る インストール シンプルなGETのAPIを作る 自動生成されるドキュメント 推論APIを作る 学習済みモデル(.pkl)の読み込み リクエストボディから推論を行う 推論APIを公開する GCP: CloudRunについて gcloudコマンドでのデプロイ APIを呼び出してみる まとめ 参考文献 FastAPIとは 2022年現在、大人気のマイクロWEBアプリケーションサーバーを構築するためのPython製のフレームワークです。2018年12月に作者のtiangoloさんがリ…
2年前
記事のアイキャッチ画像
文系出身のデータサイエンティストが実践してきた勉強法を徹底解説
DATAFLUCT Tech Blog
こんにちは! AIがトレンドとなって世間で騒がれる中、『文系だけどAIの開発ができるようになりたい!』と思う方も多いのではないでしょうか。 今回は文系出身の私、小笠原がAIにも通ずるデータサイエンスの知識を得るまでに行った勉強方法を紹介します。データサイエンスはAIのベースとなる領域ですので、データサイエンスを学ぶことはAIを学ぶことにつながります。 本記事では文系の方を対象としますが、文系出身ではなくてもデータサイエンス分野の勉強を始めてみたい方は是非一読ください! 前半で文系出身でもデータサイエンスの勉強を進められるかどうかの疑問点解消、それから勉強を進めていく注意点。後半で実際に私がどの…
2年前
記事のアイキャッチ画像
機械学習を利用するコンポーネントの継続的な性能検証と Locust を利用した負荷テストの実施方法
DATAFLUCT Tech Blog
こんにちは。本稿では機械学習を利用したコンポーネントの処理速度の計測方法、および負荷テストのやり方について解説してゆきます。 機械学習を利用するコンポーネントの処理速度を計測する必要性 機械学習アルゴリズムを適用する関数の処理速度を検証 実行時間を測定 関数の実行時間を算出するデコレーター 性能評価テストと継続的な性能チェック 機械学習 API の性能を評価する Locust:インストールと負荷テスト設定追加 Locsutを使った測定測定 もうすこし高度な使い方 分散実行 コマンドラインから実行 まとめ 機械学習を利用するコンポーネントの処理速度を計測する必要性 機械学習を利用したタスクでは、…
2年前
記事のアイキャッチ画像
MLflowの使い方 - 機械学習初心者にもできる実験記録の管理 -
DATAFLUCT Tech Blog
こんにちは!nakamura(@naka957)です。今回はMLflowをご紹介します。 読者の皆さんは、機械学習モデルのハイパーパラメータ調整を手作業で管理し、苦労した経験がないでしょうか。実験記録の管理は大事な一方で、なかなか大変です。 今回紹介するMLflowは、実験記録を簡単に管理できる便利なPythonライブラリです。MLflowは実験管理だけでなく、機械学習プロジェクト全体を管理する様々な機能を提供する非常に人気なライブラリです。一方で、多機能な反面で初心者が最初に導入するにはハードルが高い側面があるのも事実です。 本記事では、MLflowの実験管理の機能に絞り、簡単な例で使い方を…
2年前
記事のアイキャッチ画像
Tensorflow Data Validationを用いた機械学習用データセットの検証方法
DATAFLUCT Tech Blog
こんにちは!nakamura(@naka957)です。本記事では、TensorFlowの拡張機能であるTensorFlow Data Validationを用いたデータセット検証を行う方法をご紹介します。 データセット検証とは、機械学習モデルの構築時に使う訓練データと運用データの間の違いを調べることです。訓練データと運用データの性質に違いが存在すると、モデル精度の悪化に繋がります。そのため、構築したモデルの精度監視だけでなく、より前工程となるデータセット時点での検証も非常に重要になります。特に、データセットサイズが大きくなるほど、手作業での検証が困難となるため、効率的で自動化された検証方法が求…
2年前
記事のアイキャッチ画像
実装方法から読み解くファインチューニングと転移学習の違いとは
DATAFLUCT Tech Blog
ファインチューニングとは 転移学習との違い 実装方法の違い 実装時の2つの注意点 1. 学習済みモデルの全層を更新しない 2.学習率を小さな値にする ファインチューニングの実装 MobileNet V2を使ったファインチューニング 学習可能な層の比較 学習率の比較 まとめ 前回は「転移学習」について紹介し、転移学習を使えば少量のデータであっても高い精度を出せるかもしれないという話をしました。今回は転移学習よりもさらに高い精度を出せるかもしれない「ファインチューニング」について解説していきます。 ファインチューニングとは ファインチューニングを日本語に訳すと「微調整」という意味になります。このフ…
2年前
記事のアイキャッチ画像
WordCloudで小説の特徴をテキストマップ化してみた
DATAFLUCT Tech Blog
みなさん、こんにちは。DATAFLUCTのKazumiです。 今回は文章の解析を簡単に知ってもらうために、WordCloudというPythonのライブラリを用いて小説の「テキストマップ」を見ていきます。テキスト中の単語の出現頻度を大きさで表現することで、視覚的に描写することができるようになります。 1.【問題】このテキストマップが表す小説は何でしょう? 2.実際に作ってみよう! 利用準備 【コード】 実行した結果 3.WordCloudで英語のテキストマップを取り上げた理由 1.【問題】このテキストマップが表す小説は何でしょう? さっそく、WordCloudを使って、テキストマップを6個作って…
2年前
記事のアイキャッチ画像
時系列分析をお手軽に!機械学習ライブラリDartsの実演
DATAFLUCT Tech Blog
こんにちは! 以前にDartsという時系列分析に特化したpythonライブラリを紹介しました。 前編はこちら 今回は実際にDartsを動かしていきましょう。 Darts内にもデータセットがありますが、公式でも触れられているのであえて、外部のデータを参照してみましょう。導入編でも触れたアイスクリームの生産量の変化を推測したいと思います。 アイスクリームのデータセットはこちら 上記リンクの上部右側Downloadからcsvをダウンロードしてください。 Dartsのインストールは以下の1コマンドです。Windowsではデフォルトのコマンドプロンプトでうまくインストールが終了しなかったので、WSL環境…
2年前
記事のアイキャッチ画像
教師なし学習の実践 主成分分析で高次元データを可視化する
DATAFLUCT Tech Blog
こんにちは!nakamura(@naka957)です。今回は、主成分分析(PCA)をご説明します。 主成分分析は教師なし学習の重要手法の1つです。教師なし学習は正解情報なしでデータのパターンを推測する手法です。その中でも、主成分分析は多数の特徴量を少数の特徴量で表現する手法です。言い換えれば、高次元のデータを低次元で表現するため、次元圧縮の手法とも呼ばれます。 本記事では、主成分分析の概要と実装例をご紹介します。実装例では、手書き数字の画像データを実際に次元圧縮してみます。手書き数字の画像データでパターンが観測されるか確かめてみましょう。 では、早速始めていきます。 主成分分析 実装例 データ…
2年前
記事のアイキャッチ画像
時系列分析をお手軽に!機械学習ライブラリDartsの解説
DATAFLUCT Tech Blog
こんにちは! 皆さんはAutoMLと呼ばれるツールをご存じでしょうか?AutoMLは機械学習の面倒なデータ処理からモデルの選定、実際に学習を行って予測値を算出するまでを自動で行ってくれる便利なツールです。 今回はその中でもDartsというAutoMLを紹介します。 Dartsとは 時系列分析とは? Dartsの強み Darts内のモデルを覗く ARIMA ARモデル(autoregressive) MAモデル(moving average) 非定常過程 Fast Fourier Transform Prophet RNN まとめ Dartsとは Dartsは少ないコードで機械学習を実行でき、時…
2年前
記事のアイキャッチ画像
PyCaretからAutoVizを使用して探索的データ分析(EDA)を簡単に行ってみる
DATAFLUCT Tech Blog
こんにちは!nakamura(@naka957)です。本記事では、PyCaretで簡単に探索的データ分析を行う方法をご紹介します。 探索的データ分析(Explanatory Data Analysis: EDA)とは、データセットを様々な視点から分析し、データを考察することを目的に行うことです。EDAで得られた知見や仮説を活用し、その後のデータ分析や機械学習モデルの構築を有効に行うことができます。 データを考察するための最も有効な手法は、可視化することです。そのため、データを可視化するスキルはEDAにおいて非常に重要になります。本記事ではEDAを目的とした可視化する方法をご紹介します。 では、…
2年前
記事のアイキャッチ画像
データ基盤とは何か? 収集・変換・統制の3つの構成要素に分けて解説
DATAFLUCT Tech Blog
こんにちは。今回は、データ基盤を俯瞰して、全体像を理解してみたいと思います。 突然ですが、皆さんが所属されている会社では、データの活用は進んでいますでしょうか?自社内で、どういう風に、データの活用を進めていくとしても、データ基盤の整備は非常に大切です。 本記事では、「データ基盤とは何か?」という点から話を進め、データ基盤を構成する3つの要素に注目し、全体感を捉えていきたいと思います。今後、データ基盤を整備していく方に、少しでもお役に立てたら幸いです。 データ基盤とは? データ基盤の3つの構成要素とは? 1. 収集 2.変換 3.統制 3つの構成要素の実装の流れ まとめ データ基盤とは? そもそ…
2年前
記事のアイキャッチ画像
【データが少なくても諦めないで!】知っておくべき転移学習について
DATAFLUCT Tech Blog
こんにちは! 皆さんは機械学習モデルを作ろうとした時にデータが少なくても、思ったような精度が出ずに困ったことはないでしょうか。 筆者は機械学習を用いたプロジェクトで、「やりたいことはあるけど....データがない...ッ!」といつも困っていました。 今回は少ないデータでも精度の良いモデルが作れるかもしれない転移学習について解説をしていきます。 転移学習とはなにか なぜ転移学習は注目されるのか 少ないデータでも高精度なモデルを構築可能 短い時間で学習が可能 転移学習の実装方法 実際に転移学習をさせてみた 転移学習: 学習済みvgg19 転移学習: 学習済みMobileNet V2 転移学習なし: …
2年前
記事のアイキャッチ画像
機械学習における教師なし学習の理解を深める
DATAFLUCT Tech Blog
こんにちは!nakamura(@naka957)です。今回は、教師なし学習をご説明します。 機械学習では、学習データに正解情報が含まれている教師あり学習への注目が多いかもしれません。一方で、学習データに正解情報を含まない教師なし学習も存在します。教師なし学習は学習データに正解情報なしで、データ自身のパターンを推測する手法です。 皆さんの手元にあるデータも、正解情報がなくとも、教師なし学習の活用で新しいパターンが見えてくるかもしれません。 本記事では、教師なし学習とその主要な手法の概要を理解することを目指します。 では、早速始めましょう。 教師なし学習とは 教師あり学習との違い 教師なし学習の手…
2年前
記事のアイキャッチ画像
機械学習で知っておくべきデータの種類と構造化・非構造化データとは
DATAFLUCT Tech Blog
こんにちは、DATAFLUCTのSaiです。 今回は機械学習には欠かせないデータについて解説します。データにはどんな種類があるかということと、機械学習する際にデータをどのように扱う必要があるかを一緒に見ていきましょう。 データの種類 1.数値データ 2.画像データ 3.音声データ 4.テキストデータ 小まとめ 構造化データと非構造化データについて 非構造化データのデータ変換 最後に データの種類 データには次の4種類があります。 1.数値データ 項目と数値のみで、機械学習で最も扱いやすいデータになります。例えば、右は東京の2005~2021年の4月の気象データになりますが、この過去の気象データ…
2年前
記事のアイキャッチ画像
2変数 単回帰分析の実践
DATAFLUCT Tech Blog
はじめに 相関関係とは 相関関係と因果関係 回帰分析 最小二乗法 回帰直線の公式 決定係数 注意点(発展) 補足 回帰分析の実例 まとめ はじめに DATA FLUCTのYamaguchiです。今回は、回帰分析の初歩として、最もベーシックな2変数の回帰分析(単回帰分析)について分かりやすく説明したいと思います。 まず、世の中にある様々なデータのうち、互いに何らかの関係を持っているデータの種類の組み合わせがあります。身近な例でいうと 身長と体重 血圧と年齢 気温とアイスの売上 などでしょうか。例えば、「身長と体重」と聞くと、身長が高い人は体重が重いと想像するのは自然なことでしょう。「年齢と血圧」…
2年前
記事のアイキャッチ画像
そもそも機械学習って何?AIとの違いを知ろう
DATAFLUCT Tech Blog
こんにちは!DATAFLUCTのKazumi.Kです。 この記事では機械学習をより深く理解するためにAI、ディープラーニングとの関係に触れて解説します。AIについても意外と中身は知られていないと思いますので、AI・機械学習・ディープラーニングについて見ていきましょう。 AI・機械学習・ディープラーニングについて AI(人工知能)とは 機械学習とは 最後に AI・機械学習・ディープラーニングについて 「機械学習」は、AI(人工知能)の中の1つの技術の要素になります。AIと聞くとみなさんは何を思い浮かびますか? ロボット 自動運転 ... 人によって色んなイメージがありますよね。AIの定義について…
2年前
記事のアイキャッチ画像
図解でわかる、機械学習をどこよりも簡単に解説
DATAFLUCT Tech Blog
はじめまして、DATAFLUCTのSaiです。 この記事では「機械学習」について、AIやディープラーニングの違いに触れながら分かりやすく解説していきます。 また機械学習を知る上で欠かせない AI ディープラーニング 教師あり学習、教師なし学習、強化学習 回帰、分類 精度 といった用語も図をまじえて最後まできちんと理解できるようになっています。 身近にある機械学習 1. 迷惑メール判定 2. チャットボット 機械学習とは ディープラーニングと機械学習の関係 ディープラーニングは複雑なデータが得意ってどういうこと? データから特徴や法則性を見つけ出すってどういうこと? 機械学習の種類 教師あり学習…
2年前
記事のアイキャッチ画像
データドリフトを簡単検知!PythonライブラリEvidentlyを使ってみた
DATAFLUCT Tech Blog
こんにちは!nakamura(@naka957)です。今回は機械学習モデルの運用時で特に問題となるドリフトを検知するOSSをご紹介します。 本番環境のモデル精度が低下する現象をドリフトと呼びます。特にデータ由来をデータドリフトと呼びます。 機械学習はデータから入力情報と予測対象の関係性を推定する手法です。そのため、前提となる入力情報の性質が変化すると(データドリフト)、予測精度が低下します。 データドリフトの検知は機械学習のサービスを運用する上で非常に重要ですが、ドリフト検知を含まない機械学習プロジェクトも多いのではないでしょうか。 本記事では、ドリフト検知が簡単にできるPythonライブラリ…
2年前
記事のアイキャッチ画像
機械学習の運用に欠かせないドリフト(Drift)の概念と重要性
DATAFLUCT Tech Blog
こんにちは!nakamura(@naka957)です。 ドリフト(Drift)という言葉をご存知でしょうか?機械学習のサービスを運用する上で重要な項目ですが、知らない人も多いのではないでしょうか。 機械学習プロジェクトは、モデルを構築するまでがゴールではありません。本番環境での運用を続けることがゴールです。ところが、本番環境モデルは徐々に精度が低下していきます。そのため、時機を見計らって再学習が必要です。このように、モデルの精度が想定からズレることをドリフトすると言います。ドリフトはモデルの運用のために重要となる概念です。 本記事では、ドリフトの概念と重要性を説明していきます。 ドリフトとは …
2年前
記事のアイキャッチ画像
密度分布を比較するためJoyPyでサクッと重ねてみた
DATAFLUCT Tech Blog
こんにちは!nakamura(@naka957)です。今回は可視化で便利なOSSをご紹介します。1次元密度分布をさくっと描画でき、データの傾向を簡単に比較できます。 JoyPyとは ライブラリの読み込み データセットの準備 Joyplotsを試してみる グラフの色をデザインする 線の色を単色で指定 線の色をカラーマップで指定 塗りつぶし色を単色で指定 塗りつぶし色を個々で指定 まとめ 参考文献 JoyPyとは JoyPyは複数の1次元密度分布を重ねて描画できるPythonライブラリです。joyplotsもしくはridgeline plotsと呼ばれています。 1次元密度分布は、ヒストグラムを滑…
2年前
記事のアイキャッチ画像
【続き】 AutoMLライブラリPyCaretを使ってみた 〜結果の描画〜
DATAFLUCT Tech Blog
こんにちは!nakamura(@naka957)です。前回記事に引き続き、機械学習を少ないコードで実装できるPyCaretをご紹介します。 【前回の記事】AutoMLライブラリPyCaretを使ってみた〜モデル実装から予測まで〜 PyCaretとは (復習) 機械学習モデルの実装 結果の描画 学習曲線 ハイパーパラメーター 残差プロット 予測結果 vs 教師データ 特徴量(入力変数)の重要度 SHAP モデルの保存・読み込み まとめ 参考文献 (おまけ) PyCaretのインストール PyCaretとは PyCaretはAutoML(Auto Machine Learning)を簡単に行えるP…
2年前
記事のアイキャッチ画像
SHAPで機械学習モデルを解釈してみた
DATAFLUCT Tech Blog
こんにちは!nakamura(@naka957)です。今回は機械学習モデルの解釈するために有用な手法であるSHAPをご紹介します。モデル解釈はデータ分析や機械学習の活用において重要な内容ですので、興味がある方は是非参考にしてみてください。 SHAPとは 機械学習モデルの準備 SHAP値の算出 waterfallプロット beeswarmプロット scatterプロット まとめ 参考文献 SHAPとは SHAP(SHapley Additive exPlanations)は、機械学習モデルを解釈するのに便利な手法です。モデルの予測に対し、特徴量(説明変数)の寄与度を定量的に算出できます。また、モ…
2年前