microsoftml.rx_featurize:データソースのためのデータ変換

Usage

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)

Description

入力データセットから出力データセットへデータを変換します。

引数

データ

revoscalepyのデータソースオブジェクト、データフレーム、または.xdfファイルへのパスなどです。

output_data

出力テキストやxdfファイル名、または変換データを保存するための書き込み機能を備えた RxDataSourceもしなしの場合は、データフレームが返されます。 既定値は None です。

上書き

Trueなら既存のoutput_dataが上書きされます。False既存のoutput_dataが上書きされない場合は、 既定値は False です。

data_threads

データパイプラインにおける望ましい並列度を指定する整数。 もしなしの場合、使用されるスレッド数は内部で決定されます。 既定値は None です。

random_seed

ランダム シードを指定します。 既定値は None です。

max_slots

ベクトル値の列を返すスロットは最大(<=0)を返します。

ml_transforms

トレーニング前にデータに対して実行する MicrosoftML 変換の一覧を指定します。変換を実行しない場合は None を指定します。 サポートされている変換については、「 featurize_textcategorical、および 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 の範囲で、log変数のincomeの値が 10 より大きい観測値のみを使用します。

行の選択は、データ変換を処理した後に実行されます (引数 transforms または transform_functionを参照)。 すべての式と同様に、 row_selection は、 expression 関数を使用して関数呼び出しの外部で定義できます。

変換

サポートされていません。 変数変換の最初のラウンドを表すフォームの式。 すべての式と同様に、 transforms (または row_selection) は、 expression 関数を使用して関数呼び出しの外部で定義できます。 既定値は None です。

transform_objects

サポートされていません。 transformstransform_function、およびrow_selectionで参照できるオブジェクトを含む名前付きリスト。 既定値は None です。

transform_function

変数変換関数。 既定値は None です。

transform_variables

変換関数に必要な入力データ セット変数の文字ベクトル。 既定値は None です。

transform_packages

サポートされていません。 変数変換関数で使用するために使用可能にし、事前に読み込む追加の Python パッケージ ( RxOptions.get_option("transform_packages")で指定されているものの外部) を指定する文字ベクトル。 たとえば、引数とtransforms引数を使用して transform_function 関数で明示的に定義されたものや、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 です。

詳細

必要な出力量を指定する整数値。 0場合、計算中に詳細な出力は出力されません。 1から4までの整数値により、情報の量が増えます。 既定値は 1 です。

compute_context

有効な revoscalepy で指定された、計算が実行されるコンテキストを設定します。RxComputeContext。 現在、ローカルと revoscalepy。RxInSqlServer コンピューティング コンテキストがサポートされています。

返品

データフレームや revoscalepyです。 作成された出力データを表現するRxDataSourceオブジェクト。

Example

'''
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)

Output:

  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