机器学习之linear_model (线性回归算法模型)
1.matplotlib
首先看一下这个静态图绘制模块
-
静态图形处理
-
数据分析三剑客
- Numpy : 主要为了给pandas提供数据源
- pandas : 更重要的数据结构
- matplotlib : 静态图形处理
海滨城市温度分析案例
-
导包
# 导包 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 # 解决保存图像是负号\'-\'显示为方块的问题
-
导入数据(各个海滨城的数据)
# 导入数据(各个海滨城市数据) 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) ...
-
去除没用的列
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)
-
构造数据,显示最高温度与离海远近的关系
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(\'最高温度和距离直接的关系\')
版权声明:本文为bigox原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。