U
    _»{jH7  ã                §   @   s   d dl mZ d dlmZ d dlmZmZ d dlZd dlm	Z	m
Z
mZmZmZ dd„ Zdd	„ Zd
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dd€d�d‚dƒd„d…d†d‡dˆd‰dŠd‹dŒd�dŽd�d�d‘d’d“d”d•d–d—d˜d™dšd›dœd�dždŸd d¡d¢d£d¤d¥d¦d§d¨d©dªd«d¬d­d®d¯d°g§Zej d±e¡d²d³„ ƒZd´dµd¶d·d¸d¹dºd»d¼d½d¾d¿dÀdÁdÂgZej dÃe¡dÄdÅ„ ƒZdS )Æé    )Úimport_module)Ú	signature)ÚIntegralÚRealN)ÚIntervalÚInvalidParameterErrorÚgenerate_invalid_param_valÚgenerate_valid_paramÚmake_constraintc                 C   s^   |   dd¡\}}t|ƒ}t||ƒ}t|ƒ}dd„ |j ¡ D ƒ}dd„ |j ¡ D ƒ}||||fS )NÚ.é   c                 S   s$   g | ]}|j |j|jfkr|j‘qS © )ÚkindÚVAR_POSITIONALÚVAR_KEYWORDÚname©Ú.0Úpr   r   úb/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sklearn/tests/test_public_functions.pyÚ
<listcomp>   s   þz"_get_func_info.<locals>.<listcomp>c                 S   s0   g | ](}|j |jkr|j|j|jfkr|j‘qS r   )ÚdefaultÚemptyr   r   r   r   r   r   r   r   r      s    þ)Úrsplitr   Úgetattrr   Ú
parametersÚvalues)Úfunc_moduleÚmodule_nameÚ	func_nameÚmoduleÚfuncZfunc_sigÚfunc_paramsÚrequired_paramsr   r   r   Ú_get_func_info   s    
þþr$   c                 C   s®  i }|D ]2}|| dkr"d||< qt t|| d ƒƒ||< q|r˜| ¡ }t|ƒt|ƒ }t|ƒt|ƒ }	d|› d|› d|	› d�}
t|ƒt|ƒks˜t|
ƒ‚tdd	i ƒƒ }|D ]þ}|| }|dkrÀqªtd
d„ |D ƒƒrútdd„ |D ƒƒrútd|› d|› d�ƒ‚d|› d|› d�}tj	t
|d�� | f |||i–Ž W 5 Q R X dd„ |D ƒ}|D ]\}zt|ƒ}W n tk
�rv   Y �qJY nX tj	t
|d�� | f |||i–Ž W 5 Q R X �qJqªdS )z|Check that an informative error is raised when the value of a parameter does not
    have an appropriate type or value.
    Zno_validationr   r   z>Mismatch between _parameter_constraints and the parameters of z%.
Consider the unexpected parameters z% and expected but missing parameters Ú
ZBadTyper   c                 s   s"   | ]}t |tƒo|jtkV  qd S ©N)Ú
isinstancer   Útyper   ©r   Ú
constraintr   r   r   Ú	<genexpr>N   s   ÿz3_check_function_param_validation.<locals>.<genexpr>c                 s   s"   | ]}t |tƒo|jtkV  qd S r&   )r'   r   r(   r   r)   r   r   r   r+   Q   s   ÿzThe constraint for parameter z of zc can't have a mix of intervals of Integral and Real types. Use the type RealNotInt instead of Real.zThe 'z' parameter of z must be .* Got .* instead.)Úmatchc                 S   s   g | ]}t |ƒ‘qS r   )r
   r)   r   r   r   r   f   s     z4_check_function_param_validation.<locals>.<listcomp>N)r	   r
   ÚkeysÚsetÚAssertionErrorr(   ÚanyÚ
ValueErrorÚpytestZraisesr   r   ÚNotImplementedError)r!   r   r"   r#   Úparameter_constraintsZvalid_required_paramsÚ
param_nameZvalidation_paramsZunexpected_paramsZmissing_paramsÚerr_msgZparam_with_bad_typeÚconstraintsr,   r*   Z	bad_valuer   r   r   Ú _check_function_param_validation'   sR    
ÿ
ÿþþýÿÿr8   z%sklearn.calibration.calibration_curvez%sklearn.cluster.cluster_optics_dbscanz$sklearn.cluster.compute_optics_graphz"sklearn.cluster.estimate_bandwidthzsklearn.cluster.kmeans_plusplusz!sklearn.cluster.cluster_optics_xizsklearn.cluster.ward_treez'sklearn.covariance.empirical_covariancez(sklearn.covariance.ledoit_wolf_shrinkagez$sklearn.covariance.shrunk_covariancez sklearn.datasets.clear_data_homez#sklearn.datasets.dump_svmlight_filez#sklearn.datasets.fetch_20newsgroupsz.sklearn.datasets.fetch_20newsgroups_vectorizedz)sklearn.datasets.fetch_california_housingzsklearn.datasets.fetch_covtypezsklearn.datasets.fetch_kddcup99z sklearn.datasets.fetch_lfw_pairsz!sklearn.datasets.fetch_lfw_peoplez%sklearn.datasets.fetch_olivetti_faceszsklearn.datasets.fetch_rcv1zsklearn.datasets.fetch_openmlz,sklearn.datasets.fetch_species_distributionszsklearn.datasets.get_data_homez#sklearn.datasets.load_breast_cancerzsklearn.datasets.load_diabeteszsklearn.datasets.load_digitszsklearn.datasets.load_fileszsklearn.datasets.load_iriszsklearn.datasets.load_linnerudz"sklearn.datasets.load_sample_imagez#sklearn.datasets.load_svmlight_filez$sklearn.datasets.load_svmlight_fileszsklearn.datasets.load_winez sklearn.datasets.make_biclusterszsklearn.datasets.make_blobsz"sklearn.datasets.make_checkerboardzsklearn.datasets.make_circlesz$sklearn.datasets.make_classificationzsklearn.datasets.make_friedman1zsklearn.datasets.make_friedman2zsklearn.datasets.make_friedman3z(sklearn.datasets.make_gaussian_quantilesz!sklearn.datasets.make_hastie_10_2z%sklearn.datasets.make_low_rank_matrixzsklearn.datasets.make_moonsz/sklearn.datasets.make_multilabel_classificationz sklearn.datasets.make_regressionzsklearn.datasets.make_s_curvez)sklearn.datasets.make_sparse_coded_signalz'sklearn.datasets.make_sparse_spd_matrixz)sklearn.datasets.make_sparse_uncorrelatedz sklearn.datasets.make_spd_matrixz sklearn.datasets.make_swiss_rollz#sklearn.decomposition.sparse_encodez(sklearn.feature_extraction.grid_to_graphz'sklearn.feature_extraction.img_to_graphz3sklearn.feature_extraction.image.extract_patches_2dz<sklearn.feature_extraction.image.reconstruct_from_patches_2dzsklearn.feature_selection.chi2z#sklearn.feature_selection.f_classifz&sklearn.feature_selection.f_regressionz-sklearn.feature_selection.mutual_info_classifz0sklearn.feature_selection.mutual_info_regressionz&sklearn.feature_selection.r_regressionz%sklearn.inspection.partial_dependencez)sklearn.inspection.permutation_importancez"sklearn.linear_model.orthogonal_mpzsklearn.metrics.accuracy_scorezsklearn.metrics.aucz'sklearn.metrics.average_precision_scorez'sklearn.metrics.balanced_accuracy_scorez sklearn.metrics.brier_score_lossz'sklearn.metrics.calinski_harabasz_scorezsklearn.metrics.check_scoringz"sklearn.metrics.completeness_scorez'sklearn.metrics.class_likelihood_ratiosz%sklearn.metrics.classification_reportz2sklearn.metrics.cluster.adjusted_mutual_info_scorez*sklearn.metrics.cluster.contingency_matrixzsklearn.metrics.cluster.entropyz-sklearn.metrics.cluster.fowlkes_mallows_scorez:sklearn.metrics.cluster.homogeneity_completeness_v_measurez4sklearn.metrics.cluster.normalized_mutual_info_scorez*sklearn.metrics.cluster.silhouette_samplesz(sklearn.metrics.cluster.silhouette_scorez!sklearn.metrics.cohen_kappa_scorez sklearn.metrics.confusion_matrixzsklearn.metrics.coverage_errorz'sklearn.metrics.d2_absolute_error_scorez sklearn.metrics.d2_pinball_scorez sklearn.metrics.d2_tweedie_scorez$sklearn.metrics.davies_bouldin_scorezsklearn.metrics.dcg_scorezsklearn.metrics.det_curvez(sklearn.metrics.explained_variance_scorezsklearn.metrics.f1_scorezsklearn.metrics.fbeta_scorezsklearn.metrics.get_scorerzsklearn.metrics.hamming_losszsklearn.metrics.hinge_lossz!sklearn.metrics.homogeneity_scorezsklearn.metrics.jaccard_scorez5sklearn.metrics.label_ranking_average_precision_scorez"sklearn.metrics.label_ranking_losszsklearn.metrics.log_losszsklearn.metrics.make_scorerz!sklearn.metrics.matthews_corrcoefzsklearn.metrics.max_errorz#sklearn.metrics.mean_absolute_errorz.sklearn.metrics.mean_absolute_percentage_errorz#sklearn.metrics.mean_gamma_deviancez!sklearn.metrics.mean_pinball_lossz%sklearn.metrics.mean_poisson_deviancez"sklearn.metrics.mean_squared_errorz&sklearn.metrics.mean_squared_log_errorz%sklearn.metrics.mean_tweedie_deviancez%sklearn.metrics.median_absolute_errorz+sklearn.metrics.multilabel_confusion_matrixz!sklearn.metrics.mutual_info_scorezsklearn.metrics.ndcg_scorez%sklearn.metrics.pair_confusion_matrixz#sklearn.metrics.adjusted_rand_scorez-sklearn.metrics.pairwise.additive_chi2_kernelz)sklearn.metrics.pairwise.cosine_distancesz*sklearn.metrics.pairwise.cosine_similarityz,sklearn.metrics.pairwise.haversine_distancesz)sklearn.metrics.pairwise.laplacian_kernelz&sklearn.metrics.pairwise.linear_kernelz,sklearn.metrics.pairwise.manhattan_distancesz0sklearn.metrics.pairwise.nan_euclidean_distancesz0sklearn.metrics.pairwise.paired_cosine_distancesz3sklearn.metrics.pairwise.paired_euclidean_distancesz3sklearn.metrics.pairwise.paired_manhattan_distancesz*sklearn.metrics.pairwise.polynomial_kernelz#sklearn.metrics.pairwise.rbf_kernelz'sklearn.metrics.pairwise.sigmoid_kernelz)sklearn.metrics.pairwise_distances_argminz&sklearn.metrics.precision_recall_curvez/sklearn.metrics.precision_recall_fscore_supportzsklearn.metrics.precision_scorezsklearn.metrics.r2_scorezsklearn.metrics.rand_scorezsklearn.metrics.recall_scorezsklearn.metrics.roc_auc_scorezsklearn.metrics.roc_curvez$sklearn.metrics.top_k_accuracy_scorezsklearn.metrics.v_measure_scorezsklearn.metrics.zero_one_lossz&sklearn.model_selection.cross_validatez&sklearn.model_selection.learning_curvez.sklearn.model_selection.permutation_test_scorez(sklearn.model_selection.train_test_splitz(sklearn.model_selection.validation_curvez*sklearn.neighbors.sort_graph_by_row_valuesz'sklearn.preprocessing.add_dummy_featurezsklearn.preprocessing.binarizez$sklearn.preprocessing.label_binarizezsklearn.preprocessing.normalizezsklearn.preprocessing.scalez7sklearn.random_projection.johnson_lindenstrauss_min_dimzsklearn.svm.l1_min_czsklearn.tree.export_graphvizzsklearn.tree.export_textzsklearn.tree.plot_treezsklearn.utils.gen_batcheszsklearn.utils.resampler   c                 C   s.   t | ƒ\}}}}t|dƒ}t|||||ƒ dS )z]Check param validation for public functions that are not wrappers around
    estimators.
    Ú_skl_parameter_constraintsN)r$   r   r8   )r   r!   r   r"   r#   r4   r   r   r   Útest_function_param_validation  s    
    ÿr:   )z$sklearn.cluster.affinity_propagationz#sklearn.cluster.AffinityPropagation)zsklearn.cluster.k_meanszsklearn.cluster.KMeans)zsklearn.cluster.mean_shiftzsklearn.cluster.MeanShift)z#sklearn.cluster.spectral_clusteringz"sklearn.cluster.SpectralClustering)z"sklearn.covariance.graphical_lassoz!sklearn.covariance.GraphicalLasso)zsklearn.covariance.ledoit_wolfzsklearn.covariance.LedoitWolf)zsklearn.covariance.oaszsklearn.covariance.OAS)z#sklearn.decomposition.dict_learningz(sklearn.decomposition.DictionaryLearning)zsklearn.decomposition.fasticazsklearn.decomposition.FastICA)z0sklearn.decomposition.non_negative_factorizationzsklearn.decomposition.NMF)z"sklearn.preprocessing.maxabs_scalez"sklearn.preprocessing.MaxAbsScaler)z"sklearn.preprocessing.minmax_scalez"sklearn.preprocessing.MinMaxScaler)z%sklearn.preprocessing.power_transformz&sklearn.preprocessing.PowerTransformer)z(sklearn.preprocessing.quantile_transformz)sklearn.preprocessing.QuantileTransformer)z"sklearn.preprocessing.robust_scalez"sklearn.preprocessing.RobustScalerzfunc_module, class_modulec                    sx   t | ƒ\}}‰ }| dd¡\}}t|ƒ}t||ƒ}t|dƒ}	t|dƒ}
|
|	–}‡ fdd„| ¡ D ƒ}t||ˆ ||ƒ dS )zYCheck param validation for public functions that are wrappers around
    estimators.
    r   r   r9   Z_parameter_constraintsc                    s   i | ]\}}|ˆ kr||“qS r   r   )r   ÚkÚv©r"   r   r   Ú
<dictcomp>T  s      z7test_class_wrapper_param_validation.<locals>.<dictcomp>N)r$   r   r   r   Úitemsr8   )r   Zclass_moduler!   r   r#   r   Ú
class_namer    ÚklassZparameter_constraints_funcZparameter_constraints_classr4   r   r=   r   Ú#test_class_wrapper_param_validationA  s&    


þ
ÿ    ÿrB   )Ú	importlibr   Úinspectr   Únumbersr   r   r2   Zsklearn.utils._param_validationr   r   r   r	   r
   r$   r8   ZPARAM_VALIDATION_FUNCTION_LISTÚmarkZparametrizer:   Z#PARAM_VALIDATION_CLASS_WRAPPER_LISTrB   r   r   r   r   Ú<module>   sŽ  	L€ Ù ,
î ÿ