#

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 线性回归的更多相关文章

  1. Sklearn线性回归

    Sklearn线性回归 原理 线性回归是最为简单而经典的回归模型,用了最小二乘法的思想,用一个n-1维的超平面拟合n维数据 数学形式 \[y(w,x)=w_0+w_1x_1+w_2x_2+-+w_nx ...

  2. sklearn线性回归实现房价预测模型

    目录 题目要求 单特征线性回归 方案一 方案二 多特征线性回归 两份数据 ex1data1.txt ex1data2.txt 题目要求 建立房价预测模型:利用ex1data1.txt(单特征)和ex1 ...

  3. 『科学计算』通过代码理解线性回归&Logistic回归模型

    sklearn线性回归模型 import numpy as np import matplotlib.pyplot as plt from sklearn import linear_model de ...

  4. Scikit-Learn 机器学习笔记 -- 线性回归、逻辑回归、softma

      import numpy as np from matplotlib import pyplot as plt # 创建线性回归数据集 def create_dataset(): X = 2 * ...

  5. skearn自学路径

    sklearn学习总结(超全面) 关于sklearn,监督学习几种模型的对比 sklearn之样本生成make_classification,make_circles和make_moons pytho ...

  6. Sklearn库例子2:分类——线性回归分类(Line Regression )例子

    线性回归:通过拟合线性模型的回归系数W =(w_1,…,w_p)来减少数据中观察到的结果和实际结果之间的残差平方和,并通过线性逼近进行预测. 从数学上讲,它解决了下面这个形式的问题:      Lin ...

  7. sklearn库 线性回归库 LinearRegression

    import numpy as np import sklearn.datasets #加载原数据 from sklearn.model_selection import train_test_spl ...

  8. 使用sklearn机器学习库实现线性回归

    import numpy as np  # 导入科学技术框架import matplotlib.pyplot as plt  # 导入画图工具from sklearn.linear_model imp ...

  9. sklearn学习笔记之简单线性回归

    简单线性回归 线性回归是数据挖掘中的基础算法之一,从某种意义上来说,在学习函数的时候已经开始接触线性回归了,只不过那时候并没有涉及到误差项.线性回归的思想其实就是解一组方程,得到回归函数,不过在出现误 ...

随机推荐

  1. 给IDEA添加右键打开功能

    添加文件夹右键程序打开 开始运行regedit 找到 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell 1.右键shell目录新建项Idea 2. ...

  2. 2018中国大学生程序设计竞赛 - 网络选拔赛---Find Integer!--hdu6441

    问题传送门:https://vjudge.net/contest/320779#problem/D 介绍一个名词:奇偶数列法则 Key part: #include<iostream> # ...

  3. 心里没点B树,怎能吃透数据库索引底层原理?

    二叉树(Binary Search Trees) 二叉树是每个结点最多有两个子树的树结构.通常子树被称作“左子树”(Left Subtree)和“右子树”(Right Subtree).二叉树常被用于 ...

  4. c++ char*和wchar*互相转换(转)

    原文地址: 1.c++ char*和wchar*互相转换 2.C++ WINDOWS下 wchar_t *和char * 相互转化总结篇

  5. Vue+ESLint+Git钩子函数pre-commit配置教程

    一.创建Vue项目eslint-standard vue create eslint-standard 二.创建.eslintrc.* 删除package.json中的eslintConfig配置 我 ...

  6. 《 Java 编程思想》CH07 复用类

    复用代码是 Java 众多引人注目的功能之一. Java 可以通过创建类来复用代码,要在使用类的时候不破坏现有代码,有两种方式: 组合:在新的类中使用现有类的对象. 继承:按照现有类的类型来创建新类, ...

  7. Sql 语句常语法

    以前感觉在这个方面很欠缺,于是就找了些这方面的材料,自己也做了些总结,汇总到了一块.便于以后的查阅. --1.获取表的主键字段SELECT name FROM SysColumns WHERE id= ...

  8. TD - 单选框 - RadioButton

    基本方法 Html - 默认选中 //checked="true" - 默认选中 <input dojoType="bootstrap.form.RadioButt ...

  9. python,装饰器带参数,原理

    import time # 函数装饰器传参 def zhuang1(hao): def zhuang2(func1): def funczhuang(*args, **kw): print(time. ...

  10. hdu1716 排列2

    12  21 123 132  213 231 321 312 .... 每次都将后面n-1位进行全排列.递归的出口当起始坐标等于终止坐标时.需要还原. 设计标记数组.因为需要从小到大输出. #def ...