Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用决策树调整树并比较几种候选树模型的准确率_Python - Fatal编程技术网

Python 使用决策树调整树并比较几种候选树模型的准确率

Python 使用决策树调整树并比较几种候选树模型的准确率,python,Python,我试图找出如何建立一个非常基本的决策树,然后我需要将深度改为最多两个。我不是在找人帮我做这件事,但我只是想找人看看代码,告诉我我的方向是否正确。你是说tree1=sklearn.tree.DecisionTreeClassifier(1,2).fit(trainX,trainY)?单独编写sklearn.tree.DecisionTreeClassifier(1,2)将创建树并立即销毁它,因为它没有被分配到任何变量或用于任何地方哦,太棒了,谢谢你,我甚至没有意识到这一点。您还知道为什么可能会出现

我试图找出如何建立一个非常基本的决策树,然后我需要将深度改为最多两个。我不是在找人帮我做这件事,但我只是想找人看看代码,告诉我我的方向是否正确。

你是说
tree1=sklearn.tree.DecisionTreeClassifier(1,2).fit(trainX,trainY)
?单独编写
sklearn.tree.DecisionTreeClassifier(1,2)
将创建树并立即销毁它,因为它没有被分配到任何变量或用于任何地方哦,太棒了,谢谢你,我甚至没有意识到这一点。您还知道为什么可能会出现AttributeError的错误消息:“DataFrame”对象没有属性“score”,并且CRITERIA=CRITERIA\u CLF[self.CRITERIA](self.n\u outputs\u,KeyError:1
titanic.score(trainX,trainY)
应该是
tree1.score(trainX,trainY)
我的代码中有一部分仍然出现错误……CRITERIA=CRITERIA\u CLF[self.CRITERIA](self.n\u outputs,KeyError:1.我从第29行开始添加tree1=tree.DecisionTreeClassifier()tree1\u fit=tree1.fit(trainX,trainY)tree.plot\u tree(tree1\u fit,fill=True,class\u name=['0','1'))tree1=sklearn.tree.decisiontree.DecisionTreeClassifier(1,2).fit(trainX,trainY)print('训练数据的准确率为',tree1.score(trainX,trainY))print('测试数据的准确率为',tree1.score(testX,testY))clf=tree.DecisionTreeClassifier()clf=clf.fit(X,Y)
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
titanic = sns.load_dataset('titanic')
titanic = titanic.drop(['class', 'who', 'adult_male', 'deck', 'embark_town', 'alive', 'alone'], axis=1)
titanic['age'].fillna(titanic.groupby('pclass')['age'].transform("median"), inplace=True)
titanic.dropna(inplace=True)
new_sex = pd.get_dummies(titanic['sex'], drop_first=True)
new_embarked = pd.get_dummies(titanic['embarked'], drop_first=True)
titanic = pd.concat([titanic, new_sex, new_embarked], axis=1)
titanic.drop(['sex', 'embarked'],axis=1, inplace=True)
titanic.head()
X = new_embarked
Y = new_sex
import sklearn 
from sklearn import tree 
from sklearn.model_selection import train_test_split
trainX, testX, trainY, testY = train_test_split(X,Y,test_size = 0.3, random_state = 1000)
sklearn.tree.DecisionTreeClassifier(1,2)
tree1 = tree.fit(trainX, trainY)
print ('the accuracy rate on training data is', titanic.score(trainX, trainY))
print ('the accuracy rate on testing data is', titanic.score(testX, testY))
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X,Y)
prediction = clf.predict([[169,58,8]])
print = prediction