我有一个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中做到这一点?
我正在 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) 我正在尝试在 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) 我正在尝试在 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) knn ×4
python ×2
hasura ×1
numpy ×1
postgresql ×1
python-3.x ×1
scikit-learn ×1
sql ×1
sql-order-by ×1