如何在Pycharm中查看内置底层代码,巧用参数

如何在Pycharm中查看内置底层代码,巧用参数

引入已有或内置的函数会让代码写得更加简洁、清晰。而内置函数众多,有许多长期不用已经淡忘甚至从未谋面的函数。不知道该函数有什么功能。所以,我们需要查看底层代码来了解函数的作用和内置的关键字。
Pycharm用鼠标定位到这个函数,然后按Ctrl+B调出底层代码。

举个栗子:
一个一元一次线性回归,随机生成X,y作为数据集,运用随机梯度下降法得出W0,W1。

import numpy as np
from sklearn.linear_model import SGDRegressor
X = 2 * np.random.rand(100, 1)
y = 4 + 2 * X + np.random.randn(100, 1)
sgd_reg = SGDRegressor(penalty='l2')
sgd_reg.fit(X, y.ravel())
print("预测值:", sgd_reg.predict(1.5))
print("W0=", sgd_reg.intercept_)  // 打印算出的w0
print("W1=", sgd_reg.coef_)  // 打印算出的w1

在sgd_reg = SGDRegressor(penalty=‘l2’)代码上,把鼠标定位在SGDRegressor处,按Ctrl+B,以下为内置代码。

    class SGDRegressor(BaseSGDRegressor):
    def __init__(self, loss="squared_loss", penalty="l2", alpha=0.0001,
                 l1_ratio=0.15, fit_intercept=True, max_iter=1000, tol=1e-3,
                 shuffle=True, verbose=0, epsilon=DEFAULT_EPSILON,
                 random_state=None, learning_rate="invscaling", eta0=0.01,
                 power_t=0.25, early_stopping=False, validation_fraction=0.1,
                 n_iter_no_change=5, warm_start=False, average=False):
        super().__init__(
            loss=loss, penalty=penalty, alpha=alpha, l1_ratio=l1_ratio,
            fit_intercept=fit_intercept, max_iter=max_iter, tol=tol,
            shuffle=shuffle, verbose=verbose, epsilon=epsilon,
            random_state=random_state, learning_rate=learning_rate, eta0=eta0,
            power_t=power_t, early_stopping=early_stopping,
            validation_fraction=validation_fraction,
            n_iter_no_change=n_iter_no_change, warm_start=warm_start,
            average=average)

SGDRegressor中, n_iter_no_change=5,即默认值是5。显然迭代次数较少,不妨改成1000比较合理,未修改的参数仍为默认值。修改的代码如下:

sgd_reg = SGDRegressor(penalty='l2', n_iter_no_change=1000)

当我们记不清内置函数的参数,可以Ctrl+B查看内置函数。而且,内置代码中还有对参数的说明,所以说,不能完全记住内置函数也没有什么太大关系。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值