Я неплохой новичок ie до python. В настоящее время я изучаю, как построить дерево решений, но не могу понять, почему мое дерево решений не строит ?! Я получаю код ошибки
'Dot' object does not support indexing'
Я пропустил несколько вещей и сразу перешел к точке кода.
#Modules imported
import seaborn as sns
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
from sklearn import tree
import graphviz
import pydotplus
import sklearn.tree as tree
import pydotplus
from sklearn.externals.six import StringIO
from IPython.display import Image
#Here is the code from midway through:
X=titanic.drop(['Survived'],axis=1)
y=titanic[['Survived']]
#Modelling stage
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=100)
from sklearn.tree import DecisionTreeClassifier
dtree=DecisionTreeClassifier(criterion='entropy')
dtree.fit(X_train,y_train)
predictions=dtree.predict(X_test)
#Importing the modules to plot the dtree
from IPython.display import Image
from sklearn.externals.six import StringIO
from sklearn.tree import export_graphviz
import pydotplus
#Plotting Dtree
features=list(X.columns)
dot_data=StringIO()
export_graphviz(dtree,out_file=dot_data,feature_names=features,filled=True,rounded=True)
graph=pydotplus.graph_from_dot_data(dot_data.getvalue())
Image(graph[0].create_png())
После выполнения последней строки я получаю эту ошибку :
'Dot' object does not support indexing
Я пытался изменить feature_names=list(X.columns)
так же, как и просто X.columns, но это не сработало.
Я попытался использовать вместо этого принятия решения, но это также не работает. Фактическая модель действительно выполняется, и я могу легко получить оценки точности и отчеты о классификации и т. Д. c, но я хочу на самом деле построить свое дерево решений, чтобы увидеть, как система фактически сгенерировала дерево решений.