Чтение файла .arff и попытка игнорировать заголовок - PullRequest
0 голосов
/ 20 января 2019

Я новичок в python и мне нужна помощь с моим кодом.Я читаюФайл arff в моей записной книжке jupyter с использованием pyhton2.7. Я хотел бы знать, какой аргумент мне нужно указать в arff.lodarff, или каким-либо другим способом сделать это, чтобы я мог игнорировать заголовок моих данных.

rain,meta = arff.loadarff(open('train.arff', 'r'))

После прочтения файла я выполняю некоторые математические операции, и у меня появляется эта ошибка.

Я надеюсь, что кто-то может помочь мне разобраться.

train,meta = arff.loadarff(open('train.arff', 'r'))
train = pd.DataFrame(train)
print(train)

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-192-3b2868d1fd43> in <module>()
----> 1 ne = getNeighbors(X_train, y_train, X_test, k = 3)
      2 print(ne)

<ipython-input-191-75b4da86d04e> in getNeighbors(X_train, y_train, X_test, k)
      6             for (trainpoint,y_train_label) in zip(X_train,y_train):
      7                 # calculate the distance and append it to a distances_label with the associated label.
----> 8                 distances_label.append((distance(testpoint, trainpoint), y_train_label))
      9             k_neighbors_with_labels += [sorted(distances_label)[0:k]] # sort the distances and taken the first k neighbors
     10         return k_neighbors_with_labels

<ipython-input-186-22e861402349> in distance(testpoint, trainpoint)
      2 def distance(testpoint, trainpoint):
      3     # distance between testpoint and trainpoint.
----> 4     dist = np.sqrt(np.sum(np.power(float(testpoint)-float(trainpoint), 2)))
      5     return dis
      6 

ValueError: could not convert string to float: sepal_length

1 Ответ

0 голосов
/ 20 января 2019

Вы предполагаете, что testpoint - это массив в вашей функции расстояния.

Но что, если это не так?

Вы используете кадры данных pandas, это не просто массивы, авот почему вы получаете имена столбцов.

...