标签: knn

使用python numpy找到3d空间中某个点的k个最近邻居

我有一个n点的三维点云,格式为np.array((n,3)).例如,这可能是这样的:

P = [[x1,y1,z1],[x2,y2,z2],[x3,y3,z3],[x4,y4,z4],[x5,y5,z5],.....[xn,yn,zn]]
Run Code Online (Sandbox Code Playgroud)

我希望能够得到每个点的K最近邻居.

所以例如P1的k个最近邻居可能是P2,P3,P4,P5,P6,P2的KNN可能是P100,P150,P2等.

如何在python中做到这一点?

python numpy knn

0
推荐指数
2
解决办法
2950
查看次数

即使在 GPU 上,KNN 分类器也花费太多时间

我正在 kaggle 上使用 KNN 对 MNSIT 数字进行分类,但在最后一步执行需要很长时间,而且 mnsit 数据突出 15 mb,就像我还在等待,您能指出我代码中的任何问题吗?谢谢。

import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)

import os
print(os.listdir("../input"))
#Loading datset

train=pd.read_csv('../input/mnist_test.csv')

test=pd.read_csv('../input/mnist_train.csv')

X_train=train.drop('label',axis=1)

y_train=train['label']

X_test=test.drop('label',axis=1)

y_test=test['label']

from sklearn.neighbors import KNeighborsClassifier

clf=KNeighborsClassifier(n_neighbors=3)

clf.fit(X_train,y_train)

accuracy=clf.score(X_test,y_test)

accuracy
Run Code Online (Sandbox Code Playgroud)

machine-learning knn

0
推荐指数
1
解决办法
5186
查看次数

如何按子查询中的非聚合列排序?

我正在尝试在 Hasura 中创建一个函数来查询用户附近的帖子。我得到了那个工作,但我也想订购这些帖子。我收到一个 Postgres 错误,内容为:

“postgres-error : 列“b.Volume”必须出现在 GROUP BY 子句中或用于聚合函数中”

我是 Hasura 和 Postgres 的新手,我不确定您是否被允许做这样的事情。这是我的代码:

CREATE OR REPLACE FUNCTION public.search_posts_near_user(id uuid, distance_kms integer, volume integer)
 RETURNS SETOF user_posts
 LANGUAGE sql
 STABLE
AS $function$
  SELECT  A.id, A.location,
  (SELECT json_agg(row_to_json(B)) FROM "Posts" B
   WHERE (
     ST_Distance(
       ST_Transform(B.location::Geometry, 3857),
       ST_Transform(A.location::Geometry, 3857)
     ) /1000) < distance_kms AND B."Volume" < volume
    ORDER BY B."Volume" Desc
   ) AS nearby_Posts
  FROM users A where A.id = id
$function$
Run Code Online (Sandbox Code Playgroud)

sql postgresql sql-order-by knn hasura

0
推荐指数
1
解决办法
56
查看次数

Python 中的 KNN 实现

我正在尝试在 Python 中实现一个简单的 KNN 技术,其中我使用每分钟的股票价格数据,并使用我的 x 变量作为开盘价、收盘价和交易量数据来预测下一分钟的开盘价。我的代码如下:-

import numpy as np
import pandas as pd
import scipy
import matplotlib.pyplot as plt
from pylab import rcParams
import urllib
import sklearn
from sklearn.neighbors import KNeighborsRegressor
from sklearn import neighbors
from sklearn import preprocessing
from sklearn.cross_validation import train_test_split
from sklearn import metrics 
from googlefinance.client import get_price_data, get_prices_data, get_prices_time_data
import copy

np.set_printoptions(precision = 4, suppress = True)
rcParams['figure.figsize']=7,4
plt.style.use('seaborn-whitegrid')




param = {'q':"DJUSBK", 'i':"60",'x':"INDEXDJX",'p':"1Y"} # Dow Joes Banks
djusbk = get_price_data(param)
ticker_list=['ASB','BXS','BAC','BOH','BKU'] # 5 stocks …
Run Code Online (Sandbox Code Playgroud)

python machine-learning knn python-3.x scikit-learn

-3
推荐指数
1
解决办法
595
查看次数