こんにちは、pomeshiba29です !
今回は、有名な「タイタニック予測」のデータセットを題材に、Streamlitを使ってGUIベースでデータ加工と可視化を行うアプリを作ってみました。
GitHub上にローカル環境で動かせるコードを格納しておりますので、興味がありましたらご確認ください。
1.Streamlitとは?
Streamlit は、PythonだけでWebアプリが作れるオープンソースのライブラリです。
機械学習やデータ分析の結果を、コード数行でインタラクティブに可視化できるのが最大の特長です。
2.使用データ
- Titanic - Machine Learning from Disaster(Kaggle公開データ)
こちらをダウンロードの上で train.csv
を使用してデータ加工してみます。
3.Streamlitで実装した機能の紹介
🧹 データ加工機能
GUI操作で以下のようなデータ確認・加工操作を実装しました(デモ動画もあり)。
-
CSVアップロード
✅ GUI上にドラッグアンドドロップで読み込ませることができます
-
型変換(str→intなど)
✅ プルダウンリストから変更したい型が選択できます
-
目的変数の設定
✅ 目的変数を選択し、正例と負例を指定する事ができます(判別分析の場合)
(※回帰分析の場合は選択のみ(スキップも可能))
-
数値統計量の確認
✅ 数値データとして選択したカラムの統計量が確認できます
(※タイタニック予測には日付データは無いのでこちらはスキップ)
-
欠損値と外れ値の確認
✅ 数値データとして選択したカラムの欠損値と外れ値が確認できます
-
カテゴリ変数の概要確認
✅ カテゴリ変数における欠損値、ユニーク数、最頻値が確認できます
-
外れ値・欠損値の補完(ゼロ埋め/平均/最頻値/レコード削除)
✅ GUI上で外れ値・欠損値の扱いを指定する事ができます
-
カテゴリ変数のエンコーディング(Label / One-hot / カラム削除)
✅ カテゴリ変数のエンコーディング方法を指定する事ができます
-
加工後データのプレビューとCSVダウンロード
✅ 加工データのプレビューや、ローカルへのCSVダウンロードがワンクリックで行えます
🎥実際のデモ動画
💬 感想とまとめ
Streamlitによってコードを書かずにデータ前処理&可視化ができる環境がすぐに整います。
想像以上に柔軟な機能実装が出来ることが分かったので、今後もStreamlitを有効活用していきたいと思います。
-
教育・研修用途にも最適
-
分析の入り口として初心者にも優しい
-
アプリの構成を汎用化すれば、別データでも使い回し可能!
🚀 今後の展望
-
Streamlitで学習モデルの作成・評価編をやってみたい
-
AutoMLと連携してモデル選定まで自動化したい
-
クラウド環境(Streamlit Cloudなど)でデプロイして多くの人と共有
🔗 リンク
GitHubリポジトリ:URL
使用データ:Kaggle Titanic Dataset
Streamlit公式:https://streamlit.io/
🙏 最後に
Streamlit初めて使ってみましたが、便利ですね!
もし、「こういった使い方もおすすめ!」
などありましたら、是非教えていただけますと幸いです。