日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数据挖掘】数据预处理

發(fā)布時(shí)間:2024/7/5 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据挖掘】数据预处理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

參考文獻(xiàn):《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》

數(shù)據(jù)清洗

數(shù)據(jù)清洗:刪除數(shù)據(jù)集中無關(guān)數(shù)據(jù),重復(fù)數(shù)據(jù),平滑噪聲數(shù)據(jù),篩選掉與挖掘主題無關(guān)的數(shù)據(jù),處理缺失值和異常值。

  • 缺失值處理:刪除記錄、數(shù)據(jù)插補(bǔ)。
  • 插補(bǔ)方法方法描述
    均值/中位數(shù)/眾數(shù)插補(bǔ)按照屬性值的類型取值
    使用固定值用常量替換
    最近臨插補(bǔ)用缺失樣本最接近的樣本的屬性值
    回歸方法建立擬合模型預(yù)測(cè)缺失的屬性值
    插值法根據(jù)已有數(shù)據(jù)建立插值函數(shù)f(x)計(jì)算f(xi)

    拉格朗日插值法:

    inputfile = '../data/catering_sale.xls' outputfile = '../data/sales.xls' data = pd.read_excel(inputfile) data[(data[u'銷量'] < 400) | (data[u'銷量'] > 5000)] = None def ployinterp_column(index, df, k=5):y = df[list(range(index - k, index)) + list(range(index + 1, index + 1 + k))]y = y[y.notnull()]return lagrange(y.index, list(y))(index) df = data[data[u'銷量'].isnull()] index_list = df[u'銷量'].index for index in index_list:data[[u'銷量']][index] = ployinterp_column(index, data[u'銷量']) data.to_excel(outputfile)
  • 異常值處理:刪除異常記錄,視為缺失值,用均值修正
  • 數(shù)據(jù)集成

    將多個(gè)數(shù)據(jù)源合并在一個(gè)一致的數(shù)據(jù)存儲(chǔ)的過程(冗余屬性識(shí)別、實(shí)體識(shí)別)

    數(shù)據(jù)變換

    對(duì)數(shù)據(jù)進(jìn)行規(guī)范化處理,轉(zhuǎn)化為適當(dāng)?shù)男问?br /> (1) 簡(jiǎn)單函數(shù)變化:將不具有正態(tài)分布的數(shù)據(jù)變換成具有正態(tài)分布的數(shù)據(jù)。在時(shí)間序列分析中,簡(jiǎn)單的對(duì)數(shù)變換或者差分運(yùn)算可以將非平穩(wěn)序列轉(zhuǎn)換為平穩(wěn)序列。使用對(duì)數(shù)變換還可以對(duì)數(shù)據(jù)進(jìn)行壓縮。
    (2) 規(guī)范化:也稱歸一化,消除指標(biāo)之間的量綱和取值范圍差異的影響進(jìn)行標(biāo)準(zhǔn)化處理,將數(shù)據(jù)按比例縮放,使其在一個(gè)特定范圍,便于綜合分析。
    最大-最小規(guī)范化:x?=x?minmax?minx^*=\frac{x-min}{max-min}x?=max?minx?min?
    零-均值規(guī)范化:x?=x?xˉσx^*=\frac{x-\bar{x}}{\sigma}x?=σx?xˉ?
    小數(shù)定標(biāo)規(guī)范化:x?=x10kx^*=\frac{x}{10^k}x?=10kx?

    datafile = '../data/normalization_data.xls' data = pd.read_excel(datafile, header=None) print((data - data.min()) / (data.max() - data.min())) #最大-最小 print((data - data.mean()) / data.std()) # 零-均值 print(data / 10**np.ceil(np.log10(data.abs().max()))) #小數(shù)定標(biāo)

    (3) 連續(xù)屬性離散化
    等寬法:將屬性的值域劃分為等寬的區(qū)間。
    等頻法:將相同數(shù)量的記錄放在一個(gè)區(qū)間。
    聚類法:將連續(xù)屬性進(jìn)行聚類,對(duì)聚類得到的簇進(jìn)行處理,需要指定簇的個(gè)數(shù),得到區(qū)間數(shù)。

    datafile = '../data/discretization_data.xls' data = pd.read_excel(datafile) data = data[u'肝氣郁結(jié)證型系數(shù)'].copy() k = 4 # 等寬切分 d1 = pd.cut(data, k, labels=range(k))# 等頻切分 w = [1.0 * i / k for i in range(k + 1)] # percentiles表示特定百分位數(shù),同四分位數(shù) w = data.describe(percentiles=w)[4:4 + k + 1] w[0] = w[0] * (1 - 1e-10) d2 = pd.cut(data, w, labels=range(k))# 使用Kmeans聚類 kmodel = KMeans(n_clusters=k, n_jobs=4) kmodel.fit(data.values.reshape(len(data), 1)) # 輸出聚類中心,并且排序 c = DataFrame(kmodel.cluster_centers_).sort_values(0) # 相鄰兩項(xiàng)求中點(diǎn),作為邊界點(diǎn) w = DataFrame.rolling(c, 2).mean().iloc[1:] # 加上首末邊界點(diǎn) w = [0] + list(w[0]) + [data.max()] d3 = pd.cut(data, w, labels=range(k)) def cluster_plot(d, k):plt.figure(figsize=(8, 3))for j in range(0, k):plt.plot(data[d == j], [j for i in d[d == j]], 'o')plt.ylim(-0.5, k - 0.5)return plt cluster_plot(d1, k).show() cluster_plot(d2, k).show() cluster_plot(d3, k).show()

    (4) 屬性構(gòu)造:從已有屬性集中構(gòu)造出新屬性,加入到現(xiàn)有的屬性集合中。

    inputfile = "../data/electricity_data.xls" outputfile = "../tmp/electricity_data.xls" data = pd.read_excel(inputfile) data[u"線損率"] = (data[u"供入電量"] - data[u"供出電量"]) / data[u"供入電量"] data.to_excel(outputfile, index=False)

    (5) 小波變換:在時(shí)域和頻域具有表征信號(hào)局部特征的能力,通過伸縮和平移

    數(shù)據(jù)規(guī)約

    意義:降低無效、錯(cuò)誤數(shù)據(jù)對(duì)建模的影響,提高建模的準(zhǔn)確性。少量且具有代表性的數(shù)據(jù)將大幅度縮減挖掘所需的時(shí)間。降低儲(chǔ)存數(shù)據(jù)的成本。

    方法描述
    合并屬性舊屬性合并為新屬性
    逐步向前選擇從空屬性集開始添加當(dāng)前最優(yōu)屬性,直到無法選出最優(yōu)屬性或滿足閾值約束
    逐步向后選擇從全屬性集開始刪除最差屬性,直到無法選出最差屬性或滿足閾值約束
    決策樹歸納利用決策樹歸納法學(xué)習(xí)初始數(shù)據(jù),刪除沒有在決策樹上的屬性
    主成分分析用較少的變量解釋原始數(shù)據(jù)中大部分的變量

    數(shù)值規(guī)約

  • 直方圖
  • 聚類
  • 抽樣
  • 參數(shù)回歸
  • 總結(jié)

    以上是生活随笔為你收集整理的【数据挖掘】数据预处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。