この記事では、Python に関する関連知識を提供します。主に、パラメーターを解析する 3 つの方法に関連する問題をまとめています。最初のオプションは、コマンド ラインに特に使用される、人気のある Python モジュールである argparse を使用することです。解析; もう 1 つの方法は、すべてのハイパーパラメータを配置できる JSON ファイルを読み取ることです。3 番目のあまり知られていない方法は、YAML ファイルを使用することです。一緒に見てみましょう。役立つことを願っています。全員が役に立ちます。
[関連する推奨事項: Python3 ビデオ チュートリアル ]
今日共有する内容の主な目的は、コマンド ラインとコード効率を向上させるための設定ファイル
それでは、いきましょう!
機械学習のパラメータ調整プロセスを練習に使用します。3 つの方法から選択できます。最初のオプションは、コマンド ライン解析専用の人気のある Python モジュールである argparse を使用することです。もう 1 つは、すべてのハイパーパラメータを配置できる JSON ファイルを読み取ることです。3 番目のオプションもあまり知られていません。解決策は、YAML ファイルを使用することです。興味があるなら、始めましょう!
前提条件
以下のコードでは、非常に効率的な統合 Python 開発環境である Visual Studio Code を使用します。このツールの利点は、拡張機能をインストールすることであらゆるプログラミング言語をサポートし、ターミナルを統合し、Kaggle の Shared Bicycle Dataset## を使用して、多数の Python スクリプトと Jupyter ノートブック
データセットを操作できることです
#argparse の使用 上の図に示すように、小さなプロジェクトを整理するための標準構造があります。
- データが含まれます フォルダーを設定します名前付きの data
- train.py ファイル
- options.py ハイパーパラメータを指定するファイル
import pandas as pd import numpy as np from sklearn.ensemble import RandomForestRegressor from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.metrics import mean_squared_error, mean_absolute_error from options import train_options df = pd.read_csv('data\hour.csv') print(df.head()) opt = train_options() X=df.drop(['instant','dteday','atemp','casual','registered','cnt'],axis=1).values y =df['cnt'].values X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) if opt.normalize == True: scaler = StandardScaler() X = scaler.fit_transform(X) rf = RandomForestRegressor(n_estimators=opt.n_estimators,max_features=opt.max_features,max_depth=opt.max_depth) model = rf.fit(X_train,y_train) y_pred = model.predict(X_test) rmse = np.sqrt(mean_squared_error(y_pred, y_test)) mae = mean_absolute_error(y_pred, y_test) print("rmse: ",rmse) print("mae: ",mae)コードでは、ファイル内の options.py train_options 関数に含まれるファイルもインポートします。後者のファイルは、train.py で考慮されるハイパーパラメータを変更できる Python ファイルです。
import argparse def train_options(): parser = argparse.ArgumentParser() parser.add_argument("--normalize", default=True, type=bool, help='maximum depth') parser.add_argument("--n_estimators", default=100, type=int, help='number of estimators') parser.add_argument("--max_features", default=6, type=int, help='maximum of features',) parser.add_argument("--max_depth", default=5, type=int,help='maximum depth') opt = parser.parse_args() return optこの例では、コマンド ライン引数を解析するときに非常に人気のある argparse ライブラリを使用します。まず、パーサーを初期化してから、アクセスするパラメーターを追加します。 これはコードの実行例です:
python train.py
ハイパーパラメータのデフォルト値を変更するには、2 つの方法があります。最初のオプションは、options.py ファイルに異なるデフォルト値を設定することです。別のオプションは、コマンド ラインからハイパーパラメータ値を渡すことです。
python train.py --n_estimators 200変更するハイパーパラメータの名前と対応する値を指定する必要があります。
python train.py --n_estimators 200 --max_depth 7JSON ファイルの使用
以前と同様に、同様のファイル構造を維持できます。この場合、options.py ファイルを JSON ファイルに置き換えます。つまり、JSON ファイルでハイパーパラメータの値を指定し、train.py ファイルに渡したいと考えます。 JSON ファイルは、キーと値のペアを利用してデータを保存するため、argparse ライブラリに代わる高速かつ直感的な代替手段となります。次に、後で他のコードに渡す必要があるデータを含む options.json ファイルを作成します。
{ "normalize":true, "n_estimators":100, "max_features":6, "max_depth":5 }上でわかるように、これは Python 辞書に非常に似ています。ただし、辞書とは異なり、テキスト/文字列形式のデータが含まれています。さらに、構文が若干異なる一般的なデータ型がいくつかあります。たとえば、ブール値は false/true ですが、Python は False/True を認識します。 JSON で使用できるその他の値は配列であり、角かっこを使用して Python リストとして表されます。 Python で JSON データを操作する利点は、load メソッドを使用して Python 辞書に変換できることです:
f = open("options.json", "rb") parameters = json.load(f)特定の項目にアクセスするには、その項目内で引用符で囲むだけで済みます。角括弧 キー名:
if parameters["normalize"] == True: scaler = StandardScaler() X = scaler.fit_transform(X) rf=RandomForestRegressor(n_estimators=parameters["n_estimators"],max_features=parameters["max_features"],max_depth=parameters["max_depth"],random_state=42) model = rf.fit(X_train,y_train) y_pred = model.predict(X_test)YAML ファイルの使用
最後のオプションは、YAML の可能性を活用することです。 JSON ファイルと同様に、YAML ファイルを Python コードで辞書として読み取り、ハイパーパラメータの値にアクセスします。 YAML は人間が判読できるデータ表現言語であり、JSON ファイルのような括弧ではなくダブルスペース文字を使用して階層が表現されます。以下に、options.yaml ファイルの内容を示します。
normalize: True n_estimators: 100 max_features: 6 max_depth: 5train.py で、options.yaml ファイルを開きます。このファイルは常に、load メソッドを使用して Python 辞書に変換されます。今回は、 yaml ライブラリ インポート先:
import yaml f = open('options.yaml','rb') parameters = yaml.load(f, Loader=yaml.FullLoader)前と同様に、辞書に必要な構文を使用してハイパーパラメータの値にアクセスできます。
最終考察
設定ファイルは非常に速くコンパイルされますが、argparse では追加する引数ごとに 1 行のコードを記述する必要があります。
したがって、さまざまな状況に応じて最適な方法を選択する必要があります。
たとえば、パラメータにコメントを追加する必要がある場合、JSON はコメントを許可しないため適していません。YAML は適していません。 argparse が適しているかもしれません。
【関連する推奨事項: Python3 ビデオ チュートリアル ]
以上がPythonでパラメータを解析する3つの方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Pythonを1日2時間学ぶだけで十分ですか?それはあなたの目標と学習方法に依存します。 1)明確な学習計画を策定し、2)適切な学習リソースと方法を選択します。3)実践的な実践とレビューとレビューと統合を練習および統合し、統合すると、この期間中にPythonの基本的な知識と高度な機能を徐々に習得できます。

Web開発におけるPythonの主要なアプリケーションには、DjangoおよびFlaskフレームワークの使用、API開発、データ分析と視覚化、機械学習とAI、およびパフォーマンスの最適化が含まれます。 1。DjangoandFlask Framework:Djangoは、複雑な用途の迅速な発展に適しており、Flaskは小規模または高度にカスタマイズされたプロジェクトに適しています。 2。API開発:フラスコまたはdjangorestFrameworkを使用して、Restfulapiを構築します。 3。データ分析と視覚化:Pythonを使用してデータを処理し、Webインターフェイスを介して表示します。 4。機械学習とAI:Pythonは、インテリジェントWebアプリケーションを構築するために使用されます。 5。パフォーマンスの最適化:非同期プログラミング、キャッシュ、コードを通じて最適化

Pythonは開発効率でCよりも優れていますが、Cは実行パフォーマンスが高くなっています。 1。Pythonの簡潔な構文とリッチライブラリは、開発効率を向上させます。 2.Cのコンピレーションタイプの特性とハードウェア制御により、実行パフォーマンスが向上します。選択を行うときは、プロジェクトのニーズに基づいて開発速度と実行効率を比較検討する必要があります。

Pythonの実際のアプリケーションには、データ分析、Web開発、人工知能、自動化が含まれます。 1)データ分析では、PythonはPandasとMatplotlibを使用してデータを処理および視覚化します。 2)Web開発では、DjangoおよびFlask FrameworksがWebアプリケーションの作成を簡素化します。 3)人工知能の分野では、TensorflowとPytorchがモデルの構築と訓練に使用されます。 4)自動化に関しては、ファイルのコピーなどのタスクにPythonスクリプトを使用できます。

Pythonは、データサイエンス、Web開発、自動化スクリプトフィールドで広く使用されています。 1)データサイエンスでは、PythonはNumpyやPandasなどのライブラリを介してデータ処理と分析を簡素化します。 2)Web開発では、DjangoおよびFlask Frameworksにより、開発者はアプリケーションを迅速に構築できます。 3)自動化されたスクリプトでは、Pythonのシンプルさと標準ライブラリが理想的になります。

Pythonの柔軟性は、マルチパラダイムサポートと動的タイプシステムに反映されていますが、使いやすさはシンプルな構文とリッチ標準ライブラリに由来しています。 1。柔軟性:オブジェクト指向、機能的および手続き的プログラミングをサポートし、動的タイプシステムは開発効率を向上させます。 2。使いやすさ:文法は自然言語に近く、標準的なライブラリは幅広い機能をカバーし、開発プロセスを簡素化します。

Pythonは、初心者から上級開発者までのすべてのニーズに適した、そのシンプルさとパワーに非常に好まれています。その汎用性は、次のことに反映されています。1)学習と使用が簡単、シンプルな構文。 2)Numpy、Pandasなどの豊富なライブラリとフレームワーク。 3)さまざまなオペレーティングシステムで実行できるクロスプラットフォームサポート。 4)作業効率を向上させるためのスクリプトおよび自動化タスクに適しています。

はい、1日2時間でPythonを学びます。 1.合理的な学習計画を作成します。2。適切な学習リソースを選択します。3。実践を通じて学んだ知識を統合します。これらの手順は、短時間でPythonをマスターするのに役立ちます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

メモ帳++7.3.1
使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
