fri.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:fri 作者: lpfann 项目源码 文件源码
def _initEstimator(self, X, Y):
        #estimator = svm.SVR(kernel="linear",shrinking=False)

        estimator = svm.LinearSVR(
                                  loss="squared_epsilon_insensitive",
                                  dual=False,
                                  random_state=self.random_state)

        tuned_parameters = {'C': [self.C], 'epsilon': [self.epsilon]}
        if self.C is None:
            tuned_parameters["C"] = [0.0001, 0.001, 0.01, 0.1, 1, 10, 100]
        if self.epsilon is None:
            tuned_parameters["epsilon"] =  [0.0001, 0.001, 0.01, 0.1, 1, 2, 5]

        n = len(X)
        if n <= 20:
            cv = 3
        else:
            cv = 7

        gridsearch = GridSearchCV(estimator,
                                  tuned_parameters,
                                  scoring="r2",
                                  n_jobs=-1 if self.parallel else 1,
                                  cv=cv,
                                  verbose=0)
        gridsearch.fit(X, Y)
        self._hyper_C = gridsearch.best_params_['C']
        self._hyper_epsilon = gridsearch.best_params_['epsilon']
        self._best_clf_score = gridsearch.best_score_

        self._svm_clf = best_clf = gridsearch.best_estimator_
        self._svm_coef = best_clf.coef_
        self._svm_bias = -best_clf.intercept_[0]
        self._svm_L1 = np.linalg.norm(self._svm_coef, ord=1)
        prediction = best_clf.predict(X)
        self._svm_loss = np.sum(np.abs(Y - prediction))


        self._svm_coef = self._svm_coef[0]
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号