Streamlitで機械学習ダッシュボードを作る【デプロイまで30分】

Streamlitで機械学習ダッシュボードを作る【デプロイまで30分】 AIツール・レビュー

はじめに

Streamlitは数十行のPythonコードでWebアプリを作れるライブラリです。機械学習モデルのデモ・データ分析ダッシュボード・社内ツールを素早く作るのに最適です。Streamlit Cloud(無料)を使えばGitHubからワンクリックでデプロイできます。

Streamlitのインストールと基本

pip install streamlit
# app.py
import streamlit as st
import pandas as pd
import numpy as np
import plotly.express as px

st.title('売上分析ダッシュボード')
st.sidebar.header('フィルタ設定')

# サイドバーでフィルタ
month_range = st.sidebar.slider('月を選択', 1, 12, (1, 12))
category = st.sidebar.selectbox('カテゴリ', ['全て', 'A', 'B', 'C'])

# データ生成(実際はCSV読み込みや DB接続に変更)
np.random.seed(42)
df = pd.DataFrame({
    '月': np.repeat(range(1, 13), 30),
    '売上': np.random.randint(50, 200, 360),
    'カテゴリ': np.random.choice(['A', 'B', 'C'], 360)
})

# フィルタ適用
df_filtered = df[df['月'].between(*month_range)]
if category != '全て':
    df_filtered = df_filtered[df_filtered['カテゴリ'] == category]

# KPIメトリクス表示
col1, col2, col3 = st.columns(3)
col1.metric('総売上', f"{df_filtered['売上'].sum():,}万円")
col2.metric('平均売上', f"{df_filtered['売上'].mean():.1f}万円")
col3.metric('取引件数', f"{len(df_filtered):,}件")

# グラフ
fig = px.bar(df_filtered.groupby('月')['売上'].sum().reset_index(),
             x='月', y='売上', title='月別売上推移')
st.plotly_chart(fig, use_container_width=True)

# データテーブル
st.subheader('詳細データ')
st.dataframe(df_filtered, use_container_width=True)
# 起動コマンド
streamlit run app.py

機械学習モデルのデモアプリ

# ml_demo.py
import streamlit as st
import joblib
import numpy as np

st.title('品質予測AIデモ')
st.write('製造パラメータを入力して、品質予測を行います。')

# ユーザー入力
temp = st.slider('温度 (℃)', 100, 300, 200)
pressure = st.slider('圧力 (MPa)', 1.0, 10.0, 5.0)
speed = st.slider('速度 (rpm)', 500, 3000, 1500)

# 予測ボタン
if st.button('予測する', type='primary'):
    model = joblib.load('quality_model.pkl')
    X = np.array([[temp, pressure, speed]])
    prediction = model.predict(X)[0]
    proba = model.predict_proba(X)[0]
    
    if prediction == 1:
        st.success(f'✅ 良品(信頼度: {proba[1]:.1%})')
    else:
        st.error(f'❌ 不良品(信頼度: {proba[0]:.1%})')
        st.warning('温度または圧力の設定を確認してください。')

Streamlit Cloudへのデプロイ

  1. GitHubにリポジトリを作成して `app.py` と `requirements.txt` を push
  2. https://streamlit.io/ でアカウント作成
  3. 「New app」→ GitHubリポジトリを選択
  4. 「Deploy」ボタンをクリック

数分で `https://your-app.streamlit.app` というURLでアプリが公開されます。無料プランで1アプリをデプロイできます。

まとめ

Streamlitは「Pythonコードだけでウェブアプリが作れる」という点でMLエンジニアの武器になります。機械学習モデルのデモアプリをStreamlitで作ってGitHubに公開することは、ポートフォリオとして非常に効果的です。転職面接で「実際に動くものを見せる」ことができます。

💼 ITエンジニア転職特化

自分らしく働けるエンジニア転職を目指すなら【strategy career】

年収1000万・残業月30時間以下・リモート可の求人多数

💼 無料で転職相談する →

※アフィリエイト広告を含みます

※本記事にはアフィリエイトリンクが含まれます。

コメント

タイトルとURLをコピーしました