1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Databricksアシスタントを用いた機械学習モデル構築

Posted at

こちらの派生。

機械学習モデルの構築ではどこまでいけるのでしょうか。

ワイン品質予測モデルの構築

/databricks-datasets/wine-quality/winequality-red.csvに格納されているワインデータを使います。

/databricks-datasets/wine-quality/winequality-red.csvのファイルを用いて、qualityを予測するモデルを構築するPythonコードを書いてください。

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression

# データの読み込み
data = pd.read_csv("/databricks-datasets/wine-quality/winequality-red.csv")

# 特徴量とターゲット変数の分離
X = data.drop("quality", axis=1)
y = data["quality"]

# 訓練データとテストデータの分割
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

# 特徴量の標準化
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

# ロジスティック回帰による分類モデルのトレーニング
classifier = LogisticRegression(random_state=0)
classifier.fit(X_train, y_train)

# テストデータによる予測の実行
y_pred = classifier.predict(X_test)

良さそうです。
Screenshot 2024-01-31 at 15.31.47.png

しかし、エラー。
Screenshot 2024-01-31 at 15.32.19.png

診断エラーもイマイチ。ただ、メッセージによれば予測すべきquality列が見つからないとのこと。
Screenshot 2024-01-31 at 15.33.46.png

データを確認したら区切り文字が;でした。
Screenshot 2024-01-31 at 15.33.09.png

プロンプトを改善。

/databricks-datasets/wine-quality/winequality-red.csvのファイルを用いて、qualityを予測するモデルを構築するPythonコードを書いてください。winequality-red.csvの区切り文字は;です。

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression

# データの読み込み
data = pd.read_csv("/databricks-datasets/wine-quality/winequality-red.csv", delimiter=";")

# 特徴量とターゲット変数の分離
X = data.drop("quality", axis=1)
y = data["quality"]

# 訓練データとテストデータの分割
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

# 特徴量の標準化
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

# ロジスティック回帰による分類モデルのトレーニング
classifier = LogisticRegression(random_state=0)
classifier.fit(X_train, y_train)

# テストデータによる予測の実行
y_pred = classifier.predict(X_test)

Screenshot 2024-01-31 at 15.35.17.png

今度は行けました。MLflowにもモデルが記録されています。
Screenshot 2024-01-31 at 15.36.04.png

今日の学び

  • 使用するデータ構造の理解は大事

でも、これでも行けてしまいました。

/databricks-datasets/wine-quality/winequality-red.csvのファイルを用いて、qualityを予測するモデルを構築するPythonコードを書いてください。事前にファイルの区切り文字を判別してください。

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

# データを読み込む
df = pd.read_csv('/databricks-datasets/wine-quality/winequality-red.csv', delimiter=';')

# 特徴量とターゲット変数を選択する
X = df.drop('quality', axis=1)
y = df['quality']

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

# モデルを構築して訓練する
model = LinearRegression()
model.fit(X_train, y_train)

# テストデータで予測する
y_pred = model.predict(X_test)

# モデルの性能を評価する
score = model.score(X_test, y_test)
print("R^2スコア:", score)

恐ろしい…。
Screenshot 2024-01-31 at 15.40.04.png

  • 試行錯誤も大事

はじめてのDatabricks

はじめてのDatabricks

Databricks無料トライアル

Databricks無料トライアル

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?