如何使用Python库for ML调试Jupyter笔记本中的错误
我正在使用jupyter笔记本中的python库进行建模。我已经完成了预处理阶段,并尝试构建我的第一个机器学习模型(ANN、人工神经网络和决策树)。一段时间以来,我一直在试图理解如何修复这些错误,我看到的唯一可能的原因是与数据类型有关,但是,我不确定这在我的案例中是否是一个问题? 此外,在尝试构建第一个机器学习模型之前,我所做的最后一步是使用以下代码拆分训练和测试:如何使用Python库for ML调试Jupyter笔记本中的错误,python,pandas,numpy,machine-learning,jupyter-notebook,Python,Pandas,Numpy,Machine Learning,Jupyter Notebook,我正在使用jupyter笔记本中的python库进行建模。我已经完成了预处理阶段,并尝试构建我的第一个机器学习模型(ANN、人工神经网络和决策树)。一段时间以来,我一直在试图理解如何修复这些错误,我看到的唯一可能的原因是与数据类型有关,但是,我不确定这在我的案例中是否是一个问题? 此外,在尝试构建第一个机器学习模型之前,我所做的最后一步是使用以下代码拆分训练和测试: from sklearn.model_selection import train_test_split x_train, x_t
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(data, target, test_size=0.3)
ANN代码:
from sklearn.neural_network import MLPClassifier
mlp = MLPClassifier(hidden_layer_sizes=(5,5), max_iter=3000)
mlp.fit(x_train, y_train)
我收到的错误是对构建我的ANN的代码的响应:
ValueError: Unknown label type: (array([0, 0 etc..
决策树代码:
from sklearn.tree import DecisionTreeClassifier
d = DecisionTreeClassifier(max_depth=3).fit(x_train, y_train)
作为对构建决策树代码的响应而收到的错误:
未知标签类型:“未知”
#注意:我的所有数据集都是数字,有些是从类别转换而来的。数据和目标的dtype
都是object
。(X)是我的数据,(y)是我的目标。我还发布了错误的图片以供参考。如果你需要更多信息,请告诉我
更新:我将我的目标/((y)转换为dtype integer
,而不是dtype object
。我将它们插入到“列车测试”分割下:
y=y.astype('int')
target=target.astype('int')
但是,这并没有产生任何影响,我仍然得到一个错误。谢谢。在我看来,您没有向模型提供正确的数据结构。请参考此链接
请参阅fit()函数的文档。您需要确保数组或矩阵的长度与函数期望的长度匹配,并且数据类型也与文档匹配。
至于DecisionTree,我相信它也会导致格式错误,我发现了这个链接
这就解决了同样的问题。我以前在另一个数据帧中使用了codes格式,它工作得很奇怪。我的数据(x)总体上是
dtype对象
,由float64
和uint8
和一个int64
组成,而我的数据(y)是是dtype对象
,由二进制(0,1)
组成,所以我还不确定如何修复它。谢谢,我实际上将我的x和y都更新为整数,而不仅仅是y,它工作了!谢谢你!@user15812289是的,所以基本上修复是我为感兴趣的人发送的第二个链接,没有问题,很乐意帮助:)