【发布时间】:2020-04-11 16:35:06
【问题描述】:
我的代码:
import numpy as np
from pandas import read_csv
from matplotlib import pyplot as plt
from sklearn.neural_network import MLPClassifier
from sklearn.model_selection import train_test_split
data = read_csv('data.csv', usecols=['col_1'])
df_x = data.iloc[:, 1:]
df_y = data.iloc[:, 0]
x_train, x_test, y_train, y_test = train_test_split(df_x, df_y, test_size=0.9, random_state=4)
nn = MLPClassifier(activation='logistic', solver='sgd', hidden_layer_sizes=(2,), random_state=1)
#nn.fit(x_train[x], y_train[x])
print(nn)
nn.fit(x_train, y_test)
pred = nn.predict(x_test)
我从 .fit() 方法中得到了如标题所示的错误,由于我是 ML 新手,所以对文档了解不多。
完全错误:
File "C:/NNC/Main.py", line 14, in <module>
data.target.array([])
File "C:\NNC\venv\lib\site-packages\pandas\core\generic.py", line 5179, in __getattr__
return object.__getattribute__(self, name)
AttributeError: 'DataFrame' object has no attribute 'target'
更新-:
我已经删除并更新了它,因为这是为了测试文档中找到的解决方案。我已经更新了错误
File "C:\Users\PycharmProjects\NNC\venv\lib\site-packages\sklearn\neural_network\_multilayer_perceptron.py", line 325, in _fit
X, y = self._validate_input(X, y, incremental)
File "C:\Users\PycharmProjects\NNC\venv\lib\site-packages\sklearn\neural_network\_multilayer_perceptron.py", line 932, in _validate_input
multi_output=True)
File "C:\Users\PycharmProjects\NNC\venv\lib\site-packages\sklearn\utils\validation.py", line 739, in check_X_y
estimator=estimator)
File "C:\Users\PycharmProjects\NNC\venv\lib\site-packages\sklearn\utils\validation.py", line 459, in check_array
dtype_orig = np.result_type(*array.dtypes)
File "<__array_function__ internals>", line 6, in result_type
ValueError: at least one array or dtype is required
进程以退出代码 1 结束
【问题讨论】:
-
在您的问题中提供完整的错误信息
-
全部搞定,谢谢
-
似乎错误超出了您提供的代码:
data.target.array([])there's no columntarget... -
Iv 已删除并更新了此内容,因为这是为了测试文档中的解决方案。我已经更新了错误。感谢您指出这一点
-
不要把你的问题变成另一个问题。它将导致对答案的大量反对票。只需添加细节,而不是删除现有的无能细节。
标签: python scikit-learn neural-network artificial-intelligence