Прогноз дохода нейронной сети Python - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь создать нейронную сеть. Я сократил a, потому что у меня есть более 1000 списков. Я видел много уроков, но мне нужна помощь:

Могу ли я использовать список в качестве базы данных вместо dic?

# a[0] is the price
# a[1] is the paid value
# a[2] is my result


from sklearn.neighbors import KNeighborsClassifier
from pandas import DataFrame
a = [[0.063807299, 0.71, 0.00071],
     [0.363262854, 0.7, 0.0007],
     [0.836344317, 0.76, 0.00076]]

df = DataFrame(a)
df.columns = ['value1', 'value2', 'result']

X_train, y_train = df['value1'], df['value2']
knn = KNeighborsClassifier(n_neighbors=7)
knn.fit(X_train, y_train)
knn.score(X_train, y_train)


knn.predict([[1.2, 3.4]])
>>> 0.025  # This would be my results for example

1 Ответ

0 голосов
/ 06 сентября 2018

Да, да, вы можете. Это становится тривиальным с библиотекой панд. Сначала вам нужно import pandas, затем с помощью следующего кода вы можете преобразовать свой список списков в кадр данных pandas:

df = DataFrame(a, columns=headers)

тогда вы можете настроить тренировочный набор с помощью:

X_train, y_train = df['value1'], df['value2']

Ваш столбец value2 должен содержать метки для работы классификатора. Ярлыки не могут иметь тип float для классификаторов KNN, поэтому простая настройка их на целые числа решит проблему.

a = [[0.063807299, 71, 0.00071],
     [0.363262854, 7, 0.0007],
     [0.836344317, 76, 0.00076]]

lab_enc = preprocessing.LabelEncoder()
df = DataFrame(a)
df.columns = ['value1', 'value2', 'result']
X_train, y_train = df['value1'].values.reshape(-1,1), df['value2'].values.reshape(-1,1)


knn = KNeighborsClassifier(n_neighbors=2)
knn.fit(X_train, y_train.ravel())
knn.score(X_train, y_train)


print(knn.predict([[0.7]]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...