※ 一部ガイドラインに反する内容がありましたので、該当箇所を修正のうえ再投稿しております。
はじめに
Axross は、エンジニアの"教育"と"実務"のギャップに着目し、「学んだが活用できない人を減らしたい」という想いで、ソフトバンク社内起業制度にて立ち上げたサービスです。
現役エンジニアによる実践ノウハウが"レシピ"として教材化されており、実際に動くものを作りながら、具体的な目的・テーマをもってプログラミングを学ぶことができます。
今回は、Axross運営が厳選した**『AI・Python活用レシピを100選』**をご紹介します。是非、みなさまのAIやPython学習の参考にしてみてください。
Axross:https://axross-recipe.com
公式Twitter:https://twitter.com/Axross_SBiv
基礎
スクレイピング
01 . JUMPの掲載順をスクレイピングで取得しイロレーティングで人気度を数値化するレシピ
歴代の週刊少年ジャンプ掲載順をWEBサイトのスクレイピングにより取得し、イロレーティングによってそれぞれの漫画タイトルの人気度を数値化します。
02 . SUUMOの物件情報を取得・分析するレシピ
物件情報サイトSUUMOから東京23区の物件情報(住所)をクローリングし、Geocording APIによって座標変換してfoliumで地図上に情報をマッピングし、物件の家賃と築年数の関係性を分析します。
可視化
03 . ほしい情報やグラフがサイトにないときのオープンデータ活用 ~東京都のオープンデータ分析~
東京都の新型コロナウイルス感染症対策サイトのオープンデータをAPIから取得し、データの前処理・可視化を行い、新規感染者の動向を分析します。
04 . japanmapを活用した日本地図の可視化レシピ
日本の人口密度を題材に、データを取得から日本地図上への可視化、様々な角度から分析するまで行います。
WEBアプリ開発
05 . PythonのStreamlitでチャットボットWebアプリケーションをお手軽に作るレシピ
データ分析業界でよく使われる、HTMLやCSSを書かずにPythonのみで完結するWEB開発フレームワークStreamlitを使い、簡単なチャットボットのWebアプリケーションを作成します。
06 . DjangoとPytorchを使って花を認識するwebアプリを作成するレシピ
PyTorchで花の種類を深層学習で画像認識し、Djangoを使って花の種類検索Webアプリを作成します。
数値
統計解析
07 . 試験データをクロス表にまとめ相関分析するレシピ
大学受験や資格試験などの試験問題の回答データを用いて、Pythonによる相関分析と集計関数を行い、統計分析します。
08 . アンケートを層別分析するレシピ
アンケート回答結果のデータを用いて、アンケート回答の中で注目すべき箇所をスクリーニングします。。
09 . 従業員満足度調査(エンゲージメント・サーベイ)の分析レシピ
人事制度、評価、労務管理など従業員の会社に対する意識や問題点を把握する従業員満足度調査の結果データを用いて、Pythonによるデータ分析と仮説検証アプローチの考え方を学べます。
10 . App Storeのカスタマーレビューを集計してヒストグラムを作って比較評価するレシピ
PayPayのApp StoreカスタマーレビューデータをPythonで取得し、その傾向をmatplotlibを使ってヒストグラム等でグラフ可視化し、レビュー傾向を比較評価します。
11 . Pythonと統計検定で、回帰モデルを用いて市場反応分析するレシピ
相関分析と回帰・重回帰モデルを用いて、マーケティング活動を表す変数(商品の価格・販売促進活動など)に対する市場の反応分析(売上、購買行動など)を行います。
数理最適化
12 . Python&数理最適化を用いて最適な配送計画を算出するレシピ
Pythonと数理最適化手法を用いて、「倉庫にある荷物をどの車両で、どの順番で顧客に届けるべきか」という課題に対し、運搬経路の最適化をメタヒューリスティクス手法で算出します。
整理
13 . pandasを使ったcsvファイル解析とデータ整理テクニック
CSVファイルによるログデータ集計・解析業務を、Excelでマクロを組む代わりにPython/pandasを利用して大量かつ多ファイルの場合でも柔軟に分析できるテクニックを学べます。
14 . ECサイトのCSVファイルをデータベース化し分析するレシピ
ECサイトの売上データ(CSVファイル)をデータベースに格納し、SQLを操作してデータ分析を行います。
時系列
15 . 購買履歴データを分析し購買傾向を抽出するレシピ
時系列の購買履歴やレシートデータについて、アソシエーション分析を活用して顧客の購買ルールを自動抽出します。
16 . ECサイトで在庫に無駄なく商品を発注するためのデータ分析レシピ
ECサイトの注文履歴データを使い、機械学習によって商品発注量を予測します。
17 . Transformer による長期時系列予測するレシピ
変電所の変圧器湯温データを使って配電問題を解決するテーマで、Informerによる長期時系列予測モデルを実装します。
予測
18 . ECサイトのデータ分析から新商品を考えるレシピ
ECサイトのデータを用いて売れ筋商品や、頻繁にサイトを利用している層等のマーケティング分析を行い、新商品の品目やターゲットを設定して、そのターゲットからのフィードバックがサイトレビューでどの数値に該当するか予測するモデルを構築します。
19 . ECサイトのレビューからブランド信者を育成するレシピ
ECサイトのレビューから頻繁に利用してくれる顧客の声をキャッチし、注力すべき顧客を特定し、そのフィードバックをもとに次の施策考案に活用するマーケティング分析を行います。
20 . Campfireでプロジェクトを分析し作戦を考案するレシピ
クラウドファンディングサービスCampfireから複数プロジェクトをスクレイピングで取得し、NumPy、pandas、機械学習などを取り入れながらプロジェクトの成功、失敗を分ける要素・傾向を分析します。
クラスタリング
21 . ワインのアルコール度数を予測するレシピ
ワインのデータセットを用いてアルコール度数の回帰分析を通して、データリーク(モデル精度低下)を起こさない機械学習の実装を実践します。
22 . 日経33業種の株価増減率をクラスタリング分析し、日経平均株価と連動する業種を見つけるモデル作成レシピ
日経株価平均のデータをクラスタリングし、k-means法によるクラスタリングと主成分分析によって、日経平均株価の値動きと似通った値動きをする業種を特定するモデルをつくります。
強化学習
23 . 強化学習 QーLearningを実装して宝探しロボットを構築するレシピ
ゼロから宝探しロボットを構築し、システム自身が試行錯誤しながら最適なシステム制御を実現する強化学習のアルゴリズム Q-Learningを実装します。
機械学習
24 . Pycaretによる自動機械学習のレシピ
PythonライブラリのPycaretを用いて自動でデータ処理や予測精度の高い機械学習モデルの選定を行います。
25 . MicrosoftのFLAMLで効率的に自動で適切な機械学習モデルを見つけるレシピ
MicrosoftのPythonライブラリFLAMLを使用し、効率的に適切な分類と回帰の機械学習モデルを自動探索します。
26 . 機械学習の特徴量の重要度を表示・活用するレシピ
機械学習のモデル性能における各要素がどの程度予測に寄与したかを示すためにFeature Importanceを活用して特徴量の重要度を表示します。
27 . Permutation Importanceによる特徴量の重要度分析レシピ
機械学習における特徴量の重要度評価・分析手法 Permutation Importanceを活用し、機械学習のモデル精度改善を行います。
28 . 機械学習の精度向上① ~評価指標の最適化~
機械学習モデルの評価指標の最適化を行い、機械学習モデルの精度を向上させる考え方を学べます。
29 . 機械学習の精度向上② ~不均衡データへの対応~
機械学習モデルの精度向上を目指す手法として、不均衡なデータに対するデータ側への対処方法を学べます。
30 . 機械学習の精度向上③ ~アンサンブル学習~
機械学習モデルの精度向上を目指す手法として、複数モデルの精度比較、組み合わせ予測するアンサンブル学習の手法を学べます。
画像
画像認識
31 . 画像データが少量しかないタスクに対してResNet-50の転移学習を行うレシピ
CNNの代表モデルResNet-50を用いて、少量データに対する学習済みモデルの転移学習を行います。短時間で高精度の分類器を作成するための手法を学べます。
32 . PyTorchによる画像認識最強モデル「EfficientNet」実装!
層の深さ、層の幅、入力画像サイズの3つのちょうどよいバランスを提案する最強の画像認識の深層学習モデル「EfficientNet」を実装します。
画像分類
33 . 画像認識による乗り物の分類レシピ(前編)
Flickr APIから画像データを収集し、データの前処理から、モデルの定義・作成・評価まで、機械学習の画像分類の一連の流れを追体験します。
34 . 転移学習による乗り物分類モデルの精度向上レシピ(後編)
転移学習によって画像分類モデルの精度向上を行います。
35 . OpenAIのCLIPを使った、ゼロショット画像分類(学習を必要としない画像分類)を実装するレシピ
画像と画像を説明するテキストのペア4億組を学習させた画像分類モデルCLIPによる、ゼロショット画像分類(全く学習を行わずに画像分類)を行います。
セグメンテーション
36 . 航空写真からアノテーションデータを作成して、対象物を抽出するセマンティックセグメンテーションモデルを作成するレシピ
Tellusの衛星データを用いてゴルフ場コースのセマンテックセグメンテーションを行います。
37 . セマンティックセグメンテーションで道路画像から人や車を認識するレシピ
自動運転における周囲環境把握を想定し、PyTorchによるセマンティックセグメンテーション手法PSPNetを活用して道路画像から人と車を識別します。
物体検出
38 . Tensorflow Object Detection API 道路標識検出レシピ
Tensorflow Objection APIを用いて画像の中の関心対象物(道路標識の一時停止)を背景から自動区別して物体検出する機械学習モデルを作成します。環境構築から自前データの取得、アノテーション、モデル構築・訓練し、結果の推論まで一連の物体検出・画像処理の流れを追体験します。
39 . Raspberry piでリアルタイムに7セグメントディスプレイを読み取るレシピ
OpenCVを用いて7セグメントの画像認識モデルを作成し、Tensorflow lite形式に変換してRaspberry pi上で推論します。
40 . YOLOv5 と転移学習を使ってマスクの着用者と非着用者の顔検出を行うレシピ
YOLOv5と転移学習を用いて近年需要の高いマスクの着用者と未着用者の顔検出を行い、学習結果をTensorBoardで可視化します。
41 . 学習済みSSDを少量のデータでファインチューニングし、新たなクラスの物体検出を行うレシピ
PyTorchのSSDモデルを利用して物体検出の学習済みモデルをファインチューニングし、少量データでかつ短時間の学習で新たなクラスの物体検出を実現します。
42 . Unity上で靴の3D物体検出を行うレシピ
Unityの推論ライブラリBarracudaを用いて、靴の3D物体検出を行います。
43 . PF-AFNでバーチャル試着を実装するレシピ
ECやアパレルで活用されているバーチャル試着について、パースを必要としないWUTONを改良した最新深層学習モデルPF-AFNを実装します。
超解像化
44 . PyTorchによるMulti Scale Residual Networkモデル構築レシピ
監視カメラ画像の解析などで近年用いられる、画像をより高解像度にする超解像化手法について、PyTorchでMSRNモデルを実装します。
文字認識(OCR)
45 . LINEのCLOVA OCRで複数の請求書PDFをCSVデータに一括出力するレシピ
LINE社提供のAI-OCR、CLOVA OCRを活用し、複数の請求書画像を読込み、テキストのみを抽出します。
46 . Synthetic Dataを用いて画像から文字を検出するモデルを実装するレシピ
文字検出モデルCRAFTの学習・推論を実装し、実データから文字の検出と文字領域の予測を行います。
47 . Paddle OCRを用いたOCR検証について理解するレシピ
Baidu社のPaddle OCRを用いて、手書きや印刷文字の読取におけるOCR性能を体験しながら理解できます。
画像異常検知
48 . PyTorchを使ってGANによる異常検知を行うレシピ
深層学習GANを画像の異常検知領域に応用した「AnoGAN」と「EGBAD」をPyTorchを使って実装します。
49 . 生産ラインを想定した画像異常検知の実装レシピ
工場の生産ラインの不良品検出を想定して、オートエンコーダモデルとサポートベクトルマシンを構築し、一様なパターンを持つ画像の異常検知をし、異常部分をマーキングします。
画像生成
50 . Pytorchを使ってGANを実装するレシピ
PyTorchを使ってGANによる画像生成を実装します。
51 . StyleGANで本物と区別がつかない画像を生成するレシピ
学習済みStyleGANとデータセットを用いて、本物と区別がつかない存在しない人物の顔画像を生成します。
52 . テキストから画像を生成するDALL-Eを実装するレシピ
DALL-EとCLIPを組み合わせて、任意テキストからその内容に合わせたそれっぽい画像を生成するモデルを作成します。
画像編集
53 . 機械学習応用編~k平均法によるカラー画像圧縮法~のレシピ
機械学習k-平均法を用いてカラー画像を圧縮します。
画像合成
54 . StyleGAN+CLIPモデルで、テキストによる顔画像の編集を行うレシピ
StyleGANとCLIPモデルを実装し、編集したい内容をテキストで指示できる汎用性を持たせ、ランドマークに合わせた顔画像の切り出し、顔画像を生成する潜在変数の推定・編集を行います。
55 . 顔交換(FaceSwap)技術を活用し、人物画像の顔を入れ替えるレシピ
動画像から人物の顔の入れ替えを行い、ディープラーニングで自然な合成「ディープフェイク」を実装します。
56 . StarGAN-v2で顔の特徴操作・顔の合成を実現するレシピ
有名人の顔写真データからディープラーニングStarGAN-v2による顔の特徴操作・合成を行います。
57 . 1枚の静止画を動画に合わせて動かすレシピ
Motion Representations for Articulated Animationを使い、静止画を動画に合わせて動かす動画像合成処理を行います。
58 . 自分の表情や顔の動きに合わせて、キャラクターアバターを動かすレシピ
Web接客のようなアバター活用を想定し、同じカテゴリの静止画と動画を用いて静止画を動画のように動かすFOMMモデルを使い、動画とWebカメラを通して自分と他人の顔写真を動かします。
感情認識
59 . あなたのPCをPepperのような表情認識ロボットにできるレシピ
pazというロボット開発OSSライブラリを用いて、対話する人の表情を認識し発話するボットを実装します。
行動認識
60 . SlowFastを用いた人物の行動認識を行うレシピ
Faccebook社が開発した人物の行動認識を行うライブラリDetectron2を用いてSlowFastを実装し、カメラに映る人物の行動認識を行います。
61 . MediaPipeを利用して簡単なジェスチャーを推定するレシピ
MediaPipeを用いて手のランドマークを検出し、指先の軌跡から3種類の簡単なジェスチャーを認識します。
姿勢推定
62 . OpenPoseでプロ野球選手のバッティングフォームを分析するレシピ
OpenPoseを用いて野球選手の動画から人物検出・姿勢推定、骨格検出を行い、重心位置の軌跡を推定してバッティングフォームを解析します。
行動追跡
63 . DeepSORTを用いた人物のトラッキングを行うレシピ
YOLOとReid、SORTのアルゴリズムを組み合わせたDeepSortを用いて、動画に映る人物の追跡を行います。
類似画像検索
64 . Arcfaceを用いた類似顔画像検索アプリケーションの実装レシピ
顔認識の深層距離学習をモデルArcfaceを用いて、顔画像の類似度を算出し、類似顔画像を検出するアプリケーションを作成します。
画像分類モデル精度向上
65 . 画像分類する深層学習モデルの判断部分を可視化するレシピ
機械学習の画像分類モデルが分類する際の判断根拠をGrad-CAMを使って可視化します。
66 . 【PyTorch】精度爆上げのオレオレベストプラクティスを10個まとめてみた!
実務レベルまで機械学習の画像分類モデル精度を上げるための、10個のベストプラクティスを学べます。
言語
言語可視化
67 . コメントからポジネガを自動判定するレシピ
ECサイトのレビュー解析を想定し、WEBスクレイピングで取得した日本語テキストのポジネガ分類モデルを実装します。
68 . 1冊の本を1枚の画像で可視化するレシピ
日本語のテキストデータをMecabを使って形態素解析し、単語の頻出度に応じてWordCloudで可視化します。
69 . ブラウザの履歴データから形態素解析でユーザーの嗜好を抽出するレシピ
形態素解析ライブラリJanomeを使って、Google Chromeの履歴データから頻出単語を取り出してランキング化し、Webページの閲覧傾向を分析します。
知見抽出
70 . 材料の単語分散表現から知見を抽出するレシピ
材料系の膨大な論文をスクレイピングで学習し、mat2vecを使って材料同士の類似度を分析し、マテリアルズインフォマティクスにおいて、単語分散表現の機械学習モデルから人間が気づかなかった知見を抽出・可視化します。
文章解析
71 . TwitterAPIと形態素解析でフォロワーのいいねしたツイート傾向を分析するレシピ
Twitter APIとJanomeを活用し、自分のTwitterアカウントのフォロワー分析を行います。
72 . TwitterAPIで最もいいねがつきやすい時間帯を分析するレシピ
Twitter APIからツイートを取得・解析し、投稿された時間帯ごとにいいね数を集計し、matplotlibでヒストグラム可視化します。
73 . ユーザのTweet傾向をクラスタ分析するレシピ
Twitter APIから膨大なツイートを取得し、テキストをクラスタリングすることで、ユーザー毎にいくつかの種類にグルーピングします。
感情予測
74 . 日本語BERT事前学習モデルを使ってMultilabel Sentiment分類器を学習する
Twitter APIを使ってツイートを取得し、事前学習モデルを使ったマルチラベルデータをHugging Faceで事前学習し、テキストの感情分類モデルを作成します。
チャットボット
75 . LINEチャットボット(おうむ返し&AI搭載型LINEチャットボット)の作成レシピ
オウム返し&AI搭載型のLINEチャットボットを作成します。
76 . BERTによる日本語QAの発話応答モデル作成レシピ
BERTを使ってA4紙1枚程度の日本語マニュアルの中から、日本語で質問すると日本語で回答を探し出すモデルを作成します。
77 . 【発展編】BERTによるQAチャットボットの学習モデル作成レシピ
BERTとTransformerを活用し、日本語のQAチャットボットの学習モデルを作成します。
78 . MicrosoftのDialoGPTでチャットアプリを開発するレシピ
Microsoft社が開発しているDialoGPTを活用したチャットアプリを開発します。
79 . GPT-3で自然対話するSlackボットを作るレシピ
SlackAPIとGASを組み合わせ、GPT-3の言語生成モデルを使って自由に対話できるSlackボットを作成します。
択一問題
80 . 日本語の択一問題を解くレシピ
Microsoft社のAIチームから独立したrinna社がOSS化した日本語GPT-2・BERTの事前学習モデルを使い、日本語の択一問題を解くタスクを行います。
文章生成
81 . GPT-3でタイトルや要約から記事本文を自動生成するレシピ
文章生成モデルGPT-3のAPI機能を使って、長文の自動要約と日本語記事コンテンツ自動生成を行います。
82 . GPT-3のNLPアプリケーション開発を体験してみるレシピ
文章生成モデルGPT-3を用いて、NLPアプリケーションの開発を行います。
83 . 夏目漱石の「坊ちゃん」を学習させてマルコフ連鎖で新作を自動生成させるレシピ
マルコフ連鎖で文章生成するPythonライブラリMarkovifyを使って夏目漱石の「坊ちゃん」の新作を自動生成します。
84 . LeakGANを使った文書生成のレシピ
チャットボットやAIアシスタントが発話するシナリオ作成への応用を想定し、LeakGANを使って文章生成を行います。
キャプション生成
85 . PyTorchを活用し画像のキャプションを自動生成するレシピ
PyTorchによるオートエンコーダモデルを使って、画像キャプションを自動生成します。
86 . 【発展編】深層学習を活用し、より高精度な画像のキャプションを自動生成するレシピ
画像の特徴量をTransformerに入力させ、AttentionとBeam Searchを利用してより高精度な画像キャプションを自動生成します。
文章要約
87 . BertSumを使った文書要約のレシピ
BERTを応用して文章要約を行うディープラーニングBertSumを実装します。
検索
88 . 文書の「あいまい検索」機能をつくるレシピ
word2vecの発展系fasttextを使って、日本語文章の検索単語が完全に一致しなくても検索できる「あいまい検索」を実装します。
レコメンデーション
89 . ゼロから作る、ホテルのディスクリプションのCosine Similarityに基づくレコメンドシステム
Cosine Similarityという文章同士を比較する際に類似度計算する手法を用いて、ホテルのレコメンドシステムを実装します。
90 . scikit-surpriseを使った映画のレコメンデーションレシピ
ユーザーの嗜好情報からどの商品が気に入るか予測する協調フィルタリングの仕組みを用いて、scikit-surpriseを使った映画のレコメンデーションシステムを実装します。
言語モデル精度向上
91 . 「より良い」機械学習モデルの構築方法を学べるレシピ
モデル性能の改善、処理速度の改善、メモリやCPU仕様リソースの削減といった、より良い自然言語処理の機械学習モデルを構築するためのノウハウを解説します。
音声
音声認識
92 . Zoom会議の録音データから音声認識で議事録を自動生成するレシピ
PCマイクから録音した音声ファイルデータをWatson APIの音声処理を用いて文字起こしし、議事録を自動生成します。
93 . 音声処理ツールキットESPNetを用いて日本語音声認識を行うレシピ
PCマイクで録音した音声信号データを用いて、ESPNetを使い日本語の音声認識モデルのTransformer ASRを実装します。
音声合成
94 . Amazon Polly を使った音声合成のレシピ
AWSサービスのAmazon Pollyを活用し、AWS環境で音声合成を作成します。
機械翻訳
95 . AWSのサービスを活用した有名人画像認識アプリの開発のレシピ
AWSサービスの画像認識(Rekognition)、音声合成(Polly)、機械翻訳(Translate)の機能を活用し、有名人の画像認識アプリを開発します。
楽曲分類
96 . 楽曲のムードを深層学習で分類するレシピ
楽曲100曲のムード別に分類した音声データを学習し、音響的特徴量を使ってディープラーニングで楽曲を分類します。
楽曲生成
97 . 画像から音楽を生成するモデルを構築するレシピ
エンコーダーデコーダによる画像分類と言語生成のディープラーニングモデルを用いて、画像から音楽BGMを自動生成します。
波形異常検知
98 . TensorFlow Kerasで時系列データの異常検知を行うレシピ
TensorFlow Kerasを用いて再構成畳み込みオートエンコーダモデルを構築し、波形の時系列データに対する異常検知とOptunaを用いたモデル構造探索を行います。
音声対話
99 . 【GPT-3発展編】音声だけで会話するチャットボットを作るレシピ
GPT-3の言語生成モデルを応用し、文章入力を介さず音声のみで会話するボット開発を行います。
その他
セキュリティ
100 . 【AIセキュリティ入門】Adversarial Examplesを理解しAIモデルを頑健にするレシピ
映像や音声などAIへの入力データに対して細工をすることによって、意図的にAIを誤認識させる攻撃手法とAIをより頑健にする手法を実践します。
最後に
AIを活用するためのコツは、座学や理論の勉強よりも、まず実際にAIを実装する体験をしてみること、そして、様々なデータセットやパラメータを変えて、AIモデルの実装を繰り返し演習することが近道だと思います。
Axrossのレシピを通して、プログラムの意味を考えながら写経(コードを実際に書き写す行為)し、実際に動くものをつくりながら学ぶことで、新たな知識習得やスキルアップの一助になれれば幸いです。