Sklearn决策树分类器显示浮点错误Python[不是重复的]

Sklearn决策树分类器显示浮点错误Python[不是重复的],python,sklearn-pandas,Python,Sklearn Pandas,我想用sklearn DecisionTreeClassifier做一个预测程序 我正在比较两个列表,一个是有浮动值的ListOnePar,另一个是只有字符串的timelist。我总是犯同样的错误。我在网上搜索,没有找到任何能帮助我的东西。我所看到的是,可以在两个列表之间进行比较,一个是带浮点数的列表,另一个是带字符串的列表。 这不是另一个问题的重复,在另一个问题中,错误是完全不同的,整个程序是不同的 这就是错误: 代码如下: 我认为在你的程序树中有一个变量 程序在使用import语句树或树变量

我想用sklearn DecisionTreeClassifier做一个预测程序

我正在比较两个列表,一个是有浮动值的ListOnePar,另一个是只有字符串的timelist。我总是犯同样的错误。我在网上搜索,没有找到任何能帮助我的东西。我所看到的是,可以在两个列表之间进行比较,一个是带浮点数的列表,另一个是带字符串的列表。 这不是另一个问题的重复,在另一个问题中,错误是完全不同的,整个程序是不同的

这就是错误:

代码如下:

我认为在你的程序树中有一个变量 程序在使用import语句树或树变量时感到困惑,因为您正在覆盖树以使其浮动 将变量名更改为三

在计算tree=roundfloattree1.itemchild,值[3],2时,将tree设置为float,因此出现错误:AttributeError:“float”对象没有属性“DecisionTreeClassifier”

我认为在你的程序树中有一个变量 程序在使用import语句树或树变量时感到困惑,因为您正在覆盖树以使其浮动 将变量名更改为三

在计算tree=roundfloattree1.itemchild,值[3],2时,将tree设置为float,因此出现错误:AttributeError:“float”对象没有属性“DecisionTreeClassifier”


这是预测的完整代码。我已经编写了类似的代码,它工作得非常完美,唯一的区别是我使用了该代码,我手动输入了列表值,在这段代码中,我使用for循环完成了它。使用for循环,我从树视图中获取值,树视图中的所有值都是浮点值,除了列表时间中的值,这些值都是字符串。只需检查是否安装了多个版本的sklearn。这可能是导致问题的原因。我没有安装多个版本的sklearn,我刚刚检查过。可能重复的版本是完整的预测代码。我已经编写了类似的代码,它工作得非常完美,唯一的区别是我使用了该代码,我手动输入了列表值,在这段代码中,我使用for循环完成了它。使用for循环,我从树视图中获取值,树视图中的所有值都是浮点值,除了列表时间中的值,这些值都是字符串。只需检查是否安装了多个版本的sklearn。这可能是问题的原因。我没有安装多个版本的sklearn,我刚刚检查过。tree1是treeview的名称,我无法更改。我使用它来获取tree view.tree=roundfloattree1.itemchild的值,值[3],2这一行中有输入错误。你写的是一棵树而不是三棵。。是的…我会检查更改tree=roundfloattree1.itemchild,值[3],2到3=roundfloattree1.itemchild,值[3],2我想我是你帮我解决了这个问题,但现在我在运行程序时遇到了这个错误:TypeError:Singleton数组'nene',dtype='tree1是treeview的名称,我无法更改。我使用它来获取tree view.tree=roundfloattree1.itemchild的值,值[3],2这一行中有输入错误。你写的是一棵树而不是三棵。。是的…我会检查更改树=roundfloattree1.itemchild,值[3],2到3=roundfloattree1.itemchild,值[3],2我想我是你帮我解决了这个问题,但是现在我在运行程序时遇到了这个错误:TypeError:Singleton数组'nene',dtype='2
Pred1=tree.DecisionTreeClassifier()
AttributeError: 'float' object has no attribute 'DecisionTreeClassifier'
from sklearn import tree

    ListOnePar=[]

    for child in tree1.get_children(id1):
        ListTwoPar=[]

        one=round(float(tree1.item(child,"values")[1]),2)
        two=round(float(tree1.item(child,"values")[2]),2)
        tree=round(float(tree1.item(child,"values")[3]),2)
        four=round(float(tree1.item(child,"values")[5]),1)
        five=round(float(tree1.item(child,"values")[6]),1)

        ListTwoPar.append(one)
        ListTwoPar.append(two)
        ListTwoPar.append(tree)
        ListTwoPar.append(four)
        ListTwoPar.append(five)

        ListOnePar.append(ListTwoPar)

    timelist=[]

    for child in tree1.get_children(id1):
        time=tree1.item(child,"values")[7]
        timelist.append(time)

    Pred1=tree.DecisionTreeClassifier()
    Pred1=Pred1.fit(ListOnePar,time)

    size=float(PredSizeEntry.get())
    time=float(PredTimeEntry.get())
    cost=float(PredCostEntry.get())
    level=float(PredLevelEntry.get())
    subcontractors=float(PredSubcontractorsEntry.get())

    ListForPrediction1=[]
    ListForPrediction2=[]

    ListForPrediction2.insert(0,size)
    ListForPrediction2.insert(1,time)
    ListForPrediction2.insert(2,cost)
    ListForPrediction2.insert(3,level)
    ListForPrediction2.insert(4,subcontractors)

    ListForPrediction1.append(ListForPrediction2)

    prediction1=Pred1.predict(ListForPrediction1) 
    print(prediction1[0])
for child in tree1.get_children(id1):
    ListTwoPar=[]

    one=round(float(tree1.item(child,"values")[1]),2)
    two=round(float(tree1.item(child,"values")[2]),2)
    tree=round(float(tree1.item(child,"values")[3]),2)   # <===== variable to be changed from tree to three
    four=round(float(tree1.item(child,"values")[5]),1)
    five=round(float(tree1.item(child,"values")[6]),1)