Skip to content

Commit dd5104e

Browse files
committed
Fix junit tests
1 parent 71f6601 commit dd5104e

File tree

4 files changed

+58
-6
lines changed

4 files changed

+58
-6
lines changed

h2o-algos/src/main/java/hex/knn/KNNModel.java

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ public String javaName() {
2121
}
2222

2323
public int _k = 3;
24-
//public KNNDistance _distance;
2524
public DistanceType _distance;
2625
public boolean _compute_metrics;
2726

h2o-algos/src/test/java/hex/knn/KNNTest.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public void testIris() {
3535
KNNModel.KNNParameters parms = new KNNModel.KNNParameters();
3636
parms._train = fr._key;
3737
parms._k = 3;
38-
parms._distance = new EuclideanDistance();
38+
parms._distance = DistanceType.EUCLIDEAN;
3939
parms._response_column = response;
4040
parms._id_column = idColumn;
4141
parms._auc_type = MultinomialAucType.MACRO_OVR;
@@ -90,7 +90,7 @@ public void testSimpleFrameEuclidean() {
9090
KNNModel.KNNParameters parms = new KNNModel.KNNParameters();
9191
parms._train = fr._key;
9292
parms._k = 2;
93-
parms._distance = new EuclideanDistance();
93+
parms._distance = DistanceType.EUCLIDEAN;
9494
parms._response_column = response;
9595
parms._id_column = idColumn;
9696
parms._auc_type = MultinomialAucType.MACRO_OVR;
@@ -165,7 +165,7 @@ public void testSimpleFrameManhattan() {
165165
KNNModel.KNNParameters parms = new KNNModel.KNNParameters();
166166
parms._train = fr._key;
167167
parms._k = 2;
168-
parms._distance = new ManhattanDistance();
168+
parms._distance = DistanceType.MANHATTAN;
169169
parms._response_column = response;
170170
parms._id_column = idColumn;
171171
parms._auc_type = MultinomialAucType.MACRO_OVR;
@@ -240,7 +240,7 @@ public void testSimpleFrameCosine() {
240240
KNNModel.KNNParameters parms = new KNNModel.KNNParameters();
241241
parms._train = fr._key;
242242
parms._k = 2;
243-
parms._distance = new CosineDistance();
243+
parms._distance = DistanceType.COSINE;
244244
parms._response_column = response;
245245
parms._id_column = idColumn;
246246
parms._auc_type = MultinomialAucType.MACRO_OVR;
@@ -332,7 +332,7 @@ public void testIdColumnIsNotDefined() {
332332
KNNModel.KNNParameters parms = new KNNModel.KNNParameters();
333333
parms._train = fr._key;
334334
parms._k = 2;
335-
parms._distance = new EuclideanDistance();
335+
parms._distance = DistanceType.EUCLIDEAN;
336336
parms._response_column = "class";
337337
parms._id_column = null;
338338

h2o-py/tests/testdir_algos/knn/pyunit_knn_api_test.py

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ def knn_api_smoke():
1717
train_h2o[response_column] = train_h2o[response_column].asfactor()
1818
train_h2o[id_column] = h2o.H2OFrame(np.arange(0, train_h2o.shape[0]))
1919

20+
2021
model = H2OKnnEstimator(
2122
k=3,
2223
id_column=id_column,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import sys, os
2+
3+
sys.path.insert(1, os.path.join("..", "..", ".."))
4+
import h2o
5+
from tests import pyunit_utils, assert_equals
6+
from h2o.estimators.knn import H2OKnnEstimator
7+
import numpy as np
8+
from sklearn.neighbors import KNeighborsClassifier
9+
from sklearn.neighbors import kneighbors_graph
10+
import pandas as pd
11+
12+
13+
def knn_sklearn_compare():
14+
seed = 12345
15+
id_column = "id"
16+
response_column = "class"
17+
x_names = ["sepal_len", "sepal_wid", "petal_len", "petal_wid"]
18+
19+
train = pd.read_csv(pyunit_utils.locate("smalldata/iris/iris_wheader.csv"))
20+
21+
knn = KNeighborsClassifier(n_neighbors=3)
22+
knn.fit(train[x_names], train[response_column])
23+
print(knn)
24+
knn_score = knn.score(train[x_names], train[response_column])
25+
print(knn_score)
26+
27+
knn_graph = kneighbors_graph(train[x_names], 3, mode='connectivity', include_self=False, metric="euclidean")
28+
print(knn_graph)
29+
30+
train_h2o = h2o.H2OFrame(train)
31+
train_h2o[response_column] = train_h2o[response_column].asfactor()
32+
train_h2o[id_column] = h2o.H2OFrame(np.arange(0, train_h2o.shape[0]))
33+
34+
h2o_knn = H2OKnnEstimator(
35+
k=3,
36+
id_column=id_column,
37+
distance="euclidean",
38+
seed=seed,
39+
auc_type="macroovr"
40+
)
41+
42+
h2o_knn.train(y=response_column, x=x_names, training_frame=train_h2o)
43+
distances_key = h2o_knn._model_json["output"]["distances"]
44+
print(distances_key)
45+
distances_frame = h2o.get_frame(distances_key)
46+
print(distances_frame)
47+
48+
49+
if __name__ == "__main__":
50+
pyunit_utils.standalone_test(knn_sklearn_compare)
51+
else:
52+
knn_sklearn_compare()

0 commit comments

Comments
 (0)