目次
多くのアクセスしやすいO1モデルがありますが、公式のモデルはOpenai APIを使用するか、ChatGPT PlusまたはTeam Subscriptionを使用しています。 
2。セットアップ
8。 docker
ホームページ テクノロジー周辺機器 AI Openai O1-Previewチュートリアル:機械学習プロジェクトの構築

Openai O1-Previewチュートリアル:機械学習プロジェクトの構築

Mar 04, 2025 am 09:13 AM

このチュートリアルでは、ゼロから水質分類器アプリケーションを作成し、Dockerを使用してクラウドに展開します。 

Openai O1モデルを調査し、その機能を理解することから始めます。次に、水質分類器アプリケーションを構築するための効果的なプロンプトを作成する前に、APIとChATGPTを介してモデルにアクセスし、O1-PreviewバージョンとO1-MINIバージョンの両方を実験します。 

出力を受けたら、O1モデルから提供されたコードとファイルをプロジェクトフォルダーに追加し、Pythonコードをローカルに実行してロード、プリプロース、トレーニング、評価します。最後に、FastAPIアプリケーションを構築し、Dockerを使用して顔に展開します。

AIが初めての場合、AI Fundamentals Skill Trackは開始するのに最適な場所です。 ChatGPTや大規模な言語モデルなどの人気のあるAIトピックについて学ぶのに役立ちます。 

Openai O1-Previewチュートリアル:機械学習プロジェクトの構築

著者による画像

O1-PREVIEWとO1-MINI

を開始します

多くのアクセスしやすいO1モデルがありますが、公式のモデルはOpenai APIを使用するか、ChatGPT PlusまたはTeam Subscriptionを使用しています。 

このセクションでは、複雑な問題を解決するためにそれらを使用する方法を学びます。

O1モデルへのアクセス

チャットの完了のためにOpenai APIに精通している場合は、モデル名を「O1-Preview」に設定し、詳細なプロンプトを提供する必要があります。それはとても単純です。

chatgptでアクセスするには、モデル選択ドロップダウンオプションをクリックして、以下に示すように「O1-Preview」モデルを選択する必要があります。

from openai import OpenAI
client = OpenAI()

response = client.chat.completions.create(
    model="o1-preview",
    messages=[
        {
            "role": "user", 
            "content": "Create an SQL database from scratch, including guides on usage and code everything in Python."
        }
    ]
)

print(response.choices[0].message.content)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

chatgpt

でo1-previewモデルを使用します Openai O1-Previewチュートリアル:機械学習プロジェクトの構築 O1モデルのプロンプトは異なります。その力を完全に実現するには、複数の指示または詳細な質問を提供する必要があります。最適な答えを生成するには、長く複雑な指示が必要です。

ヨーロッパのフリーランス事業の税金の計算は複雑になる可能性があります。 O1モデルを使用して、スペイン政府に対する納税義務を決定します。

プロンプト:「

私はスペインのフリーランサーであり、米国を拠点とする会社で働いています。過去1年間、私は120,000米ドルを獲得しており、借りている税金の額を計算する必要があります。 8か月前にスペインに引っ越したことを考慮してください。

応答にはほぼ30秒かかりましたが、応答が詳細になりました。それには、スペイン政府にどれだけ借りているかを決定するために、数学的方程式、税務情報、および必要なすべての詳細が含まれていました。

応答は次の部分に分割されました

  1. 税の居住地のステータスを決定します
  2. 収入をユーロに変換します
  3. 課税所得を計算します
  4. 社会保障の貢献を計算します
  5. 総推定税は
  6. >
  7. 重要なメモ
  8. 次のステップ

概要セクションのレビューでは、政府におおよその税金を提供してくれますが、これは非常に役立ちます。 

Openai O1-Previewチュートリアル:機械学習プロジェクトの構築

チャット応答のドロップダウンメニューをクリックして、一連の思考と意思決定を表示できます。 

あなたの質問に回答する前に、モデルが彼の文脈、税の影響、税金ブラケットを理解していることがわかります。

Openai O1-Previewチュートリアル:機械学習プロジェクトの構築

chatgpt

でo1-miniモデルを使用します

O1-MINIモデルの精度は低く、O1-Previewモデルよりも速いです。私たちの場合、このモデルを使用して、データサイエンスの履歴書のための静的なWebサイトを作成します。

プロンプト:「

Pythonフレームワークを使用して、データサイエンス履歴書の静的Webサイトを作成してください。」

適切な履歴書Webサイトを作成しただけでなく、GitHubページで無料で公開する方法に関するガイダンスも提供しました。

応答は次の部分に分割されました Openai O1-Previewチュートリアル:機械学習プロジェクトの構築

ペリカンの紹介

前提条件

ペリカン
    のセットアップ
  1. テーマの選択
  2. 履歴書コンテンツの作成
  3. サイトの構築
  4. MakeFile
  5. で自動化します
  6. 履歴書Webサイトの展開
  7. 履歴書Webサイトの強化
  8. 追加リソース
  9. 応答に思考の連鎖を表示するのは素晴らしい機能です。モデルがペリカン、フラスコ、またはヒューゴのいずれかをWebフレームワークとして使用することを検討していることが明確にわかります。最終的に、それは可能な限り最良のソリューションを選択しました。
  10. Openai O1-Previewチュートリアル:水質分類器アプリケーションの構築
  11. このプロジェクトでは、O1-Previewモデルを使用して、水質分類アプリケーションを構築および展開します。これは非常に複雑なプロジェクトです。これは、私たちが探しているものの詳細な説明を提供するためです。
ChatGPTを使用してデータサイエンスプロジェクトの構築に興味がある場合は、データサイエンスプロジェクトにCHATGPTを使用するガイドをご覧ください。プロジェクト計画、データ分析、データ前処理、モデル選択、ハイパーパラメーターチューニング、Webアプリの開発、展開にChatGPTを使用する方法を学びます。

1。プロンプトエンジニアリング

すべてのプロジェクト指令がモデルに提供されることを確認したいため、迅速なエンジニアリングにより多くの時間を費やします。 Openai O1-Previewチュートリアル:機械学習プロジェクトの構築

プロンプトは3つの部分に分かれています:

  1. プロジェクトの説明:プロジェクトの詳細な説明と私たちが構築したいもの。
  2. 目標と制限:90%の精度を達成することを目指すなど、目標情報を提供します。  
  3. 従うべき手順:必要なすべての手順を提供します。たとえば、Kaggle APIを使用したデータ摂取、フォルダー内のメトリックの保存、データ分析の実行、モデルのトレーニングと評価など。できるだけ多くの手順を書きます。
CHATGPTプロンプトエンジニアリングの初心者向けガイドを読んで、CHATGPTで適切なプロンプトを書く方法を学び、必要な結果を生成します。迅速なエンジニアリングは芸術であり、O1モデルの導入により、学習するために必要になりました。

プロンプト:「私のプロジェクトマネージャーは、https://www.kaggle.com/datasets/adityakadiwal/water-potabilityで利用可能なKaggle Datasetを使用して水質アプリケーションの開発を任されています。非常に正確なモデルを構築できるように、ファイル、Pythonパッケージ、およびコードに必要なすべての情報を提供してください。

目標は、全体的な精度90%を達成することです。 

プロジェクトを構築するための手順に従って:

1。 APIを使用してKaggleからデータセットをロードし、データフォルダーに解凍します。

2。データを事前に処理し、いくつかのデータ分析を実行します。メトリックフォルダーに分析の数値とファイルを保存します。

3。 Scikit-Learnフレームワークを使用してモデルをトレーニングします。実験を追跡し、モデルファイルとメタデータを保存してください。 Skopsライブラリを使用してモデルを保存します。 

4。詳細なモデル評価を実行し、結果を保存します

5。ユーザーから画像を取得し、水の品質を予測するFASTAPIアプリケーションを作成します。

6。 Jinja2テンプレートを使用してユーザーインターフェイスを追加してください。

7。 Dockerオプションを使用して、ハグのフェイスハブにアプリを展開します。

生成された応答により、データのロード、プリプロース、モデルのトレーニングと評価、FASTAPIアプリケーションの作成、ユーザーインターフェイスの作成、および展開するために必要なすべての情報が提供されました。 

問題は断片化されており、コードをコピーして貼り付けるためにPythonファイルとHTMLファイルを作成したいということです。

すべてのコードをPythonファイルとHTMLファイルに変換し、私たちの生活をさらに楽にします。

フォローアッププロンプト:「コードをPythonファイルに変換してください。」 

ご覧のとおり、すべてのファイルとコードを含むプロジェクト構造があります。私たちがしなければならないのは、フォルダーとファイルを作成し、コードをコピーして貼り付けることだけです。

2。セットアップ

O1モデルは、プロジェクトディレクトリを設定するために必要なすべての情報を提供します。コードエディターを使用して、プロジェクトディレクトリ内でフォルダーとファイルを作成する必要があります。 

次のフォルダーを作成します:

  1. アプリ:このフォルダーには、FastAPIおよびHTMLテンプレートのアプリファイルが含まれます。
  2. データ:このフォルダーには、元のデータと前処理されたデータが含まれます。
  3. メトリック:このフォルダーには、モデル評価データとデータ分析が含まれます。
  4. モデル:このフォルダーには、保存されたモデルとスケーラーオブジェクトが含まれます。
  5. SRC:このフォルダーには、読み込み、処理、トレーニング、評価に役立つすべてのPythonファイルが含まれます。
  6. さらに、メインディレクトリにはdockerfile、readme、およびrequistreme.txtファイルが含まれます。
3。データセットをロード

Kaggle APIを使用して水質Kaggleデータセットをロードし、データフォルダーに解凍します。

datadownload_data.py:Openai O1-Previewチュートリアル:機械学習プロジェクトの構築

pythonファイルを実行すると、データセットがダウンロードされ、解凍され、zipファイルが削除されます。 

$ python .srcdownload_data.py

4。データを事前に処理し、データ分析を実行します

from openai import OpenAI
client = OpenAI()

response = client.chat.completions.create(
    model="o1-preview",
    messages=[
        {
            "role": "user", 
            "content": "Create an SQL database from scratch, including guides on usage and code everything in Python."
        }
    ]
)

print(response.choices[0].message.content)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
Preprocessing Pythonファイルは、データをロードし、クリーンし、欠落データを処理し、スケーリングし、スケーラーと前処理されたデータセットを保存します。また、データ分析を実行し、メトリックとデータの視覚化を保存します。

datapreprocess_data.py:

import os

# Ensure the data directory exists
os.makedirs("data", exist_ok=True)

# Download the dataset
os.system("kaggle datasets download -d adityakadiwal/water-potability -p data --unzip")
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
前処理されたデータとすべてのデータ分析が数値を記録しました。 

5。モデルの構築とトレーニング

Dataset URL: https://www.kaggle.com/datasets/adityakadiwal/water-potability
License(s): CC0-1.0
Downloading water-potability.zip to data
100%|████████████████████████████████████████████████████████████████████████████████| 251k/251k [00:00<00:00, 304kB/s]
100%|████████████████████████████████████████████████████████████████████████████████| 251k/251k [00:00<00:00, 303kB/s]
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
トレーニングスクリプトは、前処理されたデータをロードし、それを使用してランダムフォレスト分類器をトレーニングします。その後、スコープはモデルを保存し、実験を手動で追跡し、モデルメタデータをJSONファイルとして保存するために使用されます。
import os
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler
import joblib

# Create directories if they don't exist
os.makedirs("metrics", exist_ok=True)
os.makedirs("models", exist_ok=True)

# Load the dataset
data = pd.read_csv("data/water_potability.csv")

# Check for missing values and save the summary
missing_values = data.isnull().sum()
missing_values.to_csv("metrics/missing_values.csv")

# Statistical summary
stats = data.describe()
stats.to_csv("metrics/data_statistics.csv")

# Pair plot
sns.pairplot(data, hue="Potability")
plt.savefig("metrics/pairplot.png")

# Correlation heatmap
plt.figure(figsize=(10, 8))
sns.heatmap(data.corr(), annot=True)
plt.savefig("metrics/correlation_heatmap.png")

# Handle missing values
imputer = SimpleImputer(strategy="mean")
data_imputed = pd.DataFrame(imputer.fit_transform(data), columns=data.columns)

# Feature scaling
scaler = StandardScaler()
features = data_imputed.drop("Potability", axis=1)
target = data_imputed["Potability"]
features_scaled = scaler.fit_transform(features)

# Save the scaler
joblib.dump(scaler, "models/scaler.joblib")

# Save preprocessed data
preprocessed_data = pd.DataFrame(features_scaled, columns=features.columns)
preprocessed_data["Potability"] = target
preprocessed_data.to_csv("metrics/preprocessed_data.csv", index=False)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
srctrain_model.py:

Openai O1-Previewチュートリアル:機械学習プロジェクトの構築トレーニングスクリプトは、以下に示すように、モデルファイルとメタデータを生成します。

6。モデルの評価

モデル評価スクリプトは、処理されたデータと保存されたモデルをロードして、分類レポート、混乱マトリックス、ROC曲線、AUC、および全体的な精度を生成します。メトリックと図はすべてメトリックフォルダーに保存されています。

srcevaluate_model.py:
$ python .\src\preprocess_data.py 
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
from openai import OpenAI
client = OpenAI()

response = client.chat.completions.create(
    model="o1-preview",
    messages=[
        {
            "role": "user", 
            "content": "Create an SQL database from scratch, including guides on usage and code everything in Python."
        }
    ]
)

print(response.choices[0].message.content)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
import os

# Ensure the data directory exists
os.makedirs("data", exist_ok=True)

# Download the dataset
os.system("kaggle datasets download -d adityakadiwal/water-potability -p data --unzip")
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

全体的な精度はそれほど良くありません。ただし、O1モデルに精度を向上させるようにいつでも依頼できます。                                                      

Dataset URL: https://www.kaggle.com/datasets/adityakadiwal/water-potability
License(s): CC0-1.0
Downloading water-potability.zip to data
100%|████████████████████████████████████████████████████████████████████████████████| 251k/251k [00:00<00:00, 304kB/s]
100%|████████████████████████████████████████████████████████████████████████████████| 251k/251k [00:00<00:00, 303kB/s]
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

メトリックフォルダーには、すべての保存されたモデル評価の数値とメトリックが含まれています。モデルのパフォーマンスを詳細に理解するために手動でレビューできます。

Openai O1-Previewチュートリアル:機械学習プロジェクトの構築

7。 FastAPIアプリケーションを作成

FASTAPIアプリケーションのユーザーインターフェイスを作成するには、インデックスページと結果ページを作成する必要があります。これは、App Directory内にテンプレートフォルダーを作成し、2つのHTMLファイルを追加することで実行できます。1つはメインページ用、もう1つは結果ページです。

Fastapiチュートリアル:Fastapiを使用してFastapiフレームワークとプロジェクトで実装する方法について詳しく学習するための紹介をご覧ください。 

HTMLに精通していない場合は、心配しないでください。コードをコピーして貼り付け、O1モデルを信頼するだけです。 

apptemplatesform.html:

import os
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler
import joblib

# Create directories if they don't exist
os.makedirs("metrics", exist_ok=True)
os.makedirs("models", exist_ok=True)

# Load the dataset
data = pd.read_csv("data/water_potability.csv")

# Check for missing values and save the summary
missing_values = data.isnull().sum()
missing_values.to_csv("metrics/missing_values.csv")

# Statistical summary
stats = data.describe()
stats.to_csv("metrics/data_statistics.csv")

# Pair plot
sns.pairplot(data, hue="Potability")
plt.savefig("metrics/pairplot.png")

# Correlation heatmap
plt.figure(figsize=(10, 8))
sns.heatmap(data.corr(), annot=True)
plt.savefig("metrics/correlation_heatmap.png")

# Handle missing values
imputer = SimpleImputer(strategy="mean")
data_imputed = pd.DataFrame(imputer.fit_transform(data), columns=data.columns)

# Feature scaling
scaler = StandardScaler()
features = data_imputed.drop("Potability", axis=1)
target = data_imputed["Potability"]
features_scaled = scaler.fit_transform(features)

# Save the scaler
joblib.dump(scaler, "models/scaler.joblib")

# Save preprocessed data
preprocessed_data = pd.DataFrame(features_scaled, columns=features.columns)
preprocessed_data["Potability"] = target
preprocessed_data.to_csv("metrics/preprocessed_data.csv", index=False)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
apptemplatesResult.html:

$ python .\src\preprocess_data.py 
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
メインアプリケーションPythonファイルには、ホームと予測の2つのPython関数があります。 「ホーム」機能には、入力ボックスとボタンを含むウェルカムページが表示されます。 「予測」関数はユーザー入力を変換し、モデルを介して実行し、水が飲料であるかどうかを示す結果を表示します。

apptemplatesmain.py:

最初にアプリをローカルでテストして、実行中かどうかを確認します。
import os
import json
import skops.io as sio
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier

# Load preprocessed data
data = pd.read_csv("metrics/preprocessed_data.csv")
features = data.drop("Potability", axis=1)
target = data["Potability"]

# Split the data
X_train, X_test, y_train, y_test = train_test_split(
    features, target, test_size=0.2, random_state=42, stratify=target
)

# Train the model
model = RandomForestClassifier(n_estimators=200, random_state=42)
model.fit(X_train, y_train)

# Save the model using skops
os.makedirs("models", exist_ok=True)
sio.dump(model, "models/water_quality_model.skops")

# Track experiments and save metadata
metadata = {
    "model_name": "RandomForestClassifier",
    "parameters": model.get_params(),
    "training_score": model.score(X_train, y_train),
}

with open("models/metadata.json", "w") as f:
    json.dump(metadata, f, indent=4)
ログイン後にコピー

Uvicornを使用してPythonファイルを実行することにより、コピーしてブラウザに貼り付けることができるローカルアドレスを取得します。 

$ python .\src\train_model.py 
ログイン後にコピー
注:ファイルの実行方法に関するすべての情報は、O1モデルによっても提供されます。

ご覧のとおり、アプリは正常に動作しています。 

import os
import json
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.metrics import (
    classification_report,
    confusion_matrix,
    roc_auc_score,
    roc_curve,
)
import skops.io as sio
from sklearn.model_selection import train_test_split

# Load preprocessed data
data = pd.read_csv("metrics/preprocessed_data.csv")
features = data.drop("Potability", axis=1)
target = data["Potability"]

# Split the data
X_train, X_test, y_train, y_test = train_test_split(
    features, target, test_size=0.2, random_state=42, stratify=target
)

# Load the model
model = sio.load("models/water_quality_model.skops")

# Predictions
y_pred = model.predict(X_test)
y_pred_proba = model.predict_proba(X_test)[:, 1]

# Classification report
report = classification_report(y_test, y_pred, output_dict=True)
with open("metrics/classification_report.json", "w") as f:
    json.dump(report, f, indent=4)

# Confusion matrix
cm = confusion_matrix(y_test, y_pred)
sns.heatmap(cm, annot=True, fmt="d")
plt.title("Confusion Matrix")
plt.ylabel("Actual Label")
plt.xlabel("Predicted Label")
plt.savefig("metrics/confusion_matrix.png")

# ROC curve and AUC
fpr, tpr, _ = roc_curve(y_test, y_pred_proba)
roc_auc = roc_auc_score(y_test, y_pred_proba)

plt.figure()
plt.plot(fpr, tpr, label="AUC = %0.2f" % roc_auc)
plt.plot([0, 1], [0, 1], "k--")
plt.legend(loc="lower right")
plt.xlabel("False Positive Rate")
plt.ylabel("True Positive Rate")
plt.title("Receiver Operating Characteristic")
plt.savefig("metrics/roc_curve.png")

# Overall accuracy
accuracy = model.score(X_test, y_test)
print(f"Overall Accuracy: {accuracy * 100:.2f}%")
ログイン後にコピー

ランダムな値を提供して、水質を確認し、予測ボタンを押してみましょう。 

Openai O1-Previewチュートリアル:機械学習プロジェクトの構築

結果は驚くべきものです。水が飲めないことを示しています。

Openai O1-Previewチュートリアル:機械学習プロジェクトの構築

URLの後に「/docs」と入力してAPIをテストして結果を生成することにより、Fastapi Swagger UIにアクセスすることもできます。 

Openai O1-Previewチュートリアル:機械学習プロジェクトの構築

8。 docker

を使用して、フェイスハブを抱きしめるアプリを展開します

Openai O1モデルは、hugging顔にアプリケーションを展開する方法を正常に学習するためのDockerコード、ガイド、および参照リンクを生成しました。

データサイエンスのDockerをお読みください:Dockerの仕組みを学ぶための紹介チュートリアル。 Dockerのセットアップ、Dockerコマンドの使用、Dockerizeの機械学習アプリケーション、業界全体のベストプラクティスに従う方法を学びます。

最初に、Hugging Face Webサイトのプロフィール写真をクリックして、[新しいスペース]ボタンをクリックして新しいスペースを作成します。アプリ名を入力し、SDKタイプ(docker)を選択し、ライセンスタイプを選択し、「スペースの作成」を押します。

出典:顔を抱き締めるOpenai O1-Previewチュートリアル:機械学習プロジェクトの構築

Dockerを使用してアプリを展開するためのすべての手順は、メインページに提供されています。

出典:水質分類器

Openai O1-Previewチュートリアル:機械学習プロジェクトの構築次に、リポジトリをクローンする必要があります。

リポジトリ内で、アプリとモデルフォルダーを移動します。 dockerfileを作成し、次のコマンドを入力します。 O1モデルはコードを提供してくれました。ポート番号を7860に変更する必要があります。

dockerfile:

from openai import OpenAI
client = OpenAI()

response = client.chat.completions.create(
    model="o1-preview",
    messages=[
        {
            "role": "user", 
            "content": "Create an SQL database from scratch, including guides on usage and code everything in Python."
        }
    ]
)

print(response.choices[0].message.content)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
pythonパッケージに情報を含むrecumporation.txtファイルを作成します。このファイルを使用して、クラウドサーバーに必要なすべてのPythonパッケージをダウンロードしてインストールします。

要件.txt:

これは、アプリリポジトリの外観です:
import os

# Ensure the data directory exists
os.makedirs("data", exist_ok=True)

# Download the dataset
os.system("kaggle datasets download -d adityakadiwal/water-potability -p data --unzip")
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

私たちのモデルは大きなファイル(&gt; 10mb)であるため、Git LFSを使用して追跡する必要があります。 git lfsをインストールし、拡張機能「.skops」ですべてのファイルを追跡します。
Dataset URL: https://www.kaggle.com/datasets/adityakadiwal/water-potability
License(s): CC0-1.0
Downloading water-potability.zip to data
100%|████████████████████████████████████████████████████████████████████████████████| 251k/251k [00:00<00:00, 304kB/s]
100%|████████████████████████████████████████████████████████████████████████████████| 251k/251k [00:00<00:00, 303kB/s]
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
すべての変更をステージングし、メッセージでコミットし、リモートサーバーにプッシュします。

顔を抱きしめてアプリページに移動すると、コンテナを構築し、必要なすべてのパッケージをインストールしていることがわかります。 Openai O1-Previewチュートリアル:機械学習プロジェクトの構築

import os
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler
import joblib

# Create directories if they don't exist
os.makedirs("metrics", exist_ok=True)
os.makedirs("models", exist_ok=True)

# Load the dataset
data = pd.read_csv("data/water_potability.csv")

# Check for missing values and save the summary
missing_values = data.isnull().sum()
missing_values.to_csv("metrics/missing_values.csv")

# Statistical summary
stats = data.describe()
stats.to_csv("metrics/data_statistics.csv")

# Pair plot
sns.pairplot(data, hue="Potability")
plt.savefig("metrics/pairplot.png")

# Correlation heatmap
plt.figure(figsize=(10, 8))
sns.heatmap(data.corr(), annot=True)
plt.savefig("metrics/correlation_heatmap.png")

# Handle missing values
imputer = SimpleImputer(strategy="mean")
data_imputed = pd.DataFrame(imputer.fit_transform(data), columns=data.columns)

# Feature scaling
scaler = StandardScaler()
features = data_imputed.drop("Potability", axis=1)
target = data_imputed["Potability"]
features_scaled = scaler.fit_transform(features)

# Save the scaler
joblib.dump(scaler, "models/scaler.joblib")

# Save preprocessed data
preprocessed_data = pd.DataFrame(features_scaled, columns=features.columns)
preprocessed_data["Potability"] = target
preprocessed_data.to_csv("metrics/preprocessed_data.csv", index=False)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
出典:水質分類器

数分後、アプリは使用できます。ローカルアプリに似ています。サンプル値を提供し、結果を生成してみましょう。 
$ python .\src\preprocess_data.py 
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

Openai O1-Previewチュートリアル:機械学習プロジェクトの構築出典:水質分類器

私たちのアプリは完全に機能しており、期待される結果が生成されました。

出典:水質分類器Openai O1-Previewチュートリアル:機械学習プロジェクトの構築

このハグするフェイススペースアプリは、誰でも使用できるため、端末のCurlコマンドを使用してアクセスできます。 

output:

from openai import OpenAI
client = OpenAI()

response = client.chat.completions.create(
    model="o1-preview",
    messages=[
        {
            "role": "user", 
            "content": "Create an SQL database from scratch, including guides on usage and code everything in Python."
        }
    ]
)

print(response.choices[0].message.content)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

すべてのプロジェクトファイル、データ、モデル、およびメタデータは、Kingabzpro/Water-App GitHubリポジトリで入手できます。

著者の意見

o1-previewモデルはGPT-4oよりもはるかに優れています。命令に完全に続き、バグがないため、生成するコードは使用できます。機械学習アプリを構築するとき、私はわずかな変更を行うだけで、約5%でした。最良の部分は、AIモデルの意思決定からも学んだことです。なぜそれが特定の選択をしたのかを理解してください。 このチュートリアルでは、OpenaiのO1推論モデルがどれほど強力かを見てきました。コードにいくつかの変更を加えた完全な機械学習プロジェクトを構築しましたが、すぐに機能しました。モデルはすべてのコマンドを完全に処理し、フォローアップの指示を必要とせずに素晴らしい結果を生み出しました。
現在、O1-PreviewやO1-Miniなど、O1モデルの小さなバージョンにアクセスできます。将来的には、完全なO1モデルにアクセスできます。これは、複雑なプロジェクトの構築にさらに優れています。重要なのは、モデルを最大限に活用するために適切な質問をすることに取り組むことです。
AIモデルを使用して機械学習プロジェクトを構築するのは簡単ですが、キャリアにしたい場合は、これらのモデルの仕組みを理解する必要があります。これがなければ、問題を修正したり、特定のビジネスニーズにモデルを適用するのは難しい場合があります。この理解を得るために、初心者はPythonのキャリアトラックで機械学習科学者を取ることをお勧めします。さまざまな種類の機械学習モデルを構築および改善する方法を教えるための21コースと3つのプロジェクトが含まれています。

以上がOpenai O1-Previewチュートリアル:機械学習プロジェクトの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Meta Llama 3.2を始めましょう - 分析Vidhya Meta Llama 3.2を始めましょう - 分析Vidhya Apr 11, 2025 pm 12:04 PM

メタのラマ3.2:マルチモーダルとモバイルAIの前進 メタは最近、ラマ3.2を発表しました。これは、モバイルデバイス向けに最適化された強力なビジョン機能と軽量テキストモデルを特徴とするAIの大幅な進歩です。 成功に基づいてo

10生成AIコーディング拡張機能とコードのコードを探る必要があります 10生成AIコーディング拡張機能とコードのコードを探る必要があります Apr 13, 2025 am 01:14 AM

ねえ、忍者をコーディング!その日はどのようなコーディング関連のタスクを計画していますか?このブログにさらに飛び込む前に、コーディング関連のすべての問題について考えてほしいです。 終わり? - &#8217を見てみましょう

AVバイト:Meta&#039; s llama 3.2、GoogleのGemini 1.5など AVバイト:Meta&#039; s llama 3.2、GoogleのGemini 1.5など Apr 11, 2025 pm 12:01 PM

今週のAIの風景:進歩、倫理的考慮、規制の議論の旋風。 Openai、Google、Meta、Microsoftのような主要なプレーヤーは、画期的な新しいモデルからLEの重要な変化まで、アップデートの急流を解き放ちました

従業員へのAI戦略の販売:Shopify CEOのマニフェスト 従業員へのAI戦略の販売:Shopify CEOのマニフェスト Apr 10, 2025 am 11:19 AM

Shopify CEOのTobiLütkeの最近のメモは、AIの能力がすべての従業員にとって基本的な期待であると大胆に宣言し、会社内の重大な文化的変化を示しています。 これはつかの間の傾向ではありません。これは、pに統合された新しい運用パラダイムです

GPT-4o vs Openai O1:新しいOpenaiモデルは誇大広告に値しますか? GPT-4o vs Openai O1:新しいOpenaiモデルは誇大広告に値しますか? Apr 13, 2025 am 10:18 AM

導入 Openaiは、待望の「Strawberry」アーキテクチャに基づいて新しいモデルをリリースしました。 O1として知られるこの革新的なモデルは、推論能力を強化し、問題を通じて考えられるようになりました

ビジョン言語モデル(VLM)の包括的なガイド ビジョン言語モデル(VLM)の包括的なガイド Apr 12, 2025 am 11:58 AM

導入 鮮やかな絵画や彫刻に囲まれたアートギャラリーを歩くことを想像してください。さて、各ピースに質問をして意味のある答えを得ることができたらどうでしょうか?あなたは尋ねるかもしれません、「あなたはどんな話を言っていますか?

最高の迅速なエンジニアリング技術の最新の年次編集 最高の迅速なエンジニアリング技術の最新の年次編集 Apr 10, 2025 am 11:22 AM

私のコラムに新しいかもしれない人のために、具体化されたAI、AI推論、AIのハイテクブレークスルー、AIの迅速なエンジニアリング、AIのトレーニング、AIのフィールディングなどのトピックなど、全面的なAIの最新の進歩を広く探求します。

ラマ3.2を実行する3つの方法-Analytics Vidhya ラマ3.2を実行する3つの方法-Analytics Vidhya Apr 11, 2025 am 11:56 AM

メタのラマ3.2:マルチモーダルAIパワーハウス Metaの最新のマルチモーダルモデルであるLlama 3.2は、AIの大幅な進歩を表しており、言語理解の向上、精度の向上、および優れたテキスト生成機能を誇っています。 その能力t

See all articles