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

个人网站建设 实验报告网址大全导航

个人网站建设 实验报告,网址大全导航,做h5的软件,电子商务网站例目录:缺失值处理和拉格朗日插值法一、前言二、理论知识三、代码实现一、前言 对于含有缺失值的数据集,如果通过删除小部分记录达到既定的目标,那么删除含有缺失值的记录的方法是最有效的。然而,这种方法也有很多问题,…

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

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

一、前言

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

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

最简单的处理原则:

  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.bjxfkj.com.cn/article/106995.html

相关文章:

  • 重庆游戏网站开发公司谷歌应用商店
  • 对ui设计的理解和认识手机端关键词排名优化
  • 有横向滚动条的网站查询网站备案信息
  • 做网站很烧钱国际最新新闻
  • 做网站需要什么花费网站群发推广软件
  • 企业网站建设实训心得建网站不花钱免费建站
  • 网站建设的职责注册域名后怎么建网站
  • 乌拉圭网站后缀广告设计
  • 做网站和app需要多久企业网站怎么制作
  • 网站建设资源常见的网络营销策略都有哪些
  • 外贸公司的网站建设模板百度开户公司
  • 免费的ftp网站百度推广工作好干吗
  • 泰安神秀网络科技有限公司汕头seo收费
  • 网站优化怎么做外链郑州网站运营专业乐云seo
  • 在哪网站建设北京seo关键词排名
  • 搜索引擎网站排行榜产品网络营销推广方案
  • 网站 设计公司 温州百度百科词条入口
  • wordpress 如何设置首页淘宝seo具体优化方法
  • 域名同时做邮箱和网站做网站怎么赚钱
  • 哪个网站做漂流瓶任务香蕉和忘忧草对焦虑的影响
  • 门窗营销型网站seo搜索引擎优化技术
  • 网站上常用字体seo软件优化
  • 东莞如何制作网页厦门seo优化多少钱
  • 网站建设推荐深圳经济最新新闻
  • 中国500强最新排名2021百度seo最成功的优化
  • 石家庄做网站费用网络推广方法怎么样
  • 网站开发公司 上怎么做网站免费的
  • 电商网站建设需要多少钱室内设计网站
  • 临沂市网站建设西安百度seo代理
  • 天津站设计单位腾讯企点官网下载