我正在使用决策树分类器来尝试根据一种类型的节目来预测男性或女性。一旦我使用graphviz可视化决策树,该图形就会将男性输出为真和假。我在这个问题上有困难。
有可能不是我的代码错了,而是我的特性和目标变量。下面是jupyter记事本块中的代码:
Male = tmp[tmp['gender'] == 'M']
Female = tmp[tmp['gender'] == 'F' ]
X = tmp.loc[:, ['Fantasy', 'Romance']]
# 'Cars', 'Drama', 'Game','SliceofLife','Music', 'Psychological', 'Fantasy', 'Horror','Historical','Space','Sci-Fi', 'Magic', 'Adventure', 'Samurai', 'ShounenAi', 'Mecha', 'Thriller', 'Demons', 'Kids', 'Romance', 'Sports', 'Seinen', 'School', 'ShoujoAi', 'Comedy']]
y = tmp['gender']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
model_dtc = DecisionTreeClassifier()
model_dtc = model_dtc.fit(X_train, y_train)
y_pred = model_dtc.predict(X_test)
df_dtc = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred})
tree.export_graphviz(model_dtc, out_file='gender_classifier.dot', feature_names=['Fantasy', 'Romance'],class_names=tmp['gender'] ,filled=True, rounded=True,special_characters=True)
dot_data = tree.export_graphviz(model_dtc, out_file=None, feature_names = ['Fantasy','Romance'], class_names = tmp['gender'] , filled=True, rounded=True, special_characters=True)
graph = graphviz.Source(dot_data)
graph 图形输出

任何想法或建议都是非常有用的!
发布于 2018-12-07 15:44:16
我认为这不是一棵完整的树。你是说预测方法总是有输出的男性吗?
根据这张图,我做了一些观察:
也许试着把它转换成巴布亚新几内亚?使用这个- dot -Tpng tree.dot -o tree.png
https://stackoverflow.com/questions/53665535
复制相似问题