sklearn 线性回归

#

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)

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

时间: 2024-08-01 01:10:18

sklearn 线性回归的相关文章

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

目录 题目要求 单特征线性回归 方案一 方案二 多特征线性回归 两份数据 ex1data1.txt ex1data2.txt 题目要求 建立房价预测模型:利用ex1data1.txt(单特征)和ex1data2.txt(多特征)中的数据,进行线性回归和预测. 作散点图可知,数据大致符合线性关系,故暂不研究其他形式的回归. 两份数据放在最后. 单特征线性回归 ex1data1.txt中的数据是单特征,作一个简单的线性回归即可:\(y=ax+b\). 根据是否分割数据,产生两种方案:方案一,所有样本

[学习记录]sklearn线性回归

本文旨在记录colin老师workshop的exercise1讲解,包含入门级的sklearn操作 首先导入库 import numpy as np import pandas as pd import scipy.stas as stats import sklearn 其次导入数据,这里使用的是sklearn中内置的数据集 from sklearn.datasets import load_boston boston=load_boston() 使用pandas整理数据 pandas可以用来

通俗得说线性回归算法(二)线性回归实战

前情提要: 通俗得说线性回归算法(一)线性回归初步介绍 一.sklearn线性回归详解 1.1 线性回归参数 介绍完线性回归,那么我们来看看如何运用sklearn来调用线性回归模型,进行训练和预测. def LinearRegression(fit_intercept=True, normalize=False, copy_X=True, n_jobs=None ) - fit_intercept:默认为true,参数意思是说要不要计算此模型的截距. 如果设置为False,则不会在计算中使用截距

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

简单线性回归 线性回归是数据挖掘中的基础算法之一,从某种意义上来说,在学习函数的时候已经开始接触线性回归了,只不过那时候并没有涉及到误差项.线性回归的思想其实就是解一组方程,得到回归函数,不过在出现误差项之后,方程的解法就存在了改变,一般使用最小二乘法进行计算. 使用sklearn.linear_model.LinearRegression进行线性回归 sklearn对Data Mining的各类算法已经有了较好的封装,基本可以使用fit.predict.score来训练.评价模型,并使用模型进

03_有监督学习--简单线性回归模型(调用 sklearn 库代码实现)

有监督学习--简单线性回归模型(调用 sklearn 库代码实现)0.引入依赖1.导入数据(data.csv)2.定义损失函数3.导入机器学习库 sklearn4.测试:运行算法,从训练好的模型中提取出系数和截距5.画出拟合曲线6.附录-测试数据 有监督学习--简单线性回归模型(调用 sklearn 库代码实现) 0.引入依赖 import numpy as npimport matplotlib.pyplot as plt 1.导入数据(data.csv) points = np.genfro

基于sklearn进行线性回归、logistic回归、svm等的简单操作总结

基于sklearn的一些AI算法基本操作 sklearn中的一些相关的库 分别导入这些相关算法的库 import pandas as pd #导入一个用于读取csv数据的容器 from sklearn.model_selection import train_test_split #用于数据集划分的模块 from sklearn.model_selection import GridSearchCV #用于交叉验证的模块 from sklearn.neighbors import KNeighb

采用线性回归方法降低双目测距到平面的误差(python+sklearn)

继上篇,为了改善标定板的深度信息: remove_idx1 = np.where(Z <= 0) remove_idx2 = np.where(Z > 500)#将Z轴坐标限定在0-500,以减少非标定板区域的坐标影响 采用线性回归并显示坐标信息 from sklearn.linear_model import LinearRegression import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D #删除

简单线性回归(sklearn + tensorflow)

概述 最近学习机器学习(和深度学习),入门第一个接触的便是简单线性回归.所谓线性回归,是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法.其形式可表示为:y = w1x1 + w2x2 + w3x3 + ... + w_nx_n + b而简单线性回归,是其最简单的形式:y = wx + b,即我们所熟知的一次函数,理解为给定权重w和偏置(或称为截距)b,结果y随变量x的变化而变化. 简单线性回归 机器学习中的简单线性回归,个人理解为给定一系列的x值和对应的y

用scikit-learn和pandas学习线性回归

对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了. 1. 获取数据,定义问题 没有数据,当然没法研究机器学习啦.:) 这里我们用UCI大学公开的机器学习数据来跑线性回归. 数据的介绍在这: http://archive.ics.uci.edu/ml/datasets/Combined+Cycle+Power+Plant 数据的下载地址在这: http://archive.ics.uci.edu/ml/ma