• 机器学习之linear_model (线性回归算法模型)


    1.matplotlib

    首先看一下这个静态图绘制模块

    • 静态图形处理

    • 数据分析三剑客

      • Numpy : 主要为了给pandas提供数据源
      • pandas : 更重要的数据结构
      • matplotlib : 静态图形处理

    海滨城市温度分析案例

    1. 导包

      # 导包
      import numpy as np
      import pandas as pd
      from pandas import Series,DataFrame
      
      import matplotlib.pyplot as plt
      
      from pylab import mpl
      mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
      mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
      
    2. 导入数据(各个海滨城的数据)

      # 导入数据(各个海滨城市数据)
      
      ferrara1 = pd.read_csv('./ferrara_150715.csv')
      ferrara2 = pd.read_csv('./ferrara_250715.csv')
      ferrara3 = pd.read_csv('./ferrara_270615.csv')
      ferrara=pd.concat([ferrara1,ferrara1,ferrara1],ignore_index=True)
      
      torino1 = pd.read_csv('./torino_150715.csv')
      torino2 = pd.read_csv('./torino_250715.csv')
      torino3 = pd.read_csv('./torino_270615.csv')
      torino = pd.concat([torino1,torino2,torino3],ignore_index=True) 
      ...
      

    1. 去除没用的列

      city_list = [faenza,cesena,piacenza,bologna,asti,ravenna,milano,mantova,torino,ferrara]
      for city in city_list:
          city.drop(labels='Unnamed: 0',axis=1,inplace=True)
      
    2. 构造数据,显示最高温度与离海远近的关系

      max_temp = []   
      dist_list = []
      for city in city_list:
          temp = city["temp"].max()
          max_temp.append(temp)
          dist = city['dist'][0]
          dist_list.append(dist)
          
      plt.scatter(dist_list,max_temp)   # 传入两个列表
      plt.xlabel("距离")  # x
      plt.xlabel("最高温度") # y
      plt.title("最高温度和距离之间的关系") # 标题
      

    2.创建算法模型

    2.1 线性回归算法模型

    • 多用于预测

    • sklearn.linear_model

      • 创建一个温度模型,让其可以根据一个距离预测出该距离对应城市的最高温度.
      #样本数据的提取
      feature = np.array(dist_list) # 数组形式的特征数据
      target = np.array(max_temp) # 数组形式的目标数据
      
      # 线性回归算法模型 y = ax + b  --> 通过训练求出最匹配的a和b
      from sklearn.linear_model import LinearRegression
      linear = LinearRegression()  # 实例化算法模型
      # 训练模型
      linear.fit(feature.reshape(-1,1),target) # 特征数据必须是二维的 !!!
      # 基于训练好的模型对象实现预测功能
      linear.predict([[226],[333]])
      
      • 绘制关系图

        # 使用多个点绘制最高温度和距离之间的关系
        x = np.linspace(0,400,num=100)
        y = linear.predict(x.reshape(-1,1))
        plt.scatter(dist_list,max_temp)
        plt.scatter(x,y)
        plt.xlabel('距离')
        plt.ylabel('最高温度')
        plt.title('最高温度和距离直接的关系')
        

  • 相关阅读:
    ajax初步(1) fly
    jquery(1) fly
    图片轮播 fly
    仿慕课网教程html+css页面前段时间学习总结(1) fly
    jquery(3)常用方法 fly
    再次遭遇VS设计视图假死
    注册表导致VS2008切换设计视图假死
    BUUCTF PWN 铁人三项(第五赛区)_2018_rop
    buuctf re [FlareOn4]IgniteMe
    buuctf re [WUSTCTF2020]level3
  • 原文地址:https://www.cnblogs.com/bigox/p/11476904.html
Copyright © 2020-2023  润新知