第3回Python解説 ステップアップ編 - 応用を極める!Web アプリケーション、データ分析、そして機械学習へ 

前回の記事では、Python のモジュール、パッケージ、応用的な文法、例外処理、ファイル入出力について解説しました。今回は、Python を使って実際にどのようなことができるのか、Web アプリケーション開発、データ分析、機械学習の 3 つの分野に焦点を当て、具体的な例を交えながら、さらに詳しく解説します。

1. Web アプリケーション開発

Python は、Web アプリケーション開発にも広く使われています。ここでは、Flask という軽量なフレームワークを使って、簡単な Web アプリケーションを作成する例を紹介します。

1.1. Flask のインストール

まず、Flask をインストールします。

Bash

pip install Flask

1.2. Web アプリケーションの作成

Python

from flask import Flask, render_template, request

app = Flask(__name__)

@app.route("/", methods=["GET", "POST"])  # ルート URL にアクセスした時の処理 (GET と POST に対応)
def index():
    if request.method == "POST":  # POST リクエストの場合
        name = request.form["name"]  # フォームから名前を取得
        return render_template("result.html", name=name)  # 結果ページを表示
    else:  # GET リクエストの場合
        return render_template("index.html")  # 入力フォームを表示

if __name__ == "__main__":
    app.run(debug=True)  # 開発サーバーを起動

templates/index.html:

HTML

<!DOCTYPE html>
<html>
<head>
    <title>入力フォーム</title>
</head>
<body>
    <h1>名前を入力してください</h1>
    <form method="POST">
        <input type="text" name="name">
        <button type="submit">送信</button>
    </form>
</body>
</html>

templates/result.html:

HTML

<!DOCTYPE html>
<html>
<head>
    <title>結果</title>
</head>
<body>
    <h1>こんにちは、{{ name }} さん!</h1>
</body>
</html>

このコードを実行すると、http://127.0.0.1:5000/ で Web ページが表示されます。入力フォームに名前を入力して送信すると、結果ページが表示されます。

1.3. Flask の応用

Flask を使うと、HTML テンプレート (Jinja2)、データベース連携 (SQLAlchemy など)、Web フォーム (WTForms など)、認証機能 (Flask-Login など) など、より高度な Web アプリケーションを開発することができます。

2. データ分析

Python は、データ分析にも強力なツールを提供しています。ここでは、pandas というライブラリを使って、データ分析を行う例を紹介します。

2.1. pandas のインストール

まず、pandas をインストールします。

Bash

pip install pandas

2.2. データ分析の実行

Python

import pandas as pd
import matplotlib.pyplot as plt

# CSV ファイルからデータを読み込む
df = pd.read_csv("data.csv")

# データの先頭を表示
print(df.head())

# データの統計情報を表示
print(df.describe())

# 特定の列のデータを抽出
print(df["column_name"])

# データをグループ化して集計
print(df.groupby("column_name").sum())

# データをグラフで可視化
df.plot(kind="bar")  # 棒グラフ
plt.show()

df.plot(kind="scatter", x="column1", y="column2")  # 散布図
plt.show()

# 欠損値を処理
df.fillna(0)  # 0で埋める
df.dropna()  # 欠損値を削除

# 重複データを処理
df.drop_duplicates()  # 重複データを削除

# データをソート
df.sort_values("column_name")  # 特定の列でソート

pandas を使うと、データの読み込み、加工、集計、可視化、欠損値処理、重複データ処理、ソートなど、様々なデータ分析処理を簡単に行うことができます。

3. 機械学習

Python は、機械学習の分野でも広く使われています。ここでは、scikit-learn というライブラリを使って、簡単な機械学習モデルを作成する例を紹介します。

3.1. scikit-learn のインストール

まず、scikit-learn をインストールします。

Bash

pip install scikit-learn

3.2. 機械学習モデルの作成

Python

from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error

# 訓練データ
X = [[1], [2], [3], [4], [5]]  # 特徴量
y = [2, 4, 6, 8, 10]  # 目的変数

# データを訓練データとテストデータに分割
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# 線形回帰モデルを作成
model = LinearRegression()

# モデルを訓練
model.fit(X_train, y_train)

# 予測
y_pred = model.predict(X_test)

# モデルの評価
mse = mean_squared_error(y_test, y_pred)  # 平均二乗誤差
print("平均二乗誤差:", mse)

# 新しいデータで予測
X_new = [[6]]  # 新しいデータ
y_pred = model.predict(X_new)
print(y_pred)  # [12.]

scikit-learn を使うと、様々な機械学習モデル (線形回帰、ロジスティック回帰、決定木、ランダムフォレストなど) を簡単に作成し、訓練、評価、予測を行うことができます。

まとめ

今回は、Python を使って Web アプリケーション開発、データ分析、機械学習を行う例を紹介しました。Python は、これらの分野以外にも、様々な分野で活用できる汎用性の高いプログラミング言語です。ぜひ、Python をマスターして、あなたのアイデアを形にしてください。

参考資料

補足

この記事では、Python の応用的な内容について簡単に紹介しました。Python には、Web フレームワーク (Django など) やデータ可視化ライブラリ (matplotlib, seaborn など) など、さらに多くの機能があります。これらのライブラリを使うことで、より高度な Web アプリケーション開発やデータ分析、機械学習を行うことができます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です