2017-11-09 2 views
0

저는 현재 기계 학습과 신경망에 들어가려고 노력하고 있습니다. 그러나 프로그래밍 기술이 부족하여 지금 저를 방해하고 있습니다. 이 날 매우 잘 작동 나에게 내가 X_test에서 선택이 10 개 입력을 달성 정밀도를 알려줍니다분류 네트워크에서 단일 값 예측

pred_fn = tf.estimator.inputs.pandas_input_fn(x=X_test,batch_size=len(X_test),shuffle=False) 

predictions = list(model.predict(input_fn=pred_fn)) 

predictions[0] 

final_preds = [] 
for pred in predictions: 
    final_preds.append(pred['class_ids'][0]) 

final_preds[:10] 

from sklearn.metrics import classification_report 

print(classification_report(y_test,final_preds)) 

: 나는 코드 줄이 만든 모델을 평가하기 위해 만들어진하는 온라인 자습서를 수행하고있다. 불행히도 X_test에서 특정 단일 값을 예측할 수있는 방법을 알 수 없거나 X_test 요소와 크기가 같은 수동 입력 값을 계산할 수 없습니다.

pandas.core.frame.DataFrame이고 15 개의 열과 수천 개의 행을 포함합니다. 따라서 특정 가치를 예측하거나 평가하는 것이 도움이 될 것입니다.

내가 포함시켜야하는 필수 정보를 놓친 경우 알려주십시오. 미리 감사드립니다!

답변

0

X_test 데이터 프레임의 섹션 만 가져 오거나 하나의 값이 단일 행의 데이터 프레임으로 전달되지 않는 이유는 무엇입니까?

dataframe을 단면 :

temp = X_test[i:i+1] 

대신 X_test의 현재 사용, i 번째 행과 온도를 테스트 할 수 있습니다.

또는 필요한 데이터와 새로운 dataframe 만들기 :

데이터가리스트로서 입력
temp = pandas.DataFrame(data, columns = X_test.columns) 

(반복 가능) [A1, A2, A3 ... A15].

다시 코드에서 X_test 대신 temp를 사용하십시오.

+0

Hej, 첫 번째 방법을 시도해보고 약속 된대로 단일 행의 데이터를받습니다. temp 변수는 X_test 대신 예측 함수에 사용되며 batch_size는 len (temp)으로 변경되었습니다. 더 진행하면 예측 변수에 목록을 예측으로 저장하는 두 번째 블록에서 "TypeError : pandas가 설치된 경우 데이터가 numpy 배열 또는 pandas DataFrame이어야하며 시리즈가있는 경우"오류가 발생합니다. 기본적으로 내가 원했던 것은이 행에 대해 예측 된 정확도를 보는 것입니다. – Schnurrberto

+0

지금 내가 관리한다고 생각합니다. 두 번째 방법을 사용하여 새 DataFrame을 만든 다음 원하는 모든 열을 추가했습니다. 그러면 이것이 예측 기능에 입력되고 출력을받습니다. 건배! – Schnurrberto

+0

죄송합니다. 함수가 시리즈를 허용하지 않는다는 것을 알지 못 했으므로 첫 번째 방법으로 데이터 프레임을 반환하는 답이 업데이트되었습니다. 두 번째 접근 방식이 효과적 이었기 때문에 기쁘다. –