Skip to content

Commit bd1de72

Browse files
0.14.55
sklearn traintest missing names fixed
1 parent ccad22e commit bd1de72

5 files changed

Lines changed: 35 additions & 53 deletions

File tree

notebooks/00_spotPython_tests.ipynb

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4502,22 +4502,14 @@
45024502
},
45034503
{
45044504
"cell_type": "code",
4505-
"execution_count": 11,
4506-
"metadata": {},
4507-
"outputs": [
4508-
{
4509-
"data": {
4510-
"text/plain": [
4511-
"True"
4512-
]
4513-
},
4514-
"execution_count": 11,
4515-
"metadata": {},
4516-
"output_type": "execute_result"
4517-
}
4518-
],
4519-
"source": [
4520-
"bool(1)"
4505+
"execution_count": 2,
4506+
"metadata": {},
4507+
"outputs": [],
4508+
"source": [
4509+
"from sklearn.datasets import load_iris\n",
4510+
"import pandas as pd\n",
4511+
"data = load_iris(as_frame=True)\n",
4512+
"data.frame.to_csv('iris.csv', index=False)\n"
45214513
]
45224514
},
45234515
{

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
77

88
[project]
99
name = "spotpython"
10-
version = "0.14.54"
10+
version = "0.14.55"
1111
authors = [
1212
{ name="T. Bartz-Beielstein", email="tbb@bartzundbartz.de" }
1313
]

src/spotPython/hyperdict/sklearn_hyper_dict.json

Lines changed: 13 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -219,14 +219,14 @@
219219
"oob_score": {
220220
"levels": [
221221
0,
222-
1
222+
0
223223
],
224224
"type": "factor",
225225
"default": 0,
226226
"transform": "None",
227227
"core_model_parameter_type": "bool",
228228
"lower": 0,
229-
"upper": 1
229+
"upper": 0
230230
}
231231
},
232232
"SVC": {
@@ -351,7 +351,7 @@
351351
"transform": "None",
352352
"core_model_parameter_type": "bool",
353353
"lower": 0,
354-
"upper": 0
354+
"upper": 1
355355
},
356356
"tol": {
357357
"type": "float",
@@ -364,8 +364,8 @@
364364
"type": "float",
365365
"default": 1.0,
366366
"transform": "None",
367-
"lower": 0.1,
368-
"upper": 10.0
367+
"lower": 0.5,
368+
"upper": 2.0
369369
},
370370
"fit_intercept": {
371371
"levels": [
@@ -381,10 +381,10 @@
381381
},
382382
"intercept_scaling": {
383383
"type": "float",
384-
"default": 1,
384+
"default": 1.0,
385385
"transform": "None",
386-
"lower": 1,
387-
"upper": 1
386+
"lower": 1.0,
387+
"upper": 1.0
388388
},
389389
"solver": {
390390
"levels": [
@@ -407,17 +407,6 @@
407407
"transform": "transform_power_10_int",
408408
"lower": 2,
409409
"upper": 4
410-
},
411-
"multi_class": {
412-
"levels": [
413-
"auto"
414-
],
415-
"type": "factor",
416-
"default": "auto",
417-
"transform": "None",
418-
"core_model_parameter_type": "str",
419-
"lower": 0,
420-
"upper": 0
421410
}
422411
},
423412
"KNeighborsClassifier": {
@@ -639,18 +628,11 @@
639628
"upper": 1e6
640629
},
641630
"max_features": {
642-
"levels": [
643-
"auto",
644-
"sqrt",
645-
"log2",
646-
"none"
647-
],
648-
"type": "factor",
649-
"default": "none",
650-
"transform": "transform_none_to_None",
651-
"core_model_parameter_type": "str",
652-
"lower": 0,
653-
"upper": 3
631+
"type": "float",
632+
"default": 0.5,
633+
"transform": "None",
634+
"lower": 0.0,
635+
"upper": 1.0
654636
},
655637
"max_leaf_nodes": {
656638
"type": "int",

src/spotPython/hyperparameters/values.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1731,7 +1731,10 @@ def get_river_core_model_from_name(core_model_name: str) -> tuple:
17311731
>>> from spotPython.hyperparameters.values import get_core_model_from_name
17321732
model_name, model_instance = get_core_model_from_name('tree.HoeffdingTreeRegressor')
17331733
print(f"Model Name: {model_name}, Model Instance: {model_instance}")
1734-
Model Name: HoeffdingTreeRegressor, Model Instance: <class 'river.tree.hoeffding_tree_regressor.HoeffdingTreeRegressor'>
1734+
Model Name:
1735+
HoeffdingTreeRegressor,
1736+
Model Instance:
1737+
<class 'river.tree.hoeffding_tree_regressor.HoeffdingTreeRegressor'>
17351738
"""
17361739
# Split the model name into its components
17371740
name_parts = core_model_name.split(".")
@@ -1760,7 +1763,10 @@ def get_core_model_from_name(core_model_name: str) -> tuple:
17601763
Examples:
17611764
>>> model_name, model_instance = get_core_model_from_name("light.regression.NNLinearRegressor")
17621765
print(f"Model Name: {model_name}, Model Instance: {model_instance}")
1763-
Model Name: NNLinearRegressor, Model Instance: <class 'spotPython.light.regression.nn_linear_regressor.NNLinearRegressor'>
1766+
Model Name:
1767+
NNLinearRegressor,
1768+
Model Instance:
1769+
<class 'spotPython.light.regression.nn_linear_regressor.NNLinearRegressor'>
17641770
"""
17651771
# Split the model name into its components
17661772
name_parts = core_model_name.split(".")

src/spotPython/sklearn/traintest.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from sklearn.model_selection import cross_val_score, train_test_split
44
from sklearn.metrics import make_scorer
55
from spotPython.utils.metrics import mapk_scorer
6+
import pandas as pd
67

78

89
def evaluate_model(model, fun_control):
@@ -42,14 +43,16 @@ def evaluate_hold_out(model, fun_control):
4243
if fun_control["scaler"] is not None:
4344
scaler = fun_control["scaler"]()
4445
X_train = scaler.fit_transform(X_train)
46+
X_train = pd.DataFrame(
47+
X_train, columns=train_df.drop(target_column, axis=1).columns
48+
) # Maintain column names
4549
model.fit(X_train, y_train)
4650
except Exception as err:
4751
print(f"Error in evaluate_hold_out(). Call to fit() failed. {err=}, {type(err)=}")
4852
try:
49-
# convert to numpy array, see https://github.com/scikit-learn/scikit-learn/pull/26772
50-
X_test = np.array(X_test)
5153
if fun_control["scaler"] is not None:
5254
X_test = scaler.transform(X_test)
55+
X_test = pd.DataFrame(X_test, columns=train_df.drop(target_column, axis=1).columns) # Maintain column names
5356
y_test = np.array(y_test)
5457
if fun_control["predict_proba"] or fun_control["task"] == "classification":
5558
df_preds = model.predict_proba(X_test)
@@ -59,7 +62,6 @@ def evaluate_hold_out(model, fun_control):
5962
except Exception as err:
6063
print(f"Error in evaluate_hold_out(). Call to predict() failed. {err=}, {type(err)=}")
6164
df_eval = np.nan
62-
df_eval = np.nan
6365
return df_eval, df_preds
6466

6567

0 commit comments

Comments
 (0)