import warnings
import pickle
import re
from copy import deepcopy
from functools import partial, wraps
from inspect import signature
from numbers import Real
import numpy as np
from scipy import sparse
from scipy.stats import rankdata
import joblib
from . import IS_PYPY
from .. import config_context
from ._param_validation import Interval
from ._testing import _get_args
from ._testing import assert_raise_message
from ._testing import assert_array_equal
from ._testing import assert_array_almost_equal
from ._testing import assert_allclose
from ._testing import assert_allclose_dense_sparse
from ._testing import assert_array_less
from ._testing import set_random_state
from ._testing import SkipTest
from ._testing import ignore_warnings
from ._testing import create_memmap_backed_data
from ._testing import raises
from . import is_scalar_nan
from ..linear_model import LinearRegression
from ..linear_model import LogisticRegression
from ..linear_model import RANSACRegressor
from ..linear_model import Ridge
from ..linear_model import SGDRegressor
from ..base import (
clone,
ClusterMixin,
is_classifier,
is_regressor,
is_outlier_detector,
RegressorMixin,
)
from ..metrics import accuracy_score, adjusted_rand_score, f1_score
from ..random_projection import BaseRandomProjection
from ..feature_selection import SelectKBest
from ..feature_selection import SelectFromModel
from ..pipeline import make_pipeline
from ..exceptions import DataConversionWarning
from ..exceptions import NotFittedError
from ..exceptions import SkipTestWarning
from ..model_selection import train_test_split
from ..model_selection import ShuffleSplit
from ..model_selection._validation import _safe_split
from ..metrics.pairwise import rbf_kernel, linear_kernel, pairwise_distances
from ..utils.fixes import sp_version
from ..utils.fixes import parse_version
from ..utils.validation import check_is_fitted
from ..utils._param_validation import make_constraint
from ..utils._param_validation import generate_invalid_param_val
from ..utils._param_validation import InvalidParameterError
from . import shuffle
from ._tags import (
_DEFAULT_TAGS,
_safe_tags,
)
from .validation import has_fit_parameter, _num_samples
from ..preprocessing import StandardScaler
from ..preprocessing import scale
from ..datasets import (
load_iris,
make_blobs,
make_multilabel_classification,
make_regression,
)
REGRESSION_DATASET = None
CROSS_DECOMPOSITION = ["PLSCanonical", "PLSRegression", "CCA", "PLSSVD"]
def _yield_checks(estimator):
name = estimator.__class__.__name__
tags = _safe_tags(estimator)
yield check_no_attributes_set_in_init
yield check_estimators_dtypes
yield check_fit_score_takes_y
if has_fit_parameter(estimator, "sample_weight"):
yield check_sample_weights_pandas_series
yield check_sample_weights_not_an_array
yield check_sample_weights_list
if not tags["pairwise"]:
# We skip pairwise because the data is not pairwise
yield check_sample_weights_shape
yield check_sample_weights_not_overwritten
yield partial(check_sample_weights_invariance, kind="ones")
yield partial(check_sample_weights_invariance, kind="zeros")
yield check_estimators_fit_returns_self
yield partial(check_estimators_fit_returns_self, readonly_memmap=True)
# Check that all estimator yield informative messages when
# trained on empty datasets
if not tags["no_validation"]:
yield check_complex_data
yield check_dtype_object
yield check_estimators_empty_data_messages
if name not in CROSS_DECOMPOSITION:
# cross-decomposition's "transform" returns X and Y
yield check_pipeline_consistency
if not tags["allow_nan"] and not tags["no_validation"]:
# Test that all estimators check their input for NaN's and infs
yield check_estimators_nan_inf
if tags["pairwise"]:
# Check that pairwise estimator throws error on non-square input
yield check_nonsquare_error
yield check_estimators_overwrite_params
if hasattr(estimator, "sparsify"):
yield check_sparsify_coefficients
yield check_estimator_sparse_data
# Test that estimators can be pickled, and once pickled
# give the same answer as before.
yield check_estimators_pickle
yield check_estimator_get_tags_default_keys
def _yield_classifier_checks(classifier):
tags = _safe_tags(classifier)
# test classifiers can handle non-array data and pandas objects
yield check_classifier_data_not_an_array
# test classifiers trained on a single label always return this label
yield check_classifiers_one_label
yield check_classifiers_one_label_sample_weights
yield check_classifiers_classes
yield check_estimators_partial_fit_n_features
if tags["multioutput"]:
yield check_classifier_multioutput
# basic consistency testing
yield check_classifiers_train
yield partial(check_classifiers_train, readonly_memmap=True)
yield partial(check_classifiers_train, readonly_memmap=True, X_dtype="float32")
yield check_classifiers_regression_target
if tags["multilabel"]:
yield check_classifiers_multilabel_representation_invariance
yield check_classifiers_multilabel_output_format_predict
yield check_classifiers_multilabel_output_format_predict_proba
yield check_classifiers_multilabel_output_format_decision_function
if not tags["no_validation"]:
yield check_supervised_y_no_nan
if not tags["multioutput_only"]:
yield check_supervised_y_2d
if tags["requires_fit"]:
yield check_estimators_unfitted
if "class_weight" in classifier.get_params().keys():
yield check_class_weight_classifiers
yield check_non_transformer_estimators_n_iter
# test if predict_proba is a monotonic transformation of decision_function
yield check_decision_proba_consistency
@ignore_warnings(category=FutureWarning)
def check_supervised_y_no_nan(name, estimator_orig):
# Checks that the Estimator targets are not NaN.
estimator = clone(estimator_orig)
rng = np.random.RandomState(888)
X = rng.standard_normal(size=(10, 5))
for value in [np.nan, np.inf]:
y = np.full(10, value)
y = _enforce_estimator_tags_y(estimator, y)
module_name = estimator.__module__
if module_name.startswith("sklearn.") and not (
"test_" in module_name or module_name.endswith("_testing")
):
# In scikit-learn we want the error message to mention the input
# name and be specific about the kind of unexpected value.
if np.isinf(value):
match = (
r"Input (y|Y) contains infinity or a value too large for"
r" dtype\('float64'\)."
)
else:
match = r"Input (y|Y) contains NaN."
else:
# Do not impose a particular error message to third-party libraries.
match = None
err_msg = (
f"Estimator {name} should have raised error on fitting array y with inf"
" value."
)
with raises(ValueError, match=match, err_msg=err_msg):
estimator.fit(X, y)
def _yield_regressor_checks(regressor):
tags = _safe_tags(regressor)
# TODO: test with intercept
# TODO: test with multiple responses
# basic testing
yield check_regressors_train
yield partial(check_regressors_train, readonly_memmap=True)
yield partial(check_regressors_train, readonly_memmap=True, X_dtype="float32")
yield check_regressor_data_not_an_array
yield check_estimators_partial_fit_n_features
if tags["multioutput"]:
yield check_regressor_multioutput
yield check_regressors_no_decision_function
if not tags["no_validation"] and not tags["multioutput_only"]:
yield check_sup
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
xgboost+sklearn python包,解压在环境中可以直接使用 (1346个子文件)
breast_cancer.csv 117KB
boston_house_prices.csv 34KB
wine_data.csv 11KB
iris.csv 3KB
linnerud_physiological.csv 219B
linnerud_exercise.csv 212B
xgboost.dll 131.3MB
digits.csv.gz 56KB
data-v1-dl-16826755.arff.gz 31KB
data-v1-dl-3.arff.gz 19KB
diabetes_data_raw.csv.gz 7KB
data-v1-dl-17928620.arff.gz 6KB
data-v1-dl-21854866.arff.gz 4KB
data-v1-dl-4644182.arff.gz 4KB
api-v1-jdf-40966.json.gz 4KB
data-v1-dl-52739.arff.gz 3KB
data-v1-dl-4965250.arff.gz 3KB
data-v1-dl-49822.arff.gz 2KB
api-v1-jd-3.json.gz 2KB
data-v1-dl-61.arff.gz 2KB
data-v1-dl-21552912.arff.gz 2KB
data-v1-dl-1666876.arff.gz 2KB
data-v1-dl-1.arff.gz 2KB
api-v1-jd-561.json.gz 2KB
api-v1-jd-1.json.gz 2KB
api-v1-jd-40966.json.gz 2KB
data-v1-dl-52352.arff.gz 2KB
api-v1-jdq-1119.json.gz 2KB
api-v1-jd-1590.json.gz 2KB
api-v1-jdq-1590.json.gz 1KB
api-v1-jdq-2.json.gz 1KB
api-v1-jd-42585.json.gz 1KB
api-v1-jdq-3.json.gz 1KB
api-v1-jd-2.json.gz 1KB
data-v1-dl-54002.arff.gz 1KB
data-v1-dl-1595261.arff.gz 1KB
api-v1-jdq-61.json.gz 1KB
api-v1-jdf-1119.json.gz 1KB
api-v1-jdq-561.json.gz 1KB
diabetes_target.csv.gz 1KB
api-v1-jdq-40945.json.gz 1KB
api-v1-jdf-1590.json.gz 1KB
api-v1-jdq-40966.json.gz 934B
api-v1-jdq-40589.json.gz 913B
api-v1-jd-61.json.gz 898B
api-v1-jdf-1.json.gz 889B
api-v1-jdq-40675.json.gz 886B
api-v1-jdf-2.json.gz 866B
api-v1-jdf-40589.json.gz 856B
api-v1-jdf-62.json.gz 817B
api-v1-jdq-62.json.gz 805B
api-v1-jdq-42074.json.gz 722B
api-v1-jd-1119.json.gz 711B
api-v1-jd-62.json.gz 656B
api-v1-jd-40589.json.gz 598B
api-v1-jd-42074.json.gz 584B
api-v1-jd-40981.json.gz 553B
api-v1-jd-292.json.gz 551B
api-v1-jdf-3.json.gz 535B
api-v1-jd-40945.json.gz 437B
api-v1-jdf-561.json.gz 425B
api-v1-jdl-dn-adult-census-l-2-dv-1.json.gz 364B
api-v1-jdl-dn-adult-census-l-2-s-act-.json.gz 363B
api-v1-jdq-42585.json.gz 348B
api-v1-jdl-dn-cpu-l-2-s-act-.json.gz 347B
api-v1-jdl-dn-anneal-l-2-s-act-.json.gz 346B
api-v1-jdl-dn-iris-l-2-s-act-.json.gz 330B
api-v1-jdl-dn-miceprotein-l-2-s-act-.json.gz 328B
api-v1-jdl-dn-australian-l-2-dv-1-s-dact.json.gz 327B
api-v1-jdl-dn-miceprotein-l-2-dv-4.json.gz 325B
api-v1-jd-40675.json.gz 323B
api-v1-jdf-40945.json.gz 320B
api-v1-jdl-dn-australian-l-2-s-act-.json.gz 319B
api-v1-jdl-dn-emotions-l-2-s-act-.json.gz 318B
api-v1-jdl-dn-glass2-l-2-dv-1-s-dact.json.gz 317B
api-v1-jdl-dn-emotions-l-2-dv-3.json.gz 315B
api-v1-jdf-42585.json.gz 312B
api-v1-jdl-dn-anneal-l-2-dv-1.json.gz 309B
api-v1-jdf-40675.json.gz 307B
api-v1-jdf-40981.json.gz 306B
api-v1-jdf-292.json.gz 306B
api-v1-jdl-dn-cpu-l-2-dv-1.json.gz 301B
api-v1-jdl-dn-iris-l-2-dv-1.json.gz 293B
api-v1-jdf-42074.json.gz 272B
api-v1-jdf-61.json.gz 268B
api-v1-jdq-1.json.gz 145B
api-v1-jdl-dn-australian-l-2-dv-1.json.gz 99B
api-v1-jdl-dn-glass2-l-2-s-act-.json.gz 88B
api-v1-jdl-dn-glass2-l-2-dv-1.json.gz 85B
INSTALLER 4B
china.jpg 192KB
flower.jpg 140KB
METADATA 2KB
_dist_metrics.pxd 8KB
_middle_term_computer.pxd 8KB
_base.pxd 7KB
_radius_neighbors.pxd 5KB
_tree.pxd 4KB
_quad_tree.pxd 4KB
_splitter.pxd 4KB
共 1346 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论
qq_36916857
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功