다음을 통해 공유


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)

Description

입력 데이터 세트의 데이터를 출력 데이터 세트로 변환합니다.

인수

데이터

revoscalepy 데이터 원본 개체, 데이터 프레임 또는 .xdf 파일의 경로입니다.

output_data

변환된 데이터를 저장할 텍스트 또는 xdf 파일 이름이나 쓰기 기능이 있는 RxDataSource를 출력합니다. None이면 데이터 프레임이 반환됩니다. 기본값은 없음입니다.

overwrite

True이면 기존 output_data를 덮어쓰고, False이면 기존 output_data를 덮어쓰지 않습니다. 기본값은 False입니다.

data_threads

데이터 파이프라인에서 원하는 병렬 처리 수준을 지정하는 정수입니다. None이면 사용되는 스레드 수가 내부적으로 결정됩니다. 기본값은 없음입니다.

random_seed

임의의 시드를 지정합니다. 기본값은 없음입니다.

max_slots

벡터 값 열에 대해 반환할 최대 슬롯입니다(모두 반환하려면 <=0).

ml_transforms

학습 전에 데이터에서 수행할 MicrosoftML 변환 목록을 지정하거나 수행할 변환이 없는 경우 None을 지정합니다. 지원되는 변환은 featurize_text, categorical, categorical_hash를 참조하세요. 이러한 변환은 지정된 Python 변환 후에 수행됩니다. 기본값은 없음입니다.

ml_transform_vars

ml_transforms에 사용할 변수 이름의 문자 벡터를 지정하거나 사용할 변수가 없는 경우 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 참조). 모든 식과 마찬가지로 expression 함수를 사용하여 함수 호출 외부에서 row_selection을 정의할 수 있습니다.

변환

지원되지 않음. 변수 변환의 첫 번째 반올림을 나타내는 양식의 식입니다. 모든 식과 마찬가지로 expression 함수를 사용하여 함수 호출 외부에서 transforms(또는 row_selection)를 정의할 수 있습니다. 기본값은 없음입니다.

transform_objects

지원되지 않음. transforms, transform_function, row_selection에서 참조할 수 있는 개체를 포함하는 명명된 목록입니다. 기본값은 없음입니다.

transform_function

변수 변환 함수입니다. 기본값은 없음입니다.

transform_variables

변환 함수에 필요한 입력 데이터 세트 변수의 문자 벡터입니다. 기본값은 없음입니다.

transform_packages

지원되지 않음. 사용 가능하게 하고 변수 변환 함수에서 사용하도록 미리 로드할 추가 Python 패키지(RxOptions.get_option("transform_packages")에 지정된 패키지 외부)를 지정하는 문자 벡터입니다. 예를 들어 transformstransform_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