scikit-learn을 사용하여 범주 형 기능 처리

셜록 85

난 무엇을하고 있지?

Random Forests를 사용하여 분류 문제를 해결하고 있습니다. DNA 서열을 나타내는 고정 길이 (10 자 길이)의 문자열 세트가 있습니다. DNA 알파벳, 즉 4 글자로 구성 A, C, G, T.

다음은 내 원시 데이터의 샘플입니다.

ATGCTACTGA
ACGTACTGAT
AGCTATTGTA
CGTGACTAGT
TGACTATGAT

각 DNA 염기 서열에는 실제 생물학적 반응을 설명하는 실험 데이터가 함께 제공됩니다. 분자가 생물학적 반응을 유도하는 것으로 나타 났거나 (1) 그렇지 않은 경우 (0).

문제:

훈련 세트는 범주 (명목) 및 숫자 특성으로 구성됩니다. 다음과 같은 구조입니다.

training_set = [
  {'p1':'A', 'p2':'T', 'p3':'G', 'p4':'C', 'p5':'T', 
   'p6':'A', 'p7':'C', 'p8':'T', 'p9':'G', 'p10':'A', 
   'mass':370.2, 'temp':70.0},
  {'p1':'A', 'p2':'C', 'p3':'G', 'p4':'T', 'p5':'A', 
   'p6':'C', 'p7':'T', 'p8':'G', 'p9':'A', 'p10':'T', 
   'mass':400.3, 'temp':67.2},
]

target = [1, 0]

DictVectorizer 클래스를 사용하여 명목 특징을 인코딩 하는 분류기를 성공적으로 만들었지 만 테스트 데이터에 대한 예측을 수행하는 동안 문제가 있습니다.

다음은 지금까지 수행 한 코드의 단순화 된 버전입니다.

from sklearn.ensemble import RandomForestClassifier
from sklearn.feature_extraction import DictVectorizer

training_set = [
  {'p1':'A', 'p2':'T', 'p3':'G', 'p4':'C', 'p5':'T', 
   'p6':'A', 'p7':'C', 'p8':'T', 'p9':'G', 'p10':'A', 
   'mass':370.2, 'temp':70.0},
  {'p1':'A', 'p2':'C', 'p3':'G', 'p4':'T', 'p5':'A', 
   'p6':'C', 'p7':'T', 'p8':'G', 'p9':'A', 'p10':'T', 
   'mass':400.3, 'temp':67.2},
]

target = [1, 0]

vec = DictVectorizer()
train = vec.fit_transform(training_set).toarray()

clf = RandomForestClassifier(n_estimators=1000)
clf = clf.fit(train, target)


# The following part fails.
test_set =   {
  'p1':'A', 'p2':'T', 'p3':'G', 'p4':'C', 'p5':'T', 
  'p6':'A', 'p7':'C', 'p8':'T', 'p9':'G', 'p10':'A', 
  'mass':370.2, 'temp':70.0}
vec = DictVectorizer()
test = vec.fit_transform(test_set).toarray()
print clf.predict_proba(test)

결과적으로 오류가 발생했습니다.

ValueError: Number of features of the model must  match the input. 
Model n_features is 20 and  input n_features is 12
HYRY

DictVectorizer에 기차 데이터 세트를 생성 한 동일한 객체를 사용해야 transform합니다 test_set.

from sklearn.ensemble import RandomForestClassifier
from sklearn.feature_extraction import DictVectorizer

training_set = [
  {'p1':'A', 'p2':'T', 'p3':'G', 'p4':'C', 'p5':'T', 
   'p6':'A', 'p7':'C', 'p8':'T', 'p9':'G', 'p10':'A', 
   'mass':370.2, 'temp':70.0},
  {'p1':'A', 'p2':'C', 'p3':'G', 'p4':'T', 'p5':'A', 
   'p6':'C', 'p7':'T', 'p8':'G', 'p9':'A', 'p10':'T', 
   'mass':400.3, 'temp':67.2},
]

target = [1, 0]

vec = DictVectorizer()
train = vec.fit_transform(training_set).toarray()

clf = RandomForestClassifier(n_estimators=1000)
clf = clf.fit(train, target)


# The following part fails.
test_set =   {
  'p1':'A', 'p2':'T', 'p3':'G', 'p4':'C', 'p5':'T', 
  'p6':'A', 'p7':'C', 'p8':'T', 'p9':'G', 'p10':'A', 
  'mass':370.2, 'temp':70.0}

test = vec.transform(test_set).toarray()
print clf.predict_proba(test)

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python / Scikit Learn에서 고유 한 값이 많은 범주 형 기능을 처리하는 방법

분류에서Dev

Python / Scikit Learn에서 고유 한 값이 많은 범주 형 기능을 처리하는 방법

분류에서Dev

특정 열을 사용하여 scikit-learn에서 범주 형 결 측값 대치

분류에서Dev

scikit-learn에서 여러 수준으로 범주 형을 인코딩하는 방법은 무엇입니까?

분류에서Dev

룩업 테이블을 사용하여 범주 형 기능의 조건을 줄이는 방법

분류에서Dev

scikit-learn (sklearn)을 사용하여 선형 회귀를 위해 누락 된 데이터 (종속 변수)를 처리하는 방법은 무엇입니까?

분류에서Dev

분류 알고리즘을 적용하기 전에 범주 형 데이터를 사전 처리하는 방법은 무엇입니까?

분류에서Dev

scikit-learn을 사용하여 Random Forest에서 재귀 적 기능 제거

분류에서Dev

Scikit-learn 맞춤형 채점 기능

분류에서Dev

scikit learn을 사용하여 사전 학습에서 메모리 오류 가져 오기

분류에서Dev

Scikit Learn Pipeline 용 맞춤형 변압기

분류에서Dev

범주 형 데이터 세트를 사용한 원-핫 인코딩 : 범주 형 데이터에서 다른 값 (더 적은 수)을 처리하는 방법

분류에서Dev

여러 줄을 주석 처리하는 기능 Vimrc

분류에서Dev

python : scikit learn classfiers (SVM) 등에서 POS (품사) 기능을 사용하는 방법

분류에서Dev

scikit-learn을 사용하여 Python에서 간단한 선형 회귀의 절편과 기울기를 인쇄하는 방법은 무엇입니까?

분류에서Dev

추가 기능을 사용하여 오류 처리

분류에서Dev

선을 연결하지 않고 범주 형 데이터를 사용하여 선 그림 만들기

분류에서Dev

R에서 세 가지 범주 형 변수를 사용하여 막대 그림 그리기

분류에서Dev

scikit-learn : 손으로 만든 기능을 포함하는 FeatureUnion

분류에서Dev

모델 해석을 위해 LIME을 사용하는 동안 카테고리, float 및 int 유형 기능 처리

분류에서Dev

범주 형 인덱스 값을 사용하여 특정 수준에서 다중 인덱스 시리즈 정렬

분류에서Dev

희소 행렬을 사용하여 범주 형에서 이진 변수 만들기

분류에서Dev

범주 형 대상 변수로 기능 선택에 mRMRe 사용

분류에서Dev

하위 처리 기능을 사용한 다중 처리

분류에서Dev

Python 및 PostgreSQL을 사용하여 여러 범주 트리 관리

분류에서Dev

회귀 (기계 학습)에서 범주 형 특성의 할당되지 않은 (null) 값을 처리합니까?

분류에서Dev

scikit-learn에서 ARDRegression을 사용하는 메모리 문제

분류에서Dev

dplyr-범주 형 버전을 사용하여 여러 열 요약

분류에서Dev

RCP 처리기 사용 가능 리소스 유형에 따라

Related 관련 기사

  1. 1

    Python / Scikit Learn에서 고유 한 값이 많은 범주 형 기능을 처리하는 방법

  2. 2

    Python / Scikit Learn에서 고유 한 값이 많은 범주 형 기능을 처리하는 방법

  3. 3

    특정 열을 사용하여 scikit-learn에서 범주 형 결 측값 대치

  4. 4

    scikit-learn에서 여러 수준으로 범주 형을 인코딩하는 방법은 무엇입니까?

  5. 5

    룩업 테이블을 사용하여 범주 형 기능의 조건을 줄이는 방법

  6. 6

    scikit-learn (sklearn)을 사용하여 선형 회귀를 위해 누락 된 데이터 (종속 변수)를 처리하는 방법은 무엇입니까?

  7. 7

    분류 알고리즘을 적용하기 전에 범주 형 데이터를 사전 처리하는 방법은 무엇입니까?

  8. 8

    scikit-learn을 사용하여 Random Forest에서 재귀 적 기능 제거

  9. 9

    Scikit-learn 맞춤형 채점 기능

  10. 10

    scikit learn을 사용하여 사전 학습에서 메모리 오류 가져 오기

  11. 11

    Scikit Learn Pipeline 용 맞춤형 변압기

  12. 12

    범주 형 데이터 세트를 사용한 원-핫 인코딩 : 범주 형 데이터에서 다른 값 (더 적은 수)을 처리하는 방법

  13. 13

    여러 줄을 주석 처리하는 기능 Vimrc

  14. 14

    python : scikit learn classfiers (SVM) 등에서 POS (품사) 기능을 사용하는 방법

  15. 15

    scikit-learn을 사용하여 Python에서 간단한 선형 회귀의 절편과 기울기를 인쇄하는 방법은 무엇입니까?

  16. 16

    추가 기능을 사용하여 오류 처리

  17. 17

    선을 연결하지 않고 범주 형 데이터를 사용하여 선 그림 만들기

  18. 18

    R에서 세 가지 범주 형 변수를 사용하여 막대 그림 그리기

  19. 19

    scikit-learn : 손으로 만든 기능을 포함하는 FeatureUnion

  20. 20

    모델 해석을 위해 LIME을 사용하는 동안 카테고리, float 및 int 유형 기능 처리

  21. 21

    범주 형 인덱스 값을 사용하여 특정 수준에서 다중 인덱스 시리즈 정렬

  22. 22

    희소 행렬을 사용하여 범주 형에서 이진 변수 만들기

  23. 23

    범주 형 대상 변수로 기능 선택에 mRMRe 사용

  24. 24

    하위 처리 기능을 사용한 다중 처리

  25. 25

    Python 및 PostgreSQL을 사용하여 여러 범주 트리 관리

  26. 26

    회귀 (기계 학습)에서 범주 형 특성의 할당되지 않은 (null) 값을 처리합니까?

  27. 27

    scikit-learn에서 ARDRegression을 사용하는 메모리 문제

  28. 28

    dplyr-범주 형 버전을 사용하여 여러 열 요약

  29. 29

    RCP 처리기 사용 가능 리소스 유형에 따라

뜨겁다태그

보관