首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KNN分类器Python

KNN分类器Python
EN

Stack Overflow用户
提问于 2022-03-08 02:56:48
回答 1查看 125关注 0票数 2

我目前正在使用scikit学习模块,以帮助解决犯罪预测问题。我有一个问题批次编码整个Dataframe与knn.predict方法。

如何用knn.predict()方法对我的Dataframe的整个两列进行批处理,以便将输出存储在另一个Dataframe中?

代码语言:javascript
复制
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split

knn_df = pd.read_csv("/Users/helenapunset/Desktop/knn_dataframe.csv")

# x is the set of features 
x = knn_df[['latitude', 'longitude']]

# y is the target variable 
y = knn_df['Class']

# train and test data 
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=0)

from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors = 5)

# training the data 
knn.fit(x_train,y_train)

# test score was approximately 69% 
knn.score(x_test,y_test)

# this is predicted to be a safe zone 
crime_prediction = knn.predict([[25.787882, -80.358427]])
print(crime_prediction)

在代码的最后一行中,我从标记为knn_df的Dataframe中添加了我使用的两个特性,即纬度和经度。但是,这是我一直在搜索的文档中关于简化整个Dataframe的knn预测的过程的一个单一点,并且似乎找不到一个方法来做到这一点。在某种程度上,是否有可能为此使用for循环?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-08 03:29:35

让要预测的新集合是'knn_df_predict‘。假设列名相同,请尝试以下代码行:

代码语言:javascript
复制
x_new = knn_df_predict[['latitude', 'longitude']] #formating features
crime_prediction = knn.predict(x_new) #predicting for the new set
knn_df_predict['prediction'] = crime_prediction #Adding the prediction to dataframe
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71389535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档