• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python sklearn.clone函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中sklearn.clone函数的典型用法代码示例。如果您正苦于以下问题:Python clone函数的具体用法?Python clone怎么用?Python clone使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了clone函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: test_auto_init

def test_auto_init(n_samples, n_features, n_classes, n_components):
    # Test that auto choose the init as expected with every configuration
    # of order of n_samples, n_features, n_classes and n_components.
    rng = np.random.RandomState(42)
    nca_base = NeighborhoodComponentsAnalysis(init='auto',
                                              n_components=n_components,
                                              max_iter=1,
                                              random_state=rng)
    if n_classes >= n_samples:
        pass
        # n_classes > n_samples is impossible, and n_classes == n_samples
        # throws an error from lda but is an absurd case
    else:
        X = rng.randn(n_samples, n_features)
        y = np.tile(range(n_classes), n_samples // n_classes + 1)[:n_samples]
        if n_components > n_features:
            # this would return a ValueError, which is already tested in
            # test_params_validation
            pass
        else:
            nca = clone(nca_base)
            nca.fit(X, y)
            if n_components <= min(n_classes - 1, n_features):
                nca_other = clone(nca_base).set_params(init='lda')
            elif n_components < min(n_features, n_samples):
                nca_other = clone(nca_base).set_params(init='pca')
            else:
                nca_other = clone(nca_base).set_params(init='identity')
            nca_other.fit(X, y)
            assert_array_almost_equal(nca.components_, nca_other.components_)
开发者ID:allefpablo,项目名称:scikit-learn,代码行数:30,代码来源:test_nca.py


示例2: calibrate_probs

def calibrate_probs(labels, weights, probs, logistic=False, random_state=11, threshold=0., return_calibrator=False, symmetrize=False):
    """
    Calibrate output to probabilities using 2-folding to calibrate all data
    
    :param probs: probabilities, numpy.array of shape [n_samples]
    :param labels: numpy.array of shape [n_samples] with labels 
    :param weights: numpy.array of shape [n_samples]
    :param threshold: float, to set labels 0/1 
    :param logistic: bool, use logistic or isotonic regression
    :param symmetrize: bool, do symmetric calibration, ex. for B+, B-
    
    :return: calibrated probabilities
    """
    labels = (labels > threshold) * 1
    ind = numpy.arange(len(probs))
    ind_1, ind_2 = train_test_split(ind, random_state=random_state, train_size=0.5)
    
    calibrator = LogisticRegression(C=100) if logistic else IsotonicRegression(y_min=0, y_max=1, out_of_bounds='clip')
    est_calib_1, est_calib_2 = clone(calibrator), clone(calibrator)
    probs_1 = probs[ind_1]
    probs_2 = probs[ind_2]
    
    if logistic:
        probs_1 = numpy.clip(probs_1, 0.001, 0.999)
        probs_2 = numpy.clip(probs_2, 0.001, 0.999)
        probs_1 = logit(probs_1)[:, numpy.newaxis]
        probs_2 = logit(probs_2)[:, numpy.newaxis]
        if symmetrize:
            est_calib_1.fit(numpy.r_[probs_1, 1-probs_1], 
                            numpy.r_[labels[ind_1] > 0, labels[ind_1] <= 0])
            est_calib_2.fit(numpy.r_[probs_2, 1-probs_2], 
                            numpy.r_[labels[ind_2] > 0, labels[ind_2] <= 0])
        else:
            est_calib_1.fit(probs_1, labels[ind_1])
            est_calib_2.fit(probs_2, labels[ind_2])
    else:
        if symmetrize:
            est_calib_1.fit(numpy.r_[probs_1, 1-probs_1], 
                            numpy.r_[labels[ind_1] > 0, labels[ind_1] <= 0],
                            numpy.r_[weights[ind_1], weights[ind_1]])
            est_calib_2.fit(numpy.r_[probs_2, 1-probs_2], 
                            numpy.r_[labels[ind_2] > 0, labels[ind_2] <= 0],
                            numpy.r_[weights[ind_2], weights[ind_2]])
        else:
            est_calib_1.fit(probs_1, labels[ind_1], weights[ind_1])
            est_calib_2.fit(probs_2, labels[ind_2], weights[ind_2])
        
    calibrated_probs = numpy.zeros(len(probs))
    if logistic:
        calibrated_probs[ind_1] = est_calib_2.predict_proba(probs_1)[:, 1]
        calibrated_probs[ind_2] = est_calib_1.predict_proba(probs_2)[:, 1]
    else:
        calibrated_probs[ind_1] = est_calib_2.transform(probs_1)
        calibrated_probs[ind_2] = est_calib_1.transform(probs_2)
    if return_calibrator:
        return calibrated_probs, (est_calib_1, est_calib_2)
    else:
        return calibrated_probs
开发者ID:anuwish,项目名称:tagging_LHCb,代码行数:58,代码来源:utils.py


示例3: __init__

 def __init__(
     self,
     estimator=LinearSVC(),
     masker=NiftiMasker(),
     labelizer=LabelEncoder(),
     reporter=Reporter(),
     estimated_name="coef_",
 ):
     self.estimator = clone(estimator)
     self.masker = clone(masker)
     self.labelizer = clone(labelizer)
     self.reporter = reporter
     self.estimated_name = estimated_name
开发者ID:GaelVaroquaux,项目名称:nignore,代码行数:13,代码来源:decoding.py


示例4: classification_metrics

    def classification_metrics(self, X, y, n_iter=10, test_size=0.25, random_state=0):
        """
        returns the roc auc of the classifier binary only., and the portion of correct predictions via CV
        @param y: all non-zero will be set to 1
        @param n_iter, test_size: StratifiedShuffleSplit parameters
        @param random_state: random state used for StratifiedShuffleSplit
        @return: roc, accuracy, accuracy_zero, accuracy_one
        """

        roc = 0
        accuracy = 0
        accuracy_zero = 0  # portion of zeros correctly predicted
        accuracy_one = 0  # portion of ones correctly predicted

        y = np.array([0 if d == 0 else 1 for d in y])
        prePipe = clone(self.common_preprocessing_pipe)
        pipeToUse = clone(self.classifier_pipe)
        cvObj = StratifiedShuffleSplit(y, n_iter=n_iter, test_size=test_size, random_state=random_state)

        for trainInds, testInds in cvObj:  # all cv data
            trainX = X[trainInds]
            trainY = y[trainInds]
            testX = X[testInds]
            testY = y[testInds]

            trainX = prePipe.fit_transform(trainX)
            testX = prePipe.transform(testX)
            pipeToUse.fit(trainX, trainY)
            y_scores = pipeToUse.predict_proba(testX)
            y_pred = pipeToUse.predict(testX)

            temp = next((i for i in range(len(testY)) if y_pred[i] == 1), None)

            roc += roc_auc_score(testY, y_scores[:, 1])
            accuracy += sum(y_pred == testY) * 1.0 / len(testY)
            accuracy_zero += 1.0 * sum(np.logical_and(y_pred == testY, testY == 0)) / sum(testY == 0)
            accuracy_one += 1.0 * sum(np.logical_and(y_pred == testY, testY == 1)) / sum(testY == 1)

        roc /= n_iter
        accuracy_zero /= n_iter
        accuracy_one /= n_iter
        accuracy /= n_iter

        print ">>> The classifier has roc = %0.3f, zero-accuracy = %0.3f, " "one-accuracy = %0.3f, overall accuracy = %0.3f." % (
            roc,
            accuracy_zero,
            accuracy_one,
            accuracy,
        )

        return roc, accuracy, accuracy_zero, accuracy_one
开发者ID:jennyyuejin,项目名称:Kaggle,代码行数:51,代码来源:BinThenReg.py


示例5: _fit_stage

    def _fit_stage(self, X, y, rmTolerance):
        """
        fits one stage of gradient boosting
        @param X:
        @param y:
        @param rmTolerance: tolerance for 1D optimization
        @return: nothing
        """

        residuals = self.lossFunction.negative_gradient(y, self._currentPrediction)
        trainX, trainY, _, _ = splitTrainTest(X, residuals, 1-self.subsample)   # stochastic boosting. train only on a portion of the data

        if len(np.unique(trainY))==1:
            hm = MajorityPredictor().fit(trainY)
        else:
            cvObj = KFold(n=len(trainX), n_folds=self.cvNumFolds, indices=False, shuffle=True, random_state=self.randomState)

            # find the h that best mimics the negative gradient
            if self.n_jobs > 1:  # parallel
                n_jobs = max(1, self.n_jobs/len(self.learners), self.cvNumFolds)
                # n_jobs = 1
                pool = MyPool(processes=self.n_jobs, initializer=gbjjInit, initargs=(trainX, trainY, self.lossFunction, n_jobs, cvObj))
                temp = pool.map_async(gbjjInnerLoop, self.learners)
                temp.wait()
                h_res = temp.get()
                pool.close()
                pool.join()

            else:   # single thread
                h_res = []

                for learner in self.learners:
                    if self.verbosity >= 2:
                        print 'Fitting learner:', learner
                    l = clone(learner)
                    scores = jjcross_val_score(l, trainX, trainY, score_func=self.lossFunction, n_jobs=1, cv=cvObj)
                    h_res.append(scores.mean())

            hm = clone(self.learners[np.argsort(h_res)[0]])

        if self.verbosity>=1:
            print "The best classifier is", hm.__class__

        # find rm
        hm.fit(trainX, trainY)
        hmx = hm.predict(X)
        rm = minimize_scalar(lambda r: self.lossFunction(y, self._currentPrediction + r*hmx), tol=rmTolerance).x

        # append estimator and weight
        self._estimators.append((hm, rm))
开发者ID:jennyyuejin,项目名称:Kaggle,代码行数:50,代码来源:GradientBoost_JJ.py


示例6: fit

    def fit(self, X, y, sample_weight=None):
        assert isinstance(self.base_estimators, dict), 'Estimators should be passed in a dictionary'
        assert len(X) == len(y), 'the lengths are different'
        assert sample_weight is None or len(sample_weight) == len(y), 'the lengths are different'
        if sample_weight is None:
            sample_weight = numpy.ones(len(y))
        assert self.feature_name in X.columns, 'there is no feature %s' % self.feature_name
        self.columns_order = X.columns

        column = numpy.array(X[self.feature_name])
        self.column_values = list(set(column))
        self.stayed_columns = dict()        # value -> list of columns
        self.common_features = dict()       # (value_from, value_to) -> list of columns
        self.classifiers = dict()           # (value_from, value_to, classifier_name) -> classifier
        self.final_classifiers = dict()     # (value, classifier_name) -> classifier
        rows_dict = dict()                  # (value) -> boolean list of rows
        self.final_columns_orders = dict()  # (value) -> list of features
        for value in self.column_values:
            rows = numpy.array(X[self.feature_name] == value)
            rows_dict[value] = rows
            x_part = X.loc[rows, :]
            cols = pandas.notnull(x_part).all()
            self.stayed_columns[value] = cols[cols==True].keys()

        for value_to, rows_to in rows_dict.items():
            columns_to = self.stayed_columns[value_to]
            new_features = pandas.DataFrame()
            for value_from, rows_from in rows_dict.items():
                if value_from == value_to:
                    continue
                common_columns = list(set(self.stayed_columns[value_from]).union(set(self.stayed_columns[value_to])))
                common_columns.remove(self.feature_name)
                self.common_features[value_from, value_to] = common_columns
                for name, estimator in self.base_estimators.items():
                    rows_from = rows_dict[value_from]
                    new_classifier = sklearn.clone(estimator)\
                        .fit(X.loc[rows_from, common_columns], y[rows_from], sample_weight=sample_weight[rows_from])

                    self.classifiers[value_from, value_to, name] = new_classifier
                    new_feature = new_classifier.predict_proba(X.loc[rows_to, common_columns])[:, 1]
                    new_features[str(value_from) + "_" + name] = new_feature
            X_to_part = X.loc[rows_to, columns_to]
            new_features = new_features.set_index(X_to_part.index)
            X_to_part = pandas.concat([X_to_part, new_features], axis=1)
            final_classifier = sklearn.clone(self.final_estimator)
            final_classifier.fit(X_to_part, y[rows_to], sample_weight=sample_weight[rows_to])
            self.final_columns_orders[value_to] = X_to_part.columns
            self.final_classifiers[value_to] = final_classifier
        return self
开发者ID:particleist,项目名称:lhcb_trigger_ml,代码行数:49,代码来源:metaclassifiers.py


示例7: fit

    def fit(self, X, feature):
        try:
            feature = int(feature)
        except Exception:
            self.logger("feature should be int")
            raise TypeError("feature should be int")

        X = X.view(np.ndarray)
        self.input_col_count = X.shape[1]
        self.feature = feature
        my_X = Misc.exclude_cols(X, self.feature)
        my_y = X[:, self.feature]
        y_mean = np.mean(my_y)
        y_std = np.std(my_y)

        # ref: http://www.sciencedirect.com/science/article/pii/S0893608004002102
        self._learner.C = max(abs(y_mean + 3 * y_std), abs(y_mean - 3 * y_std))

        cvs = cv.KFold(len(X), 10, shuffle=True)
        output_errors = np.empty(0)
        for train, test in cvs:
            tmp_l = sklearn.clone(self._learner)
            tmp_l.fit(my_X[train, :], X[train, self.feature])
            output_errors = np.hstack((output_errors, tmp_l.predict(my_X[test, :]) - X[test, self.feature]))

        self.error_std = np.std(output_errors)
        self.error_mean = np.mean(output_errors)

        self._learner.fit(my_X, X[:, self.feature])

        return self
开发者ID:adrinjalali,项目名称:Network-Classifier,代码行数:31,代码来源:FCE.py


示例8: lambda_choice

def lambda_choice(penalty, lambdas, n_folds, K, y, n_iter=10000, verbose=0, n_jobs=-1):
    estimator = fista.Fista(penalty=penalty, n_iter=n_iter)
    infos = Parallel(n_jobs=n_jobs, verbose=verbose)(
            delayed(_sub_info)(clone(estimator), K, y, K, y, lambda_)
           for lambda_ in lambdas)

    return infos
开发者ID:JeanKossaifi,项目名称:FISTA,代码行数:7,代码来源:cross_val.py


示例9: run

 def run(self, directory="datasets/"):
     loader = ArffLoader("{}/{}.arff".format(directory, self.dataset))
     inputs, labels = loader.get_dataset()
     n_features = inputs.shape[1]
     if self.subset_size >= n_features:
         return None
     if self.normalize:
         preprocessing.normalize(inputs, copy=False)
     results = {
         "experiment": self,
         "scores": {scorer_name: numpy.zeros(self.n_runs) for scorer_name, _ in self.scorers},
         "score_times": {scorer_name: numpy.zeros(self.n_runs) for scorer_name, _ in self.scorers},
         "errors": {classifier_name: numpy.zeros(self.n_runs) for classifier_name, _ in self.classifiers},
         "classifier_times": {classifier_name: numpy.zeros(self.n_runs) for classifier_name, _ in self.classifiers}
     }
     for run in range(self.n_runs):
         numpy.random.seed(run)
         indices = numpy.random.choice(n_features, size=self.subset_size, replace=False)
         inputs_subset = inputs[:, indices].copy()
         for scorer_name, scorer in self.scorers:
             score, t = self._execute_score_run(run, scorer, inputs_subset, labels)
             results["scores"][scorer_name][run] = score
             results["score_times"][scorer_name][run] = t
         for classifier_name, classifier in self.classifiers:
             error, t = self._execute_classifier_run(run, sklearn.clone(classifier), inputs_subset, labels)
             results["errors"][classifier_name][run] = error
             results["classifier_times"][classifier_name][run] = t
     return results
开发者ID:etamponi,项目名称:emetrics,代码行数:28,代码来源:random_subsets_experiment.py


示例10: param_search

def param_search(estimator, param_dict, n_iter=None, seed=None):
    """
    Generator for cloned copies of `estimator` set with parameters
    as specified by `param_dict`. `param_dict` can contain either lists
    of parameter values (grid search) or a scipy distribution function
    to be sampled from. If distributions, you must specify `n_iter`.

    Parameters:
    ___________

    estimator:
        sklearn-like estimator

    param_dict:
        dict of parameter name: values, where values can be an iterable
        or a distribution function

    n_iter:
        number of draws to take from parameter distributions
    """

    if n_iter is None:
        param_iter = ParameterGrid(param_dict)
    else:
        param_iter = ParameterSampler(param_dict,
                                      n_iter,
                                      random_state=seed)

    estimators = []
    for params in param_iter:
        new_estimator = sklearn.clone(estimator)
        new_estimator.set_params(**params)
        estimators.append(new_estimator)
    return estimators
开发者ID:Afey,项目名称:ramp,代码行数:34,代码来源:shortcuts.py


示例11: make_per_customer_submission

def make_per_customer_submission(
    dataset_name, estimator, x_transformation=identity, y_transformation=identity, include_variables=None
):
    """BROKEN FOR NOW!"""
    with open(j(DATA_DIR, dataset_name, "per-customer-train.pickle"), "rb") as f:
        dv, train_customers, train_y, train_x, train_weights = pickle.load(f)

    choose_columnns = lambda x: x[
        :, np.array(get_feature_indexi(dv.get_feature_names(), include_variables), dtype="int")
    ]
    x_all_transforms = lambda x: x_transformation(choose_columnns(x))

    model = clone(estimator)
    try:
        model.fit(x_all_transforms(train_x), y_transformation(train_y), sample_weight=train_weights)
    except TypeError:
        print("%s doesn't support `sample_weight`. Ignoring it." % str(model))
        model.fit(x_all_transforms(train_x), y_transformation(train_y))

    with open(j(DATA_DIR, dataset_name, "per-customer-test.pickle"), "rb") as f:
        _, test_customers, test_y, test_x, test_weights = pickle.load(f)

    with open(j("submissions", "%s.csv" % datetime.datetime.now().strftime("%Y-%m-%dT%H-%M-%S")), "w") as f:
        f.write("customer_ID,plan\n")
        for c, ps in zip(test_customers, model.predict(x_all_transforms(test_x))):
            f.write("%s,%s\n" % (c, "".join(str(pp) for pp in ps)))
开发者ID:kalaidin,项目名称:kaggle-rainicorn,代码行数:26,代码来源:per_customer_eval.py


示例12: fit

    def fit(self, original, target, original_weight=None, target_weight=None):
        """
        Prepare reweighting formula by training a sequence of trees.

        :param original: values from original distribution, array-like of shape [n_samples, n_features]
        :param target: values from target distribution, array-like of shape [n_samples, n_features]
        :param original_weight: weights for samples of original distributions
        :param target_weight: weights for samples of original distributions
        :return: self
        """
        original, original_weight = self._normalize_input(original, original_weight, normalize=False)
        target, target_weight = self._normalize_input(target, target_weight, normalize=False)

        folds_original = self._get_folds_column(len(original))
        folds_target = self._get_folds_column(len(target))
        for _ in range(self.n_folds):
            self.reweighters.append(clone(self.base_reweighter))

        original = numpy.array(original)
        target = numpy.array(target)

        for i in range(self.n_folds):
            self.reweighters[i].fit(original[folds_original != i, :], target[folds_target != i, :],
                                    original_weight=original_weight[folds_original != i],
                                    target_weight=target_weight[folds_target != i])
        self.train_length = len(original)
        return self
开发者ID:arogozhnikov,项目名称:hep_ml,代码行数:27,代码来源:reweight.py


示例13: train

    def train(self,num_examples,deltas=list(range(1,6)),use_transformations=False,use_weights=True,verbosity=0):
        '''Train ensemble of classifiers using newly generated data for every
        member of the ensemble.

        '''
        time_start = time.time()
        
        self.classifiers = dict()

        for delta in deltas:
            self.classifiers[delta] = [] # list for ensemble of classifiers
            for i in range(self.n_estimators):
                # base classifier
                clf = clone(self.base_classifier)
                
                if use_weights:
                    train_x,train_y,train_w = self.make_weighted_training_data(create_examples(num_examples=num_examples,deltas=[delta]),use_transformations=use_transformations)
                    if verbosity>1:
                        print ('delta={0}, #{1}: training with {2} weighted examples'.format(delta,i,len(train_x)))
                    # fit
                    clf.fit(train_x,train_y,sample_weight=train_w)
                else:
                    train_x,train_y = self.make_training_data(create_examples(num_examples=num_examples,deltas=[delta]),use_transformations=use_transformations)
                    if verbosity>1:
                        print ('delta={0}, #{1}: training with {2} examples'.format(delta,i,len(train_x)))
                    clf.fit(train_x,train_y)
                    
                self.classifiers[delta].append(clf)
        
        time_end = time.time()
        if verbosity>0:
            print('training completed in {0:.1f} seconds'.format(time_end-time_start))
开发者ID:valisc,项目名称:reverse-game-of-life,代码行数:32,代码来源:local_classifier.py


示例14: test_no_attributes_set_in_init

def test_no_attributes_set_in_init(estimator, preprocessor):
  """Check setting during init. Adapted from scikit-learn."""
  estimator = clone(estimator)
  estimator.set_params(preprocessor=preprocessor)
  if hasattr(type(estimator).__init__, "deprecated_original"):
      return

  init_params = _get_args(type(estimator).__init__)
  parents_init_params = [param for params_parent in
                         (_get_args(parent) for parent in
                          type(estimator).__mro__)
                         for param in params_parent]

  # Test for no setting apart from parameters during init
  invalid_attr = (set(vars(estimator)) - set(init_params) -
                  set(parents_init_params))
  assert not invalid_attr, \
      ("Estimator %s should not set any attribute apart"
       " from parameters during init. Found attributes %s."
       % (type(estimator).__name__, sorted(invalid_attr)))
  # Ensure that each parameter is set in init
  invalid_attr = (set(init_params) - set(vars(estimator)) -
                  set(["self"]))
  assert not invalid_attr, \
      ("Estimator %s should store all parameters"
       " as an attribute during init. Did not find "
       "attributes %s." % (type(estimator).__name__, sorted(invalid_attr)))
开发者ID:all-umass,项目名称:metric-learn,代码行数:27,代码来源:test_sklearn_compat.py


示例15: test_various_scoring_on_tuples_learners

def test_various_scoring_on_tuples_learners(estimator, build_dataset,
                                            with_preprocessor):
  """Tests that scikit-learn's scoring returns something finite,
  for other scoring than default scoring. (List of scikit-learn's scores can be
  found in sklearn.metrics.scorer). For each type of output (predict,
  predict_proba, decision_function), we test a bunch of scores.
  We only test on pairs learners because quadruplets don't have a y argument.
  """
  input_data, labels, preprocessor, _ = build_dataset(with_preprocessor)
  estimator = clone(estimator)
  estimator.set_params(preprocessor=preprocessor)
  set_random_state(estimator)

  # scores that need a predict function: every tuples learner should have a
  # predict function (whether the pair is of positive samples or negative
  # samples)
  for scoring in ['accuracy', 'f1']:
    check_score_is_finite(scoring, estimator, input_data, labels)
  # scores that need a predict_proba:
  if hasattr(estimator, "predict_proba"):
    for scoring in ['neg_log_loss', 'brier_score']:
      check_score_is_finite(scoring, estimator, input_data, labels)
  # scores that need a decision_function: every tuples learner should have a
  # decision function (the metric between points)
  for scoring in ['roc_auc', 'average_precision', 'precision', 'recall']:
    check_score_is_finite(scoring, estimator, input_data, labels)
开发者ID:all-umass,项目名称:metric-learn,代码行数:26,代码来源:test_sklearn_compat.py


示例16: _fit

    def _fit(self, X, y, num_workers=1, verbose=False):
        t = time.time()

        param_grid = [{
            'C': [.001, .1, 10, 100],
        }]
        base_clf = sklearn.linear_model.LogisticRegression(
            fit_intercept=False, class_weight='auto',
            dual=False, penalty='l2')

        kfold = sklearn.cross_validation.StratifiedKFold(y, 3)
        param_iterator = sklearn.grid_search.ParameterGrid(param_grid)
        out = joblib.Parallel(n_jobs=num_workers, pre_dispatch=num_workers * 2)(
            joblib.delayed(fit_grid_point)(
                X[train], y[train], X[test], y[test], base_clf, clf_params)
            for clf_params in param_iterator for train, test in kfold
        )

        df = pandas.DataFrame(out, columns=['setting', 'score', 'entropy'])
        dfg = df.groupby('setting').mean()
        if verbose:
            print(dfg)

        dfg = dfg.sort(['score', 'entropy'], ascending=[0, 1])
        best_params = json.loads(dfg.index[0])
        best_score, best_entropy = dfg.ix[0].values
        print('Best at {}: {:.2f} | {:.2f} and took {:.2f} s'.format(best_params, best_score, best_entropy, time.time() - t))

        clf = sklearn.clone(base_clf)
        clf.set_params(**best_params)
        clf.fit(X, y)
        return clf, best_score, best_entropy
开发者ID:2dpodcast,项目名称:anytime_recognition,代码行数:32,代码来源:state_classifier.py


示例17: test_get_metric_works_does_not_raise

def test_get_metric_works_does_not_raise(estimator, build_dataset):
  """Tests that the metric returned by get_metric does not raise errors (or
  warnings) similarly to the distance functions in scipy.spatial.distance"""
  input_data, labels, _, X = build_dataset()
  model = clone(estimator)
  set_random_state(model)
  model.fit(input_data, labels)
  metric = model.get_metric()

  list_test_get_metric_doesnt_raise = [(X[0], X[1]),
                                       (X[0].tolist(), X[1].tolist()),
                                       (X[0][None], X[1][None])]

  for u, v in list_test_get_metric_doesnt_raise:
    with pytest.warns(None) as record:
      metric(u, v)
    assert len(record) == 0

  # Test that the scalar case works
  model.transformer_ = np.array([3.1])
  metric = model.get_metric()
  for u, v in [(5, 6.7), ([5], [6.7]), ([[5]], [[6.7]])]:
    with pytest.warns(None) as record:
      metric(u, v)
    assert len(record) == 0
开发者ID:all-umass,项目名称:metric-learn,代码行数:25,代码来源:test_base_metric.py


示例18: score

        def score(parms):
            e = sklearn.clone(learner)
            pp = dict(parms)
            pp.pop("id")
            try:
                e.set_params(**pp)
                e.fit(*trainSet, maxIters=maxIters)

                if visualParams is not None:
                    imgPathBase = os.path.join(imageDestFolder, "{}".format(store.params["id"]))

                    # Write some images!
                    e.visualize(visualParams, path=imgPathBase + ".png")
                    e.visualize(visualParams, path=imgPathBase + "_example.png", inputs=testSet[0][0])

                if scoreModel is None:
                    return dict(score=e.score(*testSet))
                else:
                    return scoreModel(e, testSet)
            except:
                sys.stderr.write("Error for {}:\n{}\n".format(parms, traceback.format_exc()))
                if e.UNSUPERVISED:
                    score = 1.0
                else:
                    score = -1.0
                e = None
开发者ID:cannonja,项目名称:jc2,代码行数:26,代码来源:sweep.py


示例19: best_pipelines_by_algo

def best_pipelines_by_algo(grid, algo_tag = 'regressor__algorithm', bigger_is_better=True):
    results = []

    if bigger_is_better:
        best_mean = -np.inf
        def is_better(x, y): return x > y
    else:
        best_mean = np.inf
        def is_better(x, y): return x < y

    best_params_by_algo = {}
    for params, mean, std in grid.grid_scores_:
        # print(params)
        algo_type = type(params[algo_tag])
        if algo_type not in best_params_by_algo:
            best_params_by_algo[algo_type] = (mean, params)
        else:
            best_mean = best_params_by_algo[algo_type][0]
            if is_better(mean, best_mean):
                best_params_by_algo[algo_type] = (mean, params)

    for algo, (mean, params) in best_params_by_algo.iteritems():
        new_estimator = clone(grid.estimator)
        new_estimator.set_params(**params)
        results.append(new_estimator)

    return results
开发者ID:mhamilton723,项目名称:META,代码行数:27,代码来源:utils.py


示例20: fit_models

    def fit_models(self, X, Y, bands=None):
        """ Fit timeseries models for `bands` within `Y` for a given `X`

        Args:
            X (np.ndarray): design matrix (number of observations x number of
                features)
            Y (np.ndarray): independent variable matrix (number of series x
                number of observations) observation in the X design matrix
            bands (iterable): Subset of bands of `Y` to fit. If None are
                provided, fit all bands in Y

        Returns:
            np.ndarray: fitted model objects

        """
        if bands is None:
            bands = np.arange(self.n_series)

        models = []
        for b in bands:
            y = Y.take(b, axis=0)
            model = sklearn.clone(self.lm).fit(X, y)  # TODO: no clone?

            # Add in RMSE calculation  # TODO: numba?
            model.rmse = ((y - model.predict(X)) ** 2).mean(axis=0) ** 0.5

            # Add intercept to intercept term of design matrix
            model.coef = model.coef_.copy()
            model.coef[0] += model.intercept_

            models.append(model)

        return np.array(models)
开发者ID:johanez,项目名称:yatsm,代码行数:33,代码来源:yatsm.py



注:本文中的sklearn.clone函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python base.clone函数代码示例发布时间:2022-05-27
下一篇:
Python app_theme.get_pixbuf函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap