DesicionTreeClassifier:输入包含NaN,无穷大或对于dtype('float32')而言太大的值

时间:2019-07-25 14:24:53

标签: machine-learning scikit-learn decision-tree

clf = DecisionTreeClassifier()
scoring = 'accuracy'
score = cross_val_score(clf, train_data, target, cv=k_fold, n_jobs=1, error_score='raise')
print(score)

运行此代码后,我出现错误:

  

ValueError:输入包含NaN,无穷大或值对于   dtype('float32')。

那么我该如何解决?

1 个答案:

答案 0 :(得分:0)

决策树不接受NaN /无穷大值。

尝试做(假设from spacy.tokens import Doc def pre_process_text(doc): # Generate a new list of tokens here new_words = create_new_words_here(doc) new_doc = Doc(doc.vocab, words=new_words) return new_doc ):

train_data is a Pandas DataFrame

这会将所有NaN值替换为0。

如果您不想这样做,唯一要做的就是删除带有NaN数据的条目:

train_data.fillna(0, inplace = True)

如果这不是DataFrame,请尝试在train_data.dropna(inplace = True) 方法之前添加以下行:

fillna