首页 > 解决方案 > 决策树类型错误:“float”和“str”实例之间不支持“<”

问题描述

我试图理解machine learning,我DecisionTreesklearn第一个algo尝试理解的人。

X dataframe head:

    d_t_375  190dt375_std190MA
0  0.224533           0.143279
1  0.542533           0.095203
2 -0.238400           0.221700
3  0.167467           0.143120
4 -0.138533           0.076678

Y dataframe head:

  Entry buyorsell        pl
0     Y         B -0.224533
1     Y         B -0.350000
2     Y         S  0.950000
3     Y         B -0.167467
4     Y         S  1.300000

import pandas as pd
import numpy as np
import os
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

X_train,X_test,y_train,y_test= train_test_split(X, y, test_size=0.3)
model = DecisionTreeClassifier()
model.fit(X_train,y_train)

我收到一个错误

model.fit(X_train,y_train)

回溯(最近一次通话最后):

文件“site-packages/sklearn/tree/tree.py”,第 801 行,适合 X_idx_sorted=X_idx_sorted) 文件“site-packages/sklearn/tree/tree.py”,第 140 行,适合 check_classification_targets(y) 文件“ site-packages/sklearn/utils/multiclass.py”,第 168 行,在 >check_classification_targets y_type = type_of_target(y) 文件“site-packages/sklearn/utils/multiclass.py”,第 249 行,在 >type_of_target if is_multilabel(y ): 文件“/site-packages/sklearn/utils/multiclass.py”,第 151 行,在 >is_multilabel 标签 = np.unique(y) 文件“site-packages/numpy/lib/arraysetops.py”,第 223 行,在唯一返回_unique1d(ar,return_index,return_inverse,return_counts)文件“site-packages/numpy/lib/arraysetops.py”,第283行,在_unique1d ar.sort()类型错误:'float' 和 'str' 的实例之间不支持 '<'

有人可以告诉我我在这里做错了什么吗?

标签: pythonscikit-learnsklearn-pandas

解决方案


推荐阅读