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

中企动力 网站建设有没有可以看的网址

中企动力 网站建设,有没有可以看的网址,免费网站设计培训班,网站开发青岛1 概念回顾 1.1 模型假设 线性回归模型假设因变量y yy与自变量x xx之间的关系可以用以下线性方程表示#xff1a; y β 0 β 1 ⋅ X 1 β 2 ⋅ X 2 … β n ⋅ X n ε y 是因变量 (待预测值)#xff1b;X1, X2, ... Xn 是自变量#xff08;特征#xff09;β0, β1,…1 概念回顾 1.1 模型假设 线性回归模型假设因变量y yy与自变量x xx之间的关系可以用以下线性方程表示 y β 0 β 1 ⋅ X 1 β 2 ⋅ X 2 … β n ⋅ X n ε y 是因变量 (待预测值)X1, X2, ... Xn 是自变量特征β0, β1, … βn 是模型的参数表示截距和各自变量的系数ε 是误差项表示模型不能解释的随机噪声。 1.2 损失函数 在线性回归中常用的损失函数是均方误差 (M S E MSEMSE) 它衡量了模型预测值与真实值之间的平方差: 其中 n 是样本数量yi 是第i个样本的真实值y^i是模型对第i个样本的预测值。 1.3 参数估计 线性回归模型的参数估计通常使用最小二乘法来进行。最小二乘法的目标是最小化损失函数找到能使损失函数达到最小的参数值。 2 一元线性回归 2.1 最小二乘法 import numpy as np import matplotlib.pyplot as plt# ---------------1. 准备数据---------- data np.array([[32, 31], [53, 68], [61, 62], [47, 71], [59, 87], [55, 78], [52, 79], [39, 59], [48, 75], [52, 71],[45, 55], [54, 82], [44, 62], [58, 75], [56, 81], [48, 60], [44, 82], [60, 97], [45, 48], [38, 56],[66, 83], [65, 118], [47, 57], [41, 51], [51, 75], [59, 74], [57, 95], [63, 95], [46, 79], [50, 83]])# 提取data中的两列数据分别作为xy x data[:, 0] y data[:, 1]# 用plt画出散点图 # plt.scatter(x, y) # plt.show()# -----------2. 定义损失函数------------------ # 损失函数是系数的函数另外还要传入数据的xy def compute_cost(w, b, points):total_cost 0M len(points)# 逐点计算平方损失误差然后求平均数for i in range(M):x points[i, 0]y points[i, 1]total_cost (y - w * x - b) ** 2return total_cost / M# ------------3.定义算法拟合函数----------------- # 先定义一个求均值的函数 def average(data):sum 0num len(data)for i in range(num):sum data[i]return sum / num# 定义核心拟合函数 def fit(points):M len(points)x_bar average(points[:, 0])sum_yx 0sum_x2 0sum_delta 0for i in range(M):x points[i, 0]y points[i, 1]sum_yx y * (x - x_bar)sum_x2 x ** 2# 根据公式计算ww sum_yx / (sum_x2 - M * (x_bar ** 2))for i in range(M):x points[i, 0]y points[i, 1]sum_delta (y - w * x)b sum_delta / Mreturn w, b# ------------4. 测试------------------ w, b fit(data)print(w is: , w) print(b is: , b)cost compute_cost(w, b, data)print(cost is: , cost)# ---------5. 画出拟合曲线------------ plt.scatter(x, y) # 针对每一个x计算出预测的y值 pred_y w * x bplt.plot(x, pred_y, cr) plt.show()2.2 梯度下降法 import numpy as np import matplotlib.pyplot as plt# 准备数据 data np.array([[32, 31], [53, 68], [61, 62], [47, 71], [59, 87], [55, 78], [52, 79], [39, 59], [48, 75], [52, 71],[45, 55], [54, 82], [44, 62], [58, 75], [56, 81], [48, 60], [44, 82], [60, 97], [45, 48], [38, 56],[66, 83], [65, 118], [47, 57], [41, 51], [51, 75], [59, 74], [57, 95], [63, 95], [46, 79],[50, 83]])x data[:, 0] y data[:, 1]# --------------2. 定义损失函数-------------- def compute_cost(w, b, data):total_cost 0M len(data)# 逐点计算平方损失误差然后求平均数for i in range(M):x data[i, 0]y data[i, 1]total_cost (y - w * x - b) ** 2return total_cost / M# --------------3. 定义模型的超参数------------ alpha 0.0001 initial_w 0 initial_b 0 num_iter 10# --------------4. 定义核心梯度下降算法函数----- def grad_desc(data, initial_w, initial_b, alpha, num_iter):w initial_wb initial_b# 定义一个list保存所有的损失函数值用来显示下降的过程cost_list []for i in range(num_iter):cost_list.append(compute_cost(w, b, data))w, b step_grad_desc(w, b, alpha, data)return [w, b, cost_list]def step_grad_desc(current_w, current_b, alpha, data):sum_grad_w 0sum_grad_b 0M len(data)# 对每个点代入公式求和for i in range(M):x data[i, 0]y data[i, 1]sum_grad_w (current_w * x current_b - y) * xsum_grad_b current_w * x current_b - y# 用公式求当前梯度grad_w 2 / M * sum_grad_wgrad_b 2 / M * sum_grad_b# 梯度下降更新当前的w和bupdated_w current_w - alpha * grad_wupdated_b current_b - alpha * grad_breturn updated_w, updated_b# ------------5. 测试运行梯度下降算法计算最优的w和b------- w, b, cost_list grad_desc(data, initial_w, initial_b, alpha, num_iter) print(w is: , w) print(b is: , b) cost compute_cost(w, b, data) print(cost is: , cost) # plt.plot(cost_list) # plt.show()# ------------6. 画出拟合曲线------------------------- plt.scatter(x, y) # 针对每一个x计算出预测的y值 pred_y w * x b plt.plot(x, pred_y, cr) plt.show()2.3 sklearn库实现 import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression# -------------1. 数据--------- # points np.genfromtxt(data.csv, delimiter,) data np.array([[32, 31], [53, 68], [61, 62], [47, 71], [59, 87], [55, 78], [52, 79], [39, 59], [48, 75], [52, 71],[45, 55], [54, 82], [44, 62], [58, 75], [56, 81], [48, 60], [44, 82], [60, 97], [45, 48], [38, 56],[66, 83], [65, 118], [47, 57], [41, 51], [51, 75], [59, 74], [57, 95], [63, 95], [46, 79],[50, 83]]) # 提取points中的两列数据分别作为xy x data[:, 0] y data[:, 1]# --------------2. 定义损失函数-------------- # 损失函数是系数的函数另外还要传入数据的xy def compute_cost(w, b, data):total_cost 0M len(data)# 逐点计算平方损失误差然后求平均数for i in range(M):x data[i, 0]y data[i, 1]total_cost (y - w * x - b) ** 2return total_cost / Mlr LinearRegression() x_new x.reshape(-1, 1) y_new y.reshape(-1, 1) lr.fit(x_new, y_new) # 从训练好的模型中提取系数和偏置 w lr.coef_[0][0] b lr.intercept_[0] print(w is: , w) print(b is: , b) cost compute_cost(w, b, data) print(cost is: , cost) plt.scatter(x, y) # 针对每一个x计算出预测的y值 pred_y w * x b plt.plot(x, pred_y, cr) plt.show()3 多元线性回归 sklearn库实现 import numpy as np import pandas as pd from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split from sklearn import datasets# data fetch_california_housing() iris datasets.load_iris() df pd.DataFrame(iris.data , columnsiris.feature_names) target pd.DataFrame(iris.target, columns[MEDV]) X df y target# 数据集划分 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.5, random_state1) print(X_train.shape) print(X_test.shape)# 模型训练 lr LinearRegression() lr.fit(X_train, y_train) print(lr.coef_) print(lr.intercept_)# 模型评估 y_pred lr.predict(X_test) from sklearn import metricsMSE metrics.mean_squared_error(y_test, y_pred) RMSE np.sqrt(metrics.mean_squared_error(y_test, y_pred)) print(MSE:, MSE) print(RMSE:, RMSE)# -----------图像绘制-------------- import matplotlib.pyplot as plt import matplotlib as mplmpl.rcParams[font.family] [sans-serif] mpl.rcParams[font.sans-serif] [SimHei] mpl.rcParams[axes.unicode_minus] False# 绘制图 plt.figure(figsize(15, 5)) plt.plot(range(len(y_test)), y_test, r, label测试数据) plt.plot(range(len(y_test)), y_pred, b, label预测数据) plt.legend() plt.show()# # 绘制散点图 plt.scatter(y_test, y_pred) plt.plot([y_test.min(), y_test.max()], [y_test.min(), y_test.max()], k--) plt.xlabel(真实值) plt.ylabel(预测值) plt.show()
http://www.pierceye.com/news/835373/

相关文章:

  • 遂平县网站建设网站建站的类型
  • wordpress多用途主题排行建网站做优化
  • 那里可以做旅游网站的吗手机系统
  • 牙科医院网站源码开封建网站
  • 网站的内容做网站后端的全部步骤
  • 可以做软件的网站有哪些功能wordpress建站事例
  • 静态网站生成刚刚发生在昆明的大事
  • 牡丹江0453免费信息网站学生保险网站
  • 接网站开发项目万网网站后台登陆
  • 江苏网站建站系统平台生存曲线哪个网站可以做
  • 国内产品网站w源码1688index网站制作
  • 韩国网站域名网站推广是干嘛的
  • 怎样查询江西省城乡建设厅网站互联网行业简介
  • 芜湖网站建设推广网站开发者 地图
  • 保养车哪个网站做的好电商网站建设目的及网站的优势
  • 文化馆建设网站上海建设银行官网网站
  • 微信分销网站建设垂直网站建设步骤
  • 网站建设招聘简介应届生求职网站官网
  • 驾校网站建设中国建设银行信用卡中心网站
  • 网站开发中的文档代理网络是什么意思
  • 如何不让百度收录网站网页设计教程文字和图片
  • 深圳网站建设公司哪家最好WordPress文章查询插件
  • 用于网站开发的语言北京专业做网站推广
  • 美工免费素材网站淘宝客cms建站教程
  • 平板上做网站的软件涂料网站建设
  • 做网站导航的wordpress自由度
  • 怎样建外贸网站步骤的英文
  • 网站网上商城建设网站上线详细步骤
  • 有那些网站可以做推广长沙公司排名
  • 怎样申请做p2p融资网站北京做网站一般多少钱