zoukankan      html  css  js  c++  java
  • 5.线性回归算法

    1.本节重点知识点用自己的话总结出来,可以配上图片,以及说明该知识点的重要性

    机器学习的分类:

     

    回归算法概括:

    回归与分类的区别:

    线性关系的概念:

    一些常用到的方程或函数:

    课堂示例的代码:

    import random
    import matplotlib.pyplot as plt
    xs = [0.1*x for x in range(0,10)]
    ys = [12*i+4 for i in xs]
    print(xs)
    print(ys)
    w = random.random()
    b = random.random()
    a1=[]
    b1=[]
    for i in range(50):
        for x,y in zip(xs,ys):
            o = w*x + b
            e = (o-y)
            loss = e**2
            dw = 2*e*x
            db = 2*e*1
            w = w - 0.1*dw
            b = b - 0.1*db
            print('loss={0}, w={1}, b={2}'.format(loss,w,b))
        a1.append(i)
        b1.append(loss)
        plt.plot(a1,b1)
        plt.pause(0.1)
    plt.show()

    2.思考线性回归算法可以用来做什么?(大家尽量不要写重复)

    (1)机场客流量分布预测

    (2)音乐流行趋势预测

    (3)需求预测与仓储规划方案

    (4)货币基金资金流入流出预测

    (5)电影票房预测

    (6)农产品价格预测分析

    (7)学生成绩排名预测

    (8)中国人口增长分析

    (9)收入增长预测

    (10)股价走势预测

    3.自主编写线性回归算法 ,数据可以自己造,或者从网上获取。(加分题)

    ##加载所需函数
    from sklearn.linear_model import LinearRegression
    from sklearn.datasets import load_boston
    from sklearn.model_selection import train_test_split
    ## 加载boston数据
    boston = load_boston()
    X = boston['data']
    y = boston['target']
    names = boston['feature_names']
    ## 将数据划分为训练集测试集
    X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2,random_state=125)
    ## 建立线性回归模型
    clf = LinearRegression().fit(X_train,y_train)
    print('建立的LinearRegression模型为:','
    ',clf)
    ## 预测训练集结果
    y_pred = clf.predict(X_test)
    print('预测前20个结果为:','
    ',y_pred[:20])
    import matplotlib.pyplot as plt
    from matplotlib import rcParams
    rcParams['font.sans-serif'] = 'SimHei'
    fig = plt.figure(figsize=(10,6)) ##设定空白画布,并制定大小
    ##用不同的颜色表示不同数据
    plt.plot(range(y_test.shape[0]),y_test,color="blue", linewidth=1.5, linestyle="-")
    plt.plot(range(y_test.shape[0]),y_pred,color="red", linewidth=1.5, linestyle="-.")
    plt.legend(['真实值','预测值'])
    plt.show() ##显示图片

  • 相关阅读:
    Android 4编程入门经典—开发智能手机与平板电脑应用
    硅谷产学研的创新循环
    用集群实现网格计算
    用商业模式改变世界(上)
    wrox经典红皮书:C++高级编程(第2版)
    编程导师Ivor Horton新作《Java 7入门经典》即将出版
    诚聘译者,翻译有奖!您就是引领先进技术潮流的先驱!
    定义目录的格式
    关于Q+
    Resource and Performance Tradeoffs in DelayTolerant Wireless Networks
  • 原文地址:https://www.cnblogs.com/hoioh/p/12747710.html
Copyright © 2011-2022 走看看