## 拉格朗日插值代碼(使用缺失值先後各5個未缺失的數據建模)函數
import pandas as pd #導入數據分析庫Pandas from scipy.interpolate import lagrange #導入拉格朗日插值函數 inputfile = '../data/catering_sale.xls' #銷量數據路徑 outputfile = '../tmp/sales.xls' #輸出數據路徑 data = pd.read_excel(inputfile) #讀入數據 data[u'銷量'][(data[u'銷量'] < 400) | (data[u'銷量'] > 5000)] = None #過濾異常值,將其變爲空值 #自定義列向量插值函數 #s爲列向量,n爲被插值的位置,k爲取先後的數據個數,默認爲5 def ployinterp_column(s, n, k=5): y = s[list(range(n-k, n)) + list(range(n+1, n+1+k))] #取數 y = y[y.notnull()] #剔除空值 return lagrange(y.index, list(y))(n) #插值並返回插值結果 #逐個元素判斷是否須要插值 for i in data.columns: for j in range(len(data)): if (data[i].isnull())[j]: #若是爲空即插值。 data[i][j] = ployinterp_column(data[i], j) data.to_excel(outputfile) #輸出結果,寫入文件
1)函數變換:將不具備正態分佈的數據變換成正態分佈的數據spa
2)規範化/歸一化:消除不一樣量綱的影響3d
零-均值規範化使用最多excel
3)連續屬性離散化:連續屬性->分類屬性code
以「醫學中中醫證型的相關數據」爲例blog
4)屬性構造:利用已有屬性構造新的屬性ip
以線損率爲例ci
1)屬性規約(縱向):屬性合併、刪除無關屬性input
2)數值規約(橫向):選擇替代的、嬌小的數據來減小數據量,包括有參方法和無參方法數據分析