python - 如何在 Jupyter Notebook 中使用 Python 库调试错误
问题描述
我正在使用 jupyter notebook 中的 python 库进行建模。我已经完成了预处理阶段并尝试构建我的第一个机器学习模型(ANN;人工神经网络和决策树)。一段时间以来,我一直试图了解如何解决这些错误,而我看到的唯一可能原因与数据类型有关,但是,我不确定这对我来说是个问题吗?此外,在尝试构建第一个机器学习模型之前,我所做的最后一步是使用以下代码拆分训练和测试:
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)
人工神经网络代码:
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)
我收到的错误是对构建决策树的代码的响应:
Unknown label type: 'unknown'
#注意:我所有的数据集都是数字,其中一些是从类别转换而来的。数据和目标的dtype
都是object
。(X) 是我的数据,(y) 是我的目标。我还发布了错误的图像以供参考。如果您需要更多信息,请告诉我。
更新:我将我的目标/((y)转换为dtype integer
而不是dtype object
。我在train_test_split下插入了这些:
y=y.astype('int')
target=target.astype('int')
但是,它没有任何区别,我仍然得到一个错误。谢谢
解决方案
在我看来,您没有向模型提供正确的数据结构。请参阅此链接
https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html#sklearn.neural_network.MLPClassifier.fit
并查看fit()函数的文档。您需要确保数组或矩阵的长度与函数期望的长度相匹配,并且数据类型也与文档相匹配。
至于决策树,我相信它也会导致其格式错误,我发现这个链接
ValueError: Unknown label type: 'unknown'
解决了同样的问题。
推荐阅读
- javascript - 如何使隐藏的显示再次出现
- c# - PreviewMouseLeftButtonDown 事件偶尔会在触摸控件外部时触发
- javascript - 每当我编译我的应用程序时,都会抛出一个反应错误,显示“TypeError:无法读取未定义的属性(读取'endOf')”
- java - 如何在 Java 中为 Web 套接字客户端(Jetty)设置最大缓冲区大小
- c - 为数组赋值:数组表达式必须是可修改的左值
- python - 错误: ffprobe/avprobe 和 ffmpeg/avconv 未找到。请安装一个
- json - 尝试从 json 文件解码数据时出错
- typescript - 通过键匹配单独的数组值来收集键/值对
- javascript - 如何在 iOS 15 中使用 Safari iOS App Extension 从 popup.js 获取活动选项卡的 URL?
- css - 网格中的最小列数