码迷,mamicode.com
首页 > 其他好文 > 详细

sklearn 线性回归

时间:2019-07-04 12:50:37      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:atp   lap   去除   unicode   gif   temp   指定   shape   nump   

#

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 # 解决保存图像是负号‘-‘显示为方块的问题

导入数据各个海滨城市数据--
# 去除没用的列
city_list = [ferrara,torino,mantova,milano,ravenna,asti,bologna,piacenza,cesena,faenza]
for city in city_list:
    city.drop(Unnamed: 0,axis=1,inplace=True)

#显示最高温度于离海远近的关系(观察多个城市)
city_max_temp = [] #城市
city_dist = [] #距离
for city in city_list: 
    temp = city[temp].max()
    dist = city[dist].max()
    city_max_temp.append(temp)
    city_dist.append(dist)
plt.scatter(city_dist,city_max_temp)   #x自变量   y因变量
plt.xlabel(距离)
plt.ylabel(最高温度)
plt.title(最高温度额距离之间的关系)
观察发现,离海近的可以形成一条直线,离海远的也能形成一条直线。

- 分别以100公里和50公里为分界点,划分为离海近和离海远的两组数据(近海:小于100  远海:大于50)
#数据转存到numpy中
city_dist = np.array(city_dist) #任意维度的数组
city_max_temp = np.array(city_max_temp)
#加条件  判断
condition = city_dist < 100  #True False 布尔值
near_city_dist = city_dist[condition]  #索引  只拿True对应的值
near_city_temp = city_max_temp[condition] #索引
#下面绘图
plt.scatter(near_city_dist,near_city_temp) #x自变量 y因变量 plt.xlabel(近海距离) plt.ylabel(近海最高温度) plt.title(近海城市最高温度额距离之间的关系)

# sklearn

机器学习:
  算法模型 --  特殊对象.内部已经帮我们集成或者封装好一个某一种算法或者某一种方程(还没有解的方程)
  样本数据 --  样本对象的数据  帮助方程求出解
    特征数据 -自变量
    目标数据 -因变量
  模型分类
    有监督学习 样本数据必须包含特征数据和目标数据
      -线性回归算法模型
    无监督学习 只包含特征数据
    半监督学习 前期训练 后期预测 (少用)
  算法模型的作用
--
    预测未知
    分类
技术图片
#特征数据
feature = near_city_dist.reshape(-1,1)
#目标数据
target = near_city_temp
print(真实值,target)
print(预测值,linner.predict(feature))
score 算法
# 导入sklearn 建立线性回归算法模型对象   
from sklearn.linear_model import LinearRegression #线性回归   有监督学习
linner = LinearRegression() #实例化s
#求解(训练模型):需要将样本数据(特征,目标) 带入到模型对象中
linner.fit(near_city_dist.reshape(-1,1),near_city_temp) #X 特征数据 只能2维  y:目标  reshape(行 列)
y = linner.predict([[81],[90]]) #调用方程 (X)
linner.score(near_city_dist.reshape(-1,1),near_city_temp)   #计算模型分数

#绘制直线(是由点组成)
x = np.linspace(0,80,100)
y = linner.predict(x.reshape(-1,1))
plt.scatter(near_city_dist,near_city_temp)
plt.xlabel(近海城市距离)
plt.ylabel(近海城市最高温度)
plt.title(近海城市最高温度和距离之间的关系)
plt.scatter(x,y)

 

sklearn 线性回归

标签:atp   lap   去除   unicode   gif   temp   指定   shape   nump   

原文地址:https://www.cnblogs.com/zhangchen-sx/p/11131717.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!