"""Functions for input validation"""importpathlibimportwarningsimportnumpyasnpimportnumpy.typingasnpt
[docs]defcolumn_or_1d(y:npt.NDArray,warn:bool=False)->npt.NDArray:"""ravel column or 1d numpy array, else raise an error Parameters ---------- y : array-like warn : boolean, default False To control display of warnings. Returns ------- y : array adapted in part from scikit-learn under license https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/utils/validation.py """shape=np.shape(y)iflen(shape)==1:returnnp.ravel(y)iflen(shape)==2andshape[1]==1:ifwarn:warnings.warn("A column-vector y was passed when a 1d array was"" expected. Please change the shape of y to ""(n_samples, ), for example using ravel().",stacklevel=2,)returnnp.ravel(y)raiseValueError("bad input shape {0}".format(shape))
[docs]defrow_or_1d(y,warn=False):"""ravel row or 1d numpy array, else raise an error Parameters ---------- y : array-like warn : boolean, default False To control display of warnings. Returns ------- y : array """shape=np.shape(y)iflen(shape)==1:returnnp.ravel(y)iflen(shape)==2andshape[0]==1:ifwarn:warnings.warn("A row-vector y was passed when a 1d array was"" expected. Please change the shape of y to ""(n_samples, ), for example using ravel().",stacklevel=2,)returnnp.ravel(y)raiseValueError("bad input shape {0}".format(shape))
[docs]defis_a_directory(path):"""check if given path is a directory"""returnpathlib.Path(path).is_dir()
[docs]defis_a_file(path):"""check if given path is a file"""returnpathlib.Path(path).is_file()