kNN classification using scikit-learn: TypeError: unsupported operand type(s) for /: 'str' and 'int'

kNN classification using scikit-learn: TypeError: unsupported operand type(s) for /: 'str' and 'int'

我正在尝试使用 longitude 和具有 floatlatitude 来预测属性 area 的名称,其 object 作为其 dtype ] 作为他们的 dtype。我正在使用 kNN 算法,但出现此错误:TypeError: unsupported operand type(s) for /: 'str' and 'int'

我在使用kNN的过程中对数据类型感到困惑。我能得到任何帮助来理解我在这里做错了什么吗?这是我的代码:

from sklearn.neighbors import KNeighborsClassifier, KNeighborsRegressor

# read csv file

df = pd.read_csv("perfectData.csv")
X = np.array(df.ix[:, 13:])
y = np.array(df['area'])

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=90)
y_train=y_train.ravel()
y_test=y_test.ravel()

knn = KNeighborsRegressor(n_neighbors=3)

# fitting the model
knn.fit(X_train, y_train)

# predict the response
pred = knn.predict(X_test)

print(pred)

只需要删除ravel()

df = pd.read_csv("perfectData.csv")
X = np.array(df.ix[:, 13:])
y = np.array(df['area'])

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)

knn=KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train,y_train)
prediction=knn.predict(X_test)