昨天我们发现,过多的样本反而会对估计做出反效果,因此我们今天要来缩小样本来补值,说到缩小样本,就不得不提到鼎鼎大名的KNN演算法,又称为K-近邻演算法、最近邻居法,相关理论很复杂,我们先跳过,总而言之就是是用空缺邻近的数值来推估缺值,以下示范多款比较高端的插值法
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
if __name__ == "__main__":
data = pd.read_csv("./temp.csv")
# 有些插值法是时间序列专用,所以最好先将索引转成时间
data["time"] = pd.to_datetime(data["time"])
data = data.set_index("time")
# 线性插值法
data["linear_imputed"] = data["temp"].interpolate(method="linear")
# 最近邻居插值法
data["nearest_imputed"] = data["temp"].interpolate(method="nearest")
# 导数插值法
data["from_derivatives_imputed"] = data["temp"].interpolate(method="from_derivatives")
# 以下这些方法会使用到索引,请加上一个顺序参数,其中多项式跟样条一定要加
# 时间插值法,时间序列专用
data["time_imputed"] = data["temp"].interpolate(method="time", order=10)
# 线性插值法
data["slinear_imputed"] = data["temp"].interpolate(method="slinear", order=10)
# 二次插值法
data["quadratic’_imputed"] = data["temp"].interpolate(method="quadratic", order=10)
# 三次插值法
data["cubic_imputed"] = data["temp"].interpolate(method="cubic", order=10)
# 零插值法
data["zero_imputed"] = data["temp"].interpolate(method="zero", order=10)
# 样条插值法
data["spline_imputed"] = data["temp"].interpolate(method="spline", order=2)
# 多项式插值法
data["polynomial_imputed"] = data["temp"].interpolate(method="polynomial", order=2)
data.to_csv("./OK.csv")
这个数值是不是比昨天更有说服力了呢
<<: [Android Studio菜鸟的学习分享]完赛结语
研究了半天 写了一个自动注册帐户的程序 如下 首先会读取chromedriver 开启後转到注册页面...
今天一样是简单的 SLL、SRL、SRA 指令实作, 再一样为了 Code Stream Logge...
文章说明 文章分段 文章说明 deeplab的简单介绍、於我的意义 tensorflow的程序码特色...
昨天已经学会要如何呼叫套件了,今天就让我们来学习套件里的语法运用吧! 首先先呼叫我们的NumPy套件...
昨日提到的评估框架结果後,今天的内容偏向是技术面开发的重点汇整。 监测平台 Web framewor...