我在那儿。我刚刚从机器学习开始,举了一个简单的例子来尝试学习。所以,我想使用一个分类器根据文件类型对磁盘中的文件进行分类。我写的代码是
import sklearn
import numpy as np
#Importing a local data set from the desktop
import pandas as pd
mydata = pd.read_csv('file_format.csv',skipinitialspace=True)
print mydata
x_train = mydata.script
y_train = mydata.label
#print x_train
#print y_train
x_test = mydata.script
from sklearn import tree
classi = tree.DecisionTreeClassifier()
classi.fit(x_train, y_train)
predictions = classi.predict(x_test)
print predictions
我得到的错误是
script class div label
0 5 6 7 html
1 0 0 0 python
2 1 1 1 csv
Traceback (most recent call last):
File "newtest.py", line 21, in <module>
classi.fit(x_train, y_train)
File "/home/initiouser2/.local/lib/python2.7/site-
packages/sklearn/tree/tree.py", line 790, in fit
X_idx_sorted=X_idx_sorted)
File "/home/initiouser2/.local/lib/python2.7/site-
packages/sklearn/tree/tree.py", line 116, in fit
X = check_array(X, dtype=DTYPE, accept_sparse="csc")
File "/home/initiouser2/.local/lib/python2.7/site-
packages/sklearn/utils/validation.py", line 410, in check_array
"if it contains a single sample.".format(array))
ValueError: Expected 2D array, got 1D array instead:
array=[ 5. 0. 1.].
Reshape your data either using array.reshape(-1, 1) if your data has a
single feature or array.reshape(1, -1) if it contains a single sample.
如果有人能帮我写代码,那对我太有帮助了!!
我有以下代码。整形运算符不是内置运算符。因此,我们必须将它的值替换为像上面给出的那样重新整形后的值。
将输入传递给分类器时,传递2D数组(属于形状
(M, N)
,其中N>;=1),而不是1D数组(具有形状(N,)
)。错误信息很清楚其他一些有用的提示-
相关问题 更多 >
编程相关推荐