sklearn只决策树

来源:互联网 发布:英雄无敌6兵种数据 编辑:程序博客网 时间:2024/05/17 06:21
from sklearn.feature_extraction import DictVectorizerimport csvfrom sklearn import preprocessingfrom sklearn import treefrom sklearn.externals.six import StringIOallEctronicsData = open(r'E:\workspace\first\src\test\c.csv', 'rb')reader = csv.reader(allEctronicsData);headers = reader.next();featureList = [];labelList = [];for row in reader:    labelList.append(row[len(row) - 1])    rowDict = {};    for i in range(1, len(row)-1):        rowDict[headers[i]] = row[i];        featureList.append(rowDict);print(featureList)vec = DictVectorizer();
//将数据转化为矩阵类型dumpyX = vec.fit_transform(featureList).toarray()print(vec.feature_names_)lb = preprocessing.LabelBinarizer()dumpyY = lb.fit_transform(labelList)print(str(dumpyY))clf = tree.DecisionTreeClassifier(criterion = 'entropy')clf = clf.fit(dumpyX, dumpyY)print(str(clf))with open("allEctronicsDataAllInfo.dot", 'w') as f:    f = tree.export_graphviz(clf, feature_names = vec.get_feature_names(), out_file = f)
newRowX = dumpyX[0, :]newRowX[0] = 1newRowX[2] = 0predict = clf.predict(newRowX)print(str(predict))
利用graphviz,将输出的dot文件转化为pdf。命令如下:dot -Tpdf E:\workspace\first\src\test\allEctronicsDataAllInfo.dot -o E:\workspace\first\src\test\allEctronicsDataAllInfo.pdf
0 0
原创粉丝点击