sklearn 전처리에서 출력 열 추적

빌 황

에서 생성 한 변환 된 배열의 열을 어떻게 추적 sklearn.compose.ColumnTransformer합니까? "추적"이란 역변환을 수행하는 데 필요한 모든 정보가 명시 적 으로 표시 되어야 함을 의미합니다 . 여기에는 최소한 다음이 포함됩니다.

  1. 출력 배열에서 각 열의 소스 변수는 무엇입니까?
  2. 출력 배열의 열이 범주 형 변수의 원-핫 인코딩에서 비롯된 경우 해당 범주는 무엇입니까?
  3. 각 변수에 대한 정확한 대치 값은 무엇입니까?
  4. 각 수치 변수를 표준화하는 데 사용되는 (평균, 표준 편차)는 무엇입니까? (대치 된 결 측값 때문에 직접 계산과 다를 수 있습니다.)

이 답변을 기반으로 동일한 접근 방식을 사용하고 있습니다. 내 입력 데이터 세트는 pandas.DataFrame여러 숫자 및 범주 열이 있는 일반 입니다. 예, 그 대답은 원시 데이터 세트를 변환 할 수 있습니다. 하지만 출력 배열의 열을 추적하지 못했습니다. 동료 검토, 보고서 작성, 프레젠테이션 및 추가 모델 구축 단계를 위해 이러한 정보가 필요합니다. 체계적인 접근 방식을 찾고 있었지만 운이 없었습니다.

벤 카타 찰람

언급 한 답변 은 Sklearn의 이를 기반으로 합니다 .

다음 스 니펫을 사용하여 처음 두 질문에 대한 답을 얻을 수 있습니다.

def get_feature_names(columnTransformer):

    output_features = []

    for name, pipe, features in columnTransformer.transformers_:
        if name!='remainder':
            for i in pipe:
                trans_features = []
                if hasattr(i,'categories_'):
                    trans_features.extend(i.get_feature_names(features))
                else:
                    trans_features = features
            output_features.extend(trans_features)

    return output_features
import pandas as pd
pd.DataFrame(preprocessor.fit_transform(X_train),
            columns=get_feature_names(preprocessor))

여기에 이미지 설명 입력

transformed_cols = get_feature_names(preprocessor)

def get_original_column(col_index):
    return transformed_cols[col_index].split('_')[0]

get_original_column(3)
# 'embarked'

get_original_column(0)
# 'age'
def get_category(col_index):
    new_col = transformed_cols[col_index].split('_')
    return 'no category' if len(new_col)<2 else new_col[-1]

print(get_category(3))
# 'Q'

print(get_category(0))
# 'no category'

현재 버전의 Sklearn에서는 기능에 대해 일부 대치 또는 확장이 수행되었는지 여부를 추적하는 것이 간단하지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

sklearn 파이프 라인의 열에 여러 전처리 단계 적용

분류에서Dev

동적 배열에서 값 추출

분류에서Dev

ValueError : sklearn 전처리 StandardScaler를 위해 모양 (26000,1)에서 모양 (26000)으로 입력 배열을 브로드 캐스트 할 수 없습니다.

분류에서Dev

회귀 출력에 열 추가

분류에서Dev

문자열에 출력 추가

분류에서Dev

쉘의 출력에 문자열 추가

분류에서Dev

내 texreg 출력에 여러 열 추가

분류에서Dev

출력 변수에서 CMD 부분 문자열 추출

분류에서Dev

명령 줄 : 출력에서 하위 문자열 추출

분류에서Dev

Linux 콘솔의 출력에서 문자열 추출

분류에서Dev

특정 열에서 추출한 숫자로 bash 출력 정렬

분류에서Dev

회귀 출력 (51 출력)으로 tensorflow에서 큰 numpy 배열 처리

분류에서Dev

셸에서 출력 추출

분류에서Dev

시간 추적 문자열에서 전체 십진수 캡처

분류에서Dev

열 처리를 계속하기 전에 Talend Open Studio DI를 사용하여 고유 한 첫 번째 행에서 추출 값 추출

분류에서Dev

사용자 입력 URL에서 문자열 추출 Angular

분류에서Dev

`pactl` 출력에서 문자열을 추출하고 쉘 스크립트에 변수로 전달

분류에서Dev

Linux는 출력이 파일에 저장되기 전에 명령 출력에 문자열을 추가합니다.

분류에서Dev

URL에서 전체 쿼리 문자열 추출

분류에서Dev

출력 Anova에서 P- 값 열 추출 (자동차 패키지)

분류에서Dev

Python을 사용하여 Telnet 출력에서 특정 문자열 추출

분류에서Dev

직렬화 된 배열에서 데이터를 추출하여 PHP로 출력

분류에서Dev

기존 열에서 생성 된 출력을 테이블에 새 열로 추가

분류에서Dev

PHP로 루핑 한 후 JSON에 출력에 배열 추가

분류에서Dev

배열에서 특정 키만 동적으로 추출

분류에서Dev

동적 JSON 배열에서 데이터 추출

분류에서Dev

brentq 최적화에서 numpy 배열로 루트 추출

분류에서Dev

문자열에서 효율적으로 토큰 추출

분류에서Dev

한 열에서 계층 적 데이터 추출

Related 관련 기사

  1. 1

    sklearn 파이프 라인의 열에 여러 전처리 단계 적용

  2. 2

    동적 배열에서 값 추출

  3. 3

    ValueError : sklearn 전처리 StandardScaler를 위해 모양 (26000,1)에서 모양 (26000)으로 입력 배열을 브로드 캐스트 할 수 없습니다.

  4. 4

    회귀 출력에 열 추가

  5. 5

    문자열에 출력 추가

  6. 6

    쉘의 출력에 문자열 추가

  7. 7

    내 texreg 출력에 여러 열 추가

  8. 8

    출력 변수에서 CMD 부분 문자열 추출

  9. 9

    명령 줄 : 출력에서 하위 문자열 추출

  10. 10

    Linux 콘솔의 출력에서 문자열 추출

  11. 11

    특정 열에서 추출한 숫자로 bash 출력 정렬

  12. 12

    회귀 출력 (51 출력)으로 tensorflow에서 큰 numpy 배열 처리

  13. 13

    셸에서 출력 추출

  14. 14

    시간 추적 문자열에서 전체 십진수 캡처

  15. 15

    열 처리를 계속하기 전에 Talend Open Studio DI를 사용하여 고유 한 첫 번째 행에서 추출 값 추출

  16. 16

    사용자 입력 URL에서 문자열 추출 Angular

  17. 17

    `pactl` 출력에서 문자열을 추출하고 쉘 스크립트에 변수로 전달

  18. 18

    Linux는 출력이 파일에 저장되기 전에 명령 출력에 문자열을 추가합니다.

  19. 19

    URL에서 전체 쿼리 문자열 추출

  20. 20

    출력 Anova에서 P- 값 열 추출 (자동차 패키지)

  21. 21

    Python을 사용하여 Telnet 출력에서 특정 문자열 추출

  22. 22

    직렬화 된 배열에서 데이터를 추출하여 PHP로 출력

  23. 23

    기존 열에서 생성 된 출력을 테이블에 새 열로 추가

  24. 24

    PHP로 루핑 한 후 JSON에 출력에 배열 추가

  25. 25

    배열에서 특정 키만 동적으로 추출

  26. 26

    동적 JSON 배열에서 데이터 추출

  27. 27

    brentq 최적화에서 numpy 배열로 루트 추출

  28. 28

    문자열에서 효율적으로 토큰 추출

  29. 29

    한 열에서 계층 적 데이터 추출

뜨겁다태그

보관