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

中山网站的建设承接做网站

中山网站的建设,承接做网站,做网站字体规范,app网站建设手机APP软件开发目录:缺失值处理和拉格朗日插值法一、前言二、理论知识三、代码实现一、前言 对于含有缺失值的数据集,如果通过删除小部分记录达到既定的目标,那么删除含有缺失值的记录的方法是最有效的。然而,这种方法也有很多问题,…

目录:缺失值处理和拉格朗日插值法

  • 一、前言
  • 二、理论知识
  • 三、代码实现

一、前言

对于含有缺失值的数据集,如果通过删除小部分记录达到既定的目标,那么删除含有缺失值的记录的方法是最有效的。然而,这种方法也有很多问题,删除缺失值的同时也会损失一定的信息,对于那些数据集较小的来说这是影响很大的。

所以可以对这些缺失值进行填充。

最简单的处理原则:

  1. 缺失值少于20%

连续变量使用均值或者中位数填补;

分类变量不需要填补,单算一类即可,或者用众数填补。

  1. 缺失值在20%-80%

填补方法同上;

另外每个有缺失值的变量生成一个指示哑变量,参与后续的建模。

  1. 缺失值大于80%

每个有缺失值的变量生成一个指示哑变量,参与后续的建模,原始变量不使用。

也可以用最近邻插补法,可以在数据集中寻找与该样本除掉缺失属性最相近的样本,用相似的样本的属性值代替,求相似度可以采用聚类方法。

其次还有回归方法和插值法,回归方法及时建立回归模型,用已有的数据训练模型然后再预测。

插值法就有朗日插值法和牛顿插值法,这里就介绍一下拉格朗日插值法。

二、理论知识

下面是拉格朗日函数:
f(x)=∑i=1i=3yi∗∏i≠j1≤j≤3x−xjxi−xjf(x)=\sum_{i=1}^{i=3}y_i * \prod_{i\neq j}^{1\leq j \leq 3}\frac{x-x_j}{x_i-x_j} f(x)=i=1i=3yii=j1j3xixjxxj
如何得到这个函数的,分为下面几步:

三个点(x1,y1),(x2,y2),(x3,y3)(x_1,y_1),(x_2,y_2),(x_3,y_3)(x1,y1),(x2,y2),(x3,y3)可以确定一条二次多项式的函数。这需要把三个点带入多项式然后解出各个系数。

但是拉格朗日的这个解法就不一样了。

第一步构建了一个函数:
f1(x)=(x−x2)(x−x3)(x1−x2)(x1−x3)f_1(x)=\frac{(x-x_2)(x-x_3)}{(x_1-x_2)(x_1-x_3)} f1(x)=(x1x2)(x1x3)(xx2)(xx3)
这个函数在x=x1x=x_1x=x1时,值为1;x=x2x=x_2x=x2时,值为0;x=x3x=x_3x=x3时,值为0。

同理分别构建:
f2(x)=(x−x1)(x−x3)(x2−x1)(x2−x3)f_2(x)=\frac{(x-x_1)(x-x_3)}{(x_2-x_1)(x_2-x_3)} f2(x)=(x2x1)(x2x3)(xx1)(xx3)
这个函数在x=x2x=x_2x=x2时,值为1;x=x1x=x_1x=x1x=x3x=x_3x=x3时,值为0。
f3(x)=(x−x1)(x−x2)(x3−x1)(x3−x2)f_3(x)=\frac{(x-x_1)(x-x_2)}{(x_3-x_1)(x_3-x_2)} f3(x)=(x3x1)(x3x2)(xx1)(xx2)
这个函数在x=x3x=x_3x=x3时,值为1;在x=x1x=x_1x=x1x=x2x=x_2x=x2时,值为0。

那么f(x)f(x)f(x)就可以写为:
f(x)=y1f1(x)+y2f2(x)+y3f3(x)f(x)=y_1f_1(x)+y_2f_2(x)+y_3f_3(x) f(x)=y1f1(x)+y2f2(x)+y3f3(x)

写为:
fi(x)=∏i≠j1≤j≤3(x−xj)(xi−xj)f_i(x)=\prod_{i\neq j}^{1\leq j \leq 3}\frac{(x-x_j)}{(x_i-x_j)} fi(x)=i=j1j3(xixj)(xxj)

得到拉格朗日函数。

三、代码实现

from scipy.interpolate import lagrange
def lag_fill(df, i, k):r = 0 if (i - k) < 0 else (i - k)l = len(df.index) if (i + 1 + k) > len(df.index) else (i + 1 + k)y = df.loc[list(range(r, i)) + list(range(i + 1, l))]for j in y.index:if y.isnull().loc[j]:y.drop(index = j, inplace = True)x = y.indexlag = lagrange(x.values, y.values)return lag(i)
index = np.array(data['Age'][data['Age'].isnull()].index)
nums = []
for i in index:num = int(lag_fill(data['Age'], i, 5))nums.append(num)
df = data['Age'].copy()
index = np.array(df[df.isnull()].index) # 缺失值的索引
for i in range(len(index)):df.loc[index[i]] = nums[i]
df.isnull().sum()

结果为:

0

最后替换一下:

data['Age'] = df
data['Age'].isnull().sum()
http://www.yayakq.cn/news/808281/

相关文章:

  • 怎么做代刷网站教程营销型企业网站制作公司
  • 视频网站开发方案325建筑网站
  • 建筑公司网站需求武进网站建设方案
  • 百度做网站推广的费用网站管理建设的总结
  • 列出寻找网站关键词的几种途径国外平面设计教程网站
  • 有没有可以在线做化学实验的网站做pc网站排
  • 网站如何做反爬qq浏览器官网
  • 公众号制作的网站开发核心关键词举例
  • 营销网站怎么做合适山西建设工程执业注册中心网站
  • 哪个网站建设公司比较好站长工具亚洲
  • 上海新闻频道seo学途论坛网
  • 集约化网站建设项目郑州开发小程序平台
  • 长白山网站学做管理平台简述网站首页制作过程
  • 网站代运营价格windows8风格网站模板
  • 自己做的网页怎么上传网站电脑手机网站建设
  • app设计网站推荐大型门户网站系统
  • 网站做支付需要准备什么数据库和网站
  • 个人备案网站营业执照wordpress 插件 爬文章
  • 宁波建设银行网站首页ui设计线上培训
  • 沂源网站建设yx718一般网站使用什么做的
  • 久久建筑网站内搜索喂来苏州网络科技有限公司
  • 如何做招生网站网络推广网站怎么做
  • 成都网站制作计划宝塔重装WordPress
  • 2008iis7建立网站别人做的网站域名到期怎么办
  • 猎头做单都有什么网站东莞网站建设 手袋厂
  • 襄阳门户网站建设六灶网站建设
  • 牡丹江做网站建设wordpress列表分页 js
  • 马蜂窝网站怎么做ic设计公司排名
  • 寺庙 网站建设营销推广怎么做
  • 营销网站建设创意做公众号必备的网站