算法实践1_线性回归

参数解释

sklearn.linear_model.LinearRegression(fit_intercept=True, normalize=False, copy_X=True, n_jobs=None)
超参解释类型(默认值)
fit_intercept是否计算模型的截距;如果设置为 False,计算将不使用截距(即:期望数据已经进行了中心化处理)boolean(True)
normalize是否将数据归一化;fit_intercept 设置为 False 时,这个参数可以忽略。如果设置为 True,回归之前将通过减去均值并除l2范数进行归一化。如果需要进行标准化,请在调用估计器 normalize=False的 fit 函数之前使用sklearn.preprocessing.StandardScalerboolean(False)
n_jobs确定cpu的核数 (None表示1,-1 表示使用所有)int or None(None)
属性解释类型
coef_回归系数(斜率)array
intercept_截距array
方法解释类型
fit(X, y[, sample_weight])训练模型X : array-like or 稀疏矩阵,y : array_like,sample_weight : numpy array
predict(X)预测X : array_like or 稀疏矩阵
score(X, y[, sample_weight])评分指标 R 2 = 1 − ( ∑ i = 1 m ( y ( i ) − y ^ ( i ) ) 2 ) / m ( ∑ i = 1 m ( y ( i ) − y ˉ ) 2 ) / m R^2 = 1 - \frac{(\sum_{i=1}^{m}(y^{(i)} - \hat y^{(i)})^{2})/m}{(\sum_{i=1}^{m}(y^{(i)} - \bar y)^{2})/m} R2=1(i=1m(y(i)yˉ)2)/m(i=1m(y(i)y^(i))2)/mfloat

调包实践

    import matplotlib.pyplot as plt
    import numpy as np
    from sklearn import datasets, linear_model
    from sklearn.metrics import mean_squared_error, r2_score

    experiences = np.array([0,1,2,3,4,5,6,7,8,9,10])
    salaries = np.array([103100, 104900, 106800, 108700, 110400, 112300, 114200, 116100, 117800, 119700, 121600])

    # 将特征数据集分为训练集和测试集,除了最后5个作为测试用例,其他都用于训练
    X_train = experiences[:7]
    X_train = X_train.reshape(-1,1)
    X_test = experiences[7:]
    X_test = X_test.reshape(-1,1)

    # 把目标数据(特征对应的真实值)也分为训练集和测试集
    y_train = salaries[:7]
    y_test = salaries[7:]

    # 创建线性回归模型
    regr = linear_model.LinearRegression()

    # 用训练集训练模型——看就这么简单,一行搞定训练过程
    regr.fit(X_train, y_train)

    # 用训练得出的模型进行预测
    diabetes_y_pred = regr.predict(X_test)

    # 将测试结果以图标的方式显示出来
    plt.scatter(X_test, y_test,  color='black')
    plt.plot(X_test, diabetes_y_pred, color='blue', linewidth=3)

    plt.xticks(())
    plt.yticks(())

    plt.show()

参考链接

  1. sklearn.linear_model.LinearRegression
  2. 李烨-机器学习极简入门课
  3. https://github.com/Heitao5200/Heitao5200_MachineLearning/blob/master/LR/LinearRegression.md
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值