Scikit-learnライブラリを使用してランダムフォレストを実装するサンプルコード

2024年6月17日

以下は、PythonのScikit-learnライブラリを使用してランダムフォレストを実装するサンプルコードです。このコードは、受注数の予測モデルを構築するためのベースとなります。

python
# 必要なライブラリのインポート
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score

# データの読み込み
# データはCSVファイルなどから読み込むことができます
# ここでは、データをdataという変数に格納することを想定しています
data = pd.read_csv('data.csv')

# 特徴量とターゲット変数の分割
X = data.drop(columns=['受注数'])  # 特徴量
y = data['受注数']  # ターゲット変数

# トレーニングデータとテストデータへの分割
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# ランダムフォレストモデルの構築とトレーニング
rf_model = RandomForestRegressor(n_estimators=100, random_state=42)  # ランダムフォレストのモデルを初期化
rf_model.fit(X_train, y_train)  # トレーニングデータでモデルを学習させる

# テストデータを使用したモデルの評価
y_pred = rf_model.predict(X_test)  # テストデータを使用して受注数を予測
mse = mean_squared_error(y_test, y_pred)  # 平均二乗誤差の計算
mae = mean_absolute_error(y_test, y_pred)  # 平均絶対誤差の計算
r2 = r2_score(y_test, y_pred)  # 決定係数の計算

# モデルの評価結果の出力
print("Mean Squared Error:", mse)
print("Mean Absolute Error:", mae)
print("R-squared:", r2)

このコードでは、CSVファイルからデータを読み込み、特徴量とターゲット変数に分割し、トレーニングデータとテストデータに分割しています。そして、ランダムフォレストモデルを初期化し、トレーニングデータで学習させています。最後に、テストデータを使用してモデルを評価し、評価指標を出力しています。

必要に応じて、データの前処理やハイパーパラメータの調整など、追加の手順を追加することができます。

未分類

Posted by ぼっち