microsoftml.rx_featurize: データ ソースのデータ変換
使用法
microsoftml.rx_featurize(data: typing.Union[revoscalepy.datasource.RxDataSource.RxDataSource,
pandas.core.frame.DataFrame],
output_data: typing.Union[revoscalepy.datasource.RxDataSource.RxDataSource,
str] = None, overwrite: bool = False,
data_threads: int = None, random_seed: int = None,
max_slots: int = 5000, ml_transforms: list = None,
ml_transform_vars: list = None, row_selection: str = None,
transforms: dict = None, transform_objects: dict = None,
transform_function: str = None,
transform_variables: list = None,
transform_packages: list = None,
transform_environment: dict = None, blocks_per_read: int = None,
report_progress: int = None, verbose: int = 1,
compute_context: revoscalepy.computecontext.RxComputeContext.RxComputeContext = None)
説明
入力データ セットのデータを出力データ セットに変換します。
引数
data
revoscalepy データ ソース オブジェクト、データ フレーム、または .xdf
ファイルへのパス。
output_data
出力テキストまたは xdf ファイル名、または変換されたデータを格納する書き込み機能がある RxDataSource
。
None の場合、データ フレームが返されます。 既定値は None です。
overwrite
True
にすると既存の output_data
が上書きされます。False
にすると、既存の output_data
は上書きされません。 既定値は False
です。
data_threads
データ パイプラインで必要な並列処理の次数を指定する整数。 None の場合、使用されるスレッドの数は内部的に決定されます。 既定値は None です。
random_seed
ランダム シードを指定します。 既定値は None です。
max_slots
ベクトル値列に対して返される最大スロット数 (すべて返すには <=0 とします)。
ml_transforms
トレーニング前にデータに対して実行される MicrosoftML 変換の一覧を指定します。変換を実行しない場合は None を指定します。 サポートされている変換については、featurize_text
、categorical
、categorical_hash
を参照してください。
これらの変換は、指定された Python 変換の後に実行されます。
既定値は None です。
ml_transform_vars
ml_transforms
で使用する変数名の文字ベクトルを指定します。変数を使用しない場合は None を指定します。
既定値は None です。
row_selection
サポートされていません。 モデルで使用されるデータ セットの行 (観測値) を、データ セットの論理変数の名前 (引用符で囲む) またはデータ セット内の変数を使用する論理式で指定します。 例:
row_selection = "old"
の場合は、変数old
の値がTrue
である観測値のみを使用します。row_selection = (age > 20) & (age < 65) & (log(income) > 10)
の場合は、変数age
の値が 20 から 65 の間で、変数income
のlog
の値が 10 を超える観測値のみを使用します。
行の選択は、データ変換を処理した後に実行されます (引数 transforms
または transform_function
を参照してください)。 すべての式と同様に、row_selection
は、expression
関数を使用して関数呼び出しの外部で定義できます。
変換
サポートされていません。 変数変換の最初のラウンドを表すフォームの式。 すべての式と同様に、transforms
(または row_selection
) は、expression
関数を使用して関数呼び出しの外部で定義できます。
既定値は None です。
transform_objects
サポートされていません。
transforms
、transform_function
、row_selection
で参照できるオブジェクトを含む名前付きリスト。 既定値は None です。
transform_function
変数変換関数。 既定値は None です。
transform_variables
変換関数に必要な入力データ セット変数の文字ベクトル。 既定値は None です。
transform_packages
サポートされていません。 変数変換関数で使用するために事前に読み込まれる追加の Python パッケージ (RxOptions.get_option("transform_packages")
で指定されているもの以外) を指定する文字ベクトル。
たとえば、transforms
および transform_function
引数を使用して revoscalepy 関数で明示的に定義されているものや、formula
または row_selection
引数を使用して暗黙的に定義されているものなどです。 引数 transform_packages
には None を指定することもできます。これは、RxOptions.get_option("transform_packages")
以外のパッケージを事前に読み込まないことを示します。
transform_environment
サポートされていません。 内部で開発され、変数データ変換に使用される、すべての環境の親として機能するユーザー定義環境。
transform_environment = None
の場合は、代わりに親 revoscalepy.baseenv を持つ新しい "ハッシュ" 環境が使用されます。既定値は None です。
blocks_per_read
データ ソースから読み取るデータのチャンクごとに、読み取るブロックの数を指定します。
report_progress
行処理の進行状況に関するレポートのレベルを指定する整数値。
0
: 進行状況はレポートされません。1
: 処理された行の数が出力され、更新されます。2
: 処理された行とタイミングがレポートされます。3
: 処理された行とすべてのタイミングがレポートされます。
既定値は 1
です。
verbose
必要な出力の量を指定する整数値。
0
の場合、計算中に詳細は出力されません。
1
から 4
の整数値を指定すると、情報の量が増えます。
既定値は 1
です。
compute_context
有効な revoscalepy.RxComputeContext で指定された、計算が実行されるコンテキストを設定します。 現在はローカルと revoscalepy.RxInSqlServer コンピューティング コンテキストがサポートされています。
戻り値
データ フレームまたは作成された出力データを表す revoscalepy.RxDataSource オブジェクト。
関連項目
rx_predict
、revoscalepy.rx_data_step、revoscalepy.rx_import。
例
'''
Example with rx_featurize.
'''
import numpy
import pandas
from microsoftml import rx_featurize, categorical
# rx_featurize basically allows you to access data from the MicrosoftML transforms
# In this example we'll look at getting the output of the categorical transform
# Create the data
categorical_data = pandas.DataFrame(data=dict(places_visited=[
"London", "Brunei", "London", "Paris", "Seria"]),
dtype="category")
print(categorical_data)
# Invoke the categorical transform
categorized = rx_featurize(data=categorical_data,
ml_transforms=[categorical(cols=dict(xdatacat="places_visited"))])
# Now let's look at the data
print(categorized)
出力:
places_visited
0 London
1 Brunei
2 London
3 Paris
4 Seria
Beginning processing data.
Rows Read: 5, Read Time: 0, Transform Time: 0
Beginning processing data.
Beginning processing data.
Rows Read: 5, Read Time: 0, Transform Time: 0
Beginning processing data.
Elapsed time: 00:00:00.0521300
Finished writing 5 rows.
Writing completed.
places_visited xdatacat.London xdatacat.Brunei xdatacat.Paris \
0 London 1.0 0.0 0.0
1 Brunei 0.0 1.0 0.0
2 London 1.0 0.0 0.0
3 Paris 0.0 0.0 1.0
4 Seria 0.0 0.0 0.0
xdatacat.Seria
0 0.0
1 0.0
2 0.0
3 0.0
4 1.0