首页 > 解决方案 > 收入预测神经网络 Python

问题描述

我正在尝试创建一个神经网络。我删掉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

标签: pythonneural-network

解决方案


是的,是的,你可以。对于 pandas 库,这变得微不足道。首先,您需要import pandas,然后使用以下代码可以将列表列表转换为 pandas 数据框:

df = DataFrame(a, columns=headers)

然后你可以设置训练集:

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

您的value2列应包含分类器使用的标签。对于 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]]))

推荐阅读