当前位置: 首页 > news >正文

辽宁省朝阳市做网站企业做网上推广

辽宁省朝阳市做网站,企业做网上推广,网站备案号如何获得,wordpress 知乎模版目录 一、基本概念 二、概念的数学形式表达 三、确定w和b 1.读取或输入数据 2.归一化、标准化 2.1 均值 2.2 归一化 2.3 标准化 3.求解w和b 1.直接解方程 2.最小二乘法#xff08;least square method#xff09;求解#xff1a; 4. 评估回归模型 四、sklearn中…目录 一、基本概念 二、概念的数学形式表达 三、确定w和b 1.读取或输入数据 2.归一化、标准化 2.1 均值 2.2 归一化 2.3 标准化 3.求解w和b 1.直接解方程 2.最小二乘法least square method求解 4. 评估回归模型 四、sklearn中的线性回归 1.对数据进行解析 2.对原始值和预测值进行绘图 3.绘制残差图 一、基本概念 线性(linear) 指量与量之间按比例、成直线的关系在空间和时间上代表规则和光滑的运动一阶导数为常数 非线性(non-linear) 指不按比例、不成直线的关系代表不规则的运动和突变一阶导数不为常数。 一个线性的例子 数据工资和年龄2个特征 目标预测银行会贷款给我多少钱标签 考虑工资和年龄都会影响最终银行贷款的结果那么他们各自有多大的影响呢参数 通俗的解释 x1,x2就是我们的两个特征年龄、工资y是银行最终会借给我们多少钱 找到最合适的一条线想象一个高维来最好的拟合我们的数据点 数学形式来了 二、概念的数学形式表达 给定数据集 数据的矩阵形式 线性模型(linear model)试图学得一个通过属性组合的线性组合来进行预测的函数即 用向量形式写成:    线性回归(linear regression)试图学得一个线性模型以尽可能准确地预测实值输出标记 三、确定w和b 对离散属性 若属性间存在“序”关系可通过连续化将其转化为连续值。 若属性间不存在“序”关系则转化为k维向量。 1.读取或输入数据 #导入相关库 numpy pandas import pandas import numpy #如果没有请安装哦,如下 # pip install pandas # pip install numpy 有库了我们才可以导入数据哇 首先我们先看看csv数据的导入 import pandas as pd文件 data pd.read_csv(r路径, encodinggbk) #读取csv数据方式 pd.read_csv # encodinggbk 定义编码方式 常用只有两种 utf8 和 gbk 按需定义即可#下面这种读取是显示没有第一列的数据 index_col0 python中第0列也就是实际的第1列 #reset_index(dropTrue) True表示执行此删除命令 data pd.read_csv(r路径, encodinggbk, index_col0).reset_index(dropTrue)读取数据后得分出和为X何为Y X data.iloc[:,0:4] # 0到3列所有的数据也就是实际的1到4列 Y data.iloc[:, 5] # 第5列所有的数据也就是实际的第6列 接下来我们看看自己建立矩阵的数据读取方式 import numpy as np a np.array([1,2,3]) print(a) b np.array([[1,2],[2,3]]) print(b) 返回 说到矩阵了就顺便说一下 创建矩阵的相关知识mat() 创建矩阵array() 将列表转换为数组可选择显式指定dtypearange() range的numpy版支持浮点数linspace() 类似arange()第三个参数为数组长度zeros() 根据指定形状和dtype创建全0数组ones() 根据指定形状和dtype创建全1数组empty() 根据指定形状和dtype创建空数组随机值eye() 根据指定边长和dtype创建单位矩阵 2.归一化、标准化 2.1 均值 # 在这里我们可以直接用numpy中的mean函数计算 numpy。mean() 顺便介绍一下其他的numpy中的相关常用函数 sum 求和 cumsum 求前缀和 mean 求平均数 std 求标准差 var 求方差 min 求最小值 max 求最大值 argmin 求最小值索引 argmax 求最大值索引 要想确定w和b首先要视情况决定是否需要对数据进行归一化或标准化 2.2 归一化 #范围归一化 此方法只适用一维数据 import numpy as np data np.asarray([1,5,3,8,4]) for x in data:x float(x - np.min(data))/(np.max(data)- np.min(data))print(x) # sklearn中的范围归一化函数MinMaxScaler函数可适用多维数据 from sklearn import preprocessing import numpy as np X np.array([[ 1., -1., 2.], [ 2., 0., 0.], [ 0., 1., -1.]]) min_max_scaler preprocessing.MinMaxScaler() x min_max_scaler.fit_transform(X) 2.3 标准化 #标准化 import numpy as npcc np.array([[1,2,3],[4,5,6]]) #创建矩阵 print(cc) #输出矩阵cc_mean np.mean(cc, axis0) #axis0,表示按列求均值 ——— 即第一维每一列可看做一个维度或者特征 cc_std np.std(cc, axis0) #xis0,表示按列求标准差 cc_zscore (cc-cc_mean)/cc_std #直接计算对数组进行标准化一定要注意维度 print(cc_zscore) #输出结果 #sklearn中的标准化 from sklearn.preprocessing import StandardScalerscaler StandardScaler() cc_zscore scaler.fit_transform(cc) print(cc_zscore) #输出结果3.求解w和b 1.直接解方程 N data.shape[0] X_mean np.mean(X) #求均值 X_mean np.array(X_mean) #转为数组 Y_mean np.mean(Y) #求均值 Y_mean np.array(Y_mean) #转为数组A np.dot(X.T,X)-N*np.dot(X_mean.T,X_mean) C np.dot(X.T,Y)-N*np.dot(X_mean.T,Y_mean) B np.dot(np.linalg.inv(A),C) #系数 BB Y_mean - np.dot(X_mean,B.T) #常数 YY np.dot(X,B.T)BB #Y的估计值 2.最小二乘法least square method求解 把数据集D表示为一个m*(d1)大小的矩阵X其中每行对应于一个示例改行前d个元素对应于示例的d个属性值最好一个元素恒置为1即 x np.array([[1,5,8],[2,5,8],[1,4,6]]) Y np.array([2,5,3]) b np.ones(3) X np.insert(x, 3, valuesb, axis1) 当X^TX 为满秩矩阵(full-rank matrix) 或正走矩阵(positive definite matrix) 时令 得到 wnp.dot(np.dot(np.linalg.inv(np.dot(X.T,X)),X.T),Y) 其中(X^TX)^-l是矩阵(X^TX)的逆矩阵.令xi (xi ,l) ,则最终学得的多元线性回归模型为 4. 评估回归模型 #离差平方和 S np.var(Y) #回归平方和 U np.var(YY) #剩余平方和 Q S - U #复可决系数 R2 U/S #负相关系数 R np.sqrt(U/S) #回归均方 # n X_mean 的个数 UU U/n #剩余均方 # N Y的个数 QQ Q/(N-n-1) #剩余标准差 s np.sqrt(QQ) #方程显著性检验值 F UU/QQ 四、sklearn中的线性回归 1.对数据进行解析 from sklearn import linear_model import numpy as np import pandas as pd #使用最小二乘线性回归进行拟合导入相应的模块 lrlinear_model.LinearRegression() data pd.read_csv(rD:\桌面\A.csv, encodinggbk) X data.iloc[:,0:4] Y data.iloc[:, 5] X_train,X_test,Y_train,Y_testtrain_test_split(X, Y, test_size0.2, random_state0) lr.fit(X_train,Y_train) #拟合 ylr.predict(X) #得到预测值集合y coeflr.coef_ #获得该回该方程的回归系数与截距 interceptlr.intercept_ print(预测方程回归系数,coef) print(预测方程截距,intercept) scorelr.score(X_test,Y_test) #对得到的模型打分 print(模型的预测分,score) 2.对原始值和预测值进行绘图 from matplotlib import pyplot as plt plt.plot(range(1,len(Y)1),Y) plt.plot(range(1,len(Y)1),y) plt.show() 3.绘制残差图 err y - Y #求残差 plt.plot(range(1,len(Y)1),err) plt.show()
http://www.zqtcl.cn/news/810902/

相关文章:

  • 企业网站建设流程概述长春网站推广排名
  • 网站导航设计牙科 网站建设方案
  • 手机微信网站开发教程企业网站的制作成本
  • 做电商网站的流程网站架构搭建
  • 可以下载新闻视频的网站重庆seo
  • 网站内容页设计网站建设实验分析
  • 网站建设的软硬件环境凡科精选app
  • 网站开发过滤器作用信息港怎么发布信息
  • 网站服务器组建百度seo引流怎么做
  • 南京网站定制公司如何用源码做网站
  • 网站建站视频wordpress网站好用吗
  • 网页设计网站搭建建筑材料价格信息网
  • 淮安市交通建设局网站新郑做网站
  • 新开传奇网站手机版深圳房管局官网
  • 重庆网站建设营销深圳微商城网站设计公司
  • 用织梦做的网站是模板的吗外贸展示型模板网站
  • 网站seo的关键词排名怎么做的定制和订制
  • 自适应网站做多大尺寸的四川建设厅电话网站
  • 易语言可以做网站了吗电商平台排名100强
  • 网站代码开发方式影视公司网页设计
  • 如何选择网站定制公司响水专业做网站
  • 海门建网站公司凡客模板wordpress
  • 网站关键字排名php开源cms
  • 手机商城手机网站建设多少钱明水县网站建设
  • 北京网站优化外包做板材外贸一般用哪个网站
  • 北京建设网站有哪些公司药店网站模板
  • 网站欢迎页面怎么做个人简历免费模板下载
  • 宁波外贸网站建设竣工验收报告查询网
  • 内衣网站建设详细方案如何制作企业网站的版式
  • 网站建设是否需要源代码php如何制作网站