机器学习100天-Day2简单的线性回归

作者: 我的昵称违规了 | 来源:发表于2019-02-13 15:28 被阅读3次

    基于github上的一个学习项目进行https://github.com/Avik-Jain/100-Days-Of-ML-Code
    由浅入深,省去前期手工推导,练习中引入库来完成。
    一般一天更新一次练习,我会将里面的英文引导翻译成中文。

    完整代码:https://github.com/jwc19890114/-02-learning-file-100days/blob/master/02.ipynb

    简单的线性回归

    Day2.jpg

    使用一个单一特征预测

    线性回归是一个基于自变量X(independent variable)预测因变量Y(dependent variable)的方法。假设两个变量有线性相关性,通过X预测Y

    如何发现最合适的线

    在这个回归模型中,通过最小化预测的错误来发现最佳拟合
    y=b_0+b_1x_1

    第一步:数据预处理

    • 引入库
    • 引入数据集
    • 检查丢失数据
    • 分割数据集
    • 特征缩放
    data=pd.read_excel(r'.\studentscores.xlsx')
    X=data.iloc[:,:1].values
    Y=data.iloc[:,1].values
    X_train, X_test, Y_train, Y_test = train_test_split( X , Y , test_size = 1/4, random_state = 0)
    sc_X = StandardScaler()
    

    第二步:使用训练集拟合简单线性回归模型

    为了让模型拟合数据集,使用sklearn.linear_model中的LinearRegression;构建一个LinearRegression类的regressor

    这时可以使用LinearRegression类的fit()方法对数据进行拟合

    from sklearn.linear_model import LinearRegression
    regressor=LinearRegression()
    regressor=regressor.fit(X_train,Y_train)
    

    第三步:预测结果

    现在可以预测test集中的观测数据。保存输出向量Y_pred。使用LinearRegression类中的预测方法

    Y_pred=regressor.predict(X_test)
    

    第四步:可视化

    可视化结果,使用matplotlib.pyplot库构建一个散点图

    import matplotlib.pyplot as plt
    plt.scatter(X_train , Y_train, color = 'red')
    plt.plot(X_train , regressor.predict(X_train), color ='blue')
    
    image.png

    同样,可以看一下测试集的效果

    plt.scatter(X_test , Y_test, color = 'blue')
    plt.plot(X_test , regressor.predict(X_test), color ='blue')
    
    image.png

    相关文章

      网友评论

        本文标题:机器学习100天-Day2简单的线性回归

        本文链接:https://www.haomeiwen.com/subject/swrdeqtx.html