2017-03-06 8 views
0

I 수레로 특성 값을 포함하는 배열을 갖고 I는 정수 라벨의 어레이가 - 1, 0랜덤 포레스트 평가 - NumPy와

예 : 특징 값 :

[[ 17.99 10.38 122.8 ..., 0.147 0.242 0.079] 
[ 20.57 17.77 132.9 ..., 0.07  0.181 0.057]] 

특성 값 배열에 레이블을 추가하면 레이블이 수레가됩니다. 예 - 추가 0 feature_values ​​: 나는 다음과 같은 코드를 실행하면

[[ 17.99 10.38 122.8 ..., 0.242 0.079 0. ]] 

:

내가 읽은 바로는
raise ValueError("Unknown label type: %r" % y_type) 

ValueError: Unknown label type: 'continuous' 

, 내가 볼 :

training_set = data_features[:,0:9] 
test_set = data_features[:,9] 
seed = 7 
num_trees = 100 
max_features = 3 
kfold = model_selection.KFold(n_splits=10, random_state=seed) 
model = RandomForestClassifier(n_estimators=num_trees, max_features=max_features) 
results = model_selection.cross_val_score(model, training_set, test_set, cv=kfold) 
print(results.mean()) 

오류가 발생합니다 이것은 라벨이 떠 다니기 때문에 발생합니다.

특성 값의 dtype을 "int"로 변경하면 코드는 작동하지만 플로트를 보존해야합니다.

코드가 작동하도록 플로팅으로 정수 및 기능 값으로 레이블을 지정할 수있는 방법이 있습니까?

+0

'test_set = data_features [:, 9] .astype (int)'이것은 트릭을 수행해야합니다. –

+0

하지만 내 시험 세트는 내 훈련 세트에서 10 %이며 이는 또한 부유합니다. .astype (int)을 사용하면 테스트 세트가 0이됩니다. – nanachan

+0

은 하나의 열을 int로 변환하면됩니다. 알았다. 내가 체크해 볼게. 표준 사례 인 경우 더 많은 코드를 공유하거나 링크 할 수 있습니다. –

답변

1

y_labels를 정수로 변환해야 RandomForestClassifier에서이를 학습 할 수 있습니다.

test_set = data_features[:,9].astype(int)