ntk还提供决策树分类器(DecisionTreeClassifier )。 但是,与sklearn的使用方法不同,而且提供的例子是文本分类的例子,收敛很慢。 本文根据sklearn的光圈的例子进行了修正。
NLTK的决策树分类器与sklearn的输入数据格式不同,需要修改。 由于鸢尾具有四个参数,因此iris_features必须将四个参数组合为一个参数。
dfiris_features(iris,result ) : features={ } foriteminiris : features (item )=resultreturnfeatures ` ` 1.733602.0},2.0 )四个参数合并为词典,对应结果为光圈类型(0、1、2之一),最后加类型。 (看起来有点多余) ) ) ) ) ) )。
步骤如下。
importnumpyasnpimportnltkdefiris _ type (s ) : it={b'Iris-setosa': 0,b'Iris-versicolor': 1,b ' b ' iris-virgin ICA ' :2 }返回it [ s ] def iris _ features (iris, result ) : features={ } foriteminiris : features [ item ]=resultreturnfeaturesif _ _ name _==' _ main _ ' dtta转换器={ 4: iris _ type } (NP.random.shuffle ) data ) x,y=NP.split ) data,(4, axis=1) all_data=[]forIinrange(len(y ) ) : all _ data.append ((iris _ features ) x[I],y[I] )