91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在python中實現數據抽樣解析

發布時間:2021-04-30 16:21:55 來源:億速云 閱讀:286 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關怎么在python中實現數據抽樣解析,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

python可以做什么

Python是一種編程語言,內置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智能,Web開發等。

何為數據抽樣:

抽樣是數據處理的一種基本方法,常常伴隨著計算資源不足、獲取全部數據困難、時效性要求等情況使用。

抽樣方法:

一般有四種方法:

隨機抽樣 直接從整體數據中等概率抽取n個樣本。這種方法優勢是,簡單、好操作、適用于分布均勻的場景;缺點是總體大時無法一一編號

系統抽樣 又稱機械、等距抽樣,將總體中個體按順序進行編號,然后計算出間隔,再按照抽樣間隔抽取個體。優勢,易于理解、簡便易行。缺點是,如有明顯分布規律時容易產生偏差。

群體抽樣 總體分群,在隨機抽取幾個小群代表總體。優點是簡單易行、便與組織;缺點是群體劃分容易造成誤差

分層抽樣 先按照觀察指標影響較大的某一種特征,將總體分若干個類別,再從每一層隨機抽取一定數量的單位合并成總體。優點樣本代表性好,少誤差

以上四種基本抽樣方法都屬單階段抽樣,實際應用中常根據實際情況將整個抽樣過程分為若干階段來進行,稱為多階段抽樣。

各種抽樣方法的抽樣誤差一般是:整群抽樣≥單純隨機抽樣≥系統抽樣≥分層抽樣

python代碼實現

import random
import numpy as np
import pandas as pd

# 導入數據
df = pd.read_csv('https://raw.githubusercontent.com/ffzs/dataset/master/glass.csv')

df.index.size
# 214

##########隨機抽樣##########
#
# 使用pandas
# DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
# n是要抽取的行數。(例如n=20000時,抽取其中的2W行)
# frac是抽取的比列。(有一些時候,我們并對具體抽取的行數不關系,我們想抽取其中的百分比,這個時候就可以選擇使用frac,例如frac=0.8,就是抽取其中80%)
# replace:是否為有放回抽樣,取replace=True時為有放回抽樣。
# weights這個是每個樣本的權重,具體可以看官方文檔說明。
# random_state這個在之前的文章已經介紹過了。
# axis是選擇抽取數據的行還是列。axis=0的時是抽取行,axis=1時是抽取列(也就是說axis=1時,在列中隨機抽取n列,在axis=0時,在行中隨機抽取n行)

df_0 = df.sample(n=20, replace=True)
df_0.index.size
# 20

# 數據準備
data = df.values
# 使用random
data_sample = random.sample(list(data), 20)
len(data_sample)
# 20

##########等距抽樣##########
# 指定抽樣數量
sample_count = 50
# 獲取最大樣本量
record_count = data.shape[0]
# 抽樣間距
width = record_count//sample_count
data_sample = []
i = 0
# 本量小于等于指定抽樣數量并且矩陣索引在有效范圍內是
while len(data_sample) <= sample_count and i * width <= record_count -1:
  data_sample.append(data[i*width])
  i += 1
len(data_sample)
# 51

##########分層抽樣##########
# 數據只是隨便找的分層僅限于演示
# 定義每個分層的抽樣數量
each_sample_count = 6
# 定義分層值域
label_data_unique = np.unique(data[:, -1])
# 定義一些數據
sample_list, sample_data, sample_dict = [], [], {}
# 遍歷每個分層標簽
for label_data in label_data_unique:
  for data_tmp in data: # 讀取每條數據
    if data_tmp[-1] == label_data:
      sample_list.append(data_tmp)
  # 對每層數據都數據抽樣
  each_sample_data = random.sample(sample_list, each_sample_count)
  sample_data.extend(each_sample_data)
  sample_dict[label_data] = len(each_sample_data)
sample_dict
# {1.0: 6, 2.0: 6, 3.0: 6, 5.0: 6, 6.0: 6, 7.0: 6}

##########整群抽樣##########
# 數據分群僅限于演示,不符合實際情況
# 定義整群的標簽
label_data_unique = np.unique(data[:, -1])
# 隨機抽取2個群
sample_label = random.sample(list(label_data_unique), 2)
# 定義空列表
sample_data = []
# 遍歷每個整群標簽值域
for each_label in sample_label:
  for data_tmp in data:
    if data_tmp[-1] == each_label:
      sample_data.append(data_tmp)
len(sample_data)
# 83

需要注意的問題

數據抽樣過程中要注意一些問題

數據時效性 不能用過時的數據來分析現在的運營狀態

關鍵因素數據 整體數據的關鍵性數據必須要在模型中,如雙十一帶來的銷售增長

業務隨機性 抽樣數據要使各個場景的數據分布均衡

數據來源多樣性 數據覆蓋要全面

抽樣數據量問題

時間分布 能包含業務周期。月銷售預測,至少包含12個月數據;時間還要考慮季節、節假日、特定促銷日等周期性。

做預測分析 考慮特征數據和特征值域的分布,通常數據記錄要同時是特征數量和特征值域的100倍以上。例如數據集有5個特征值,每個特征有2個值域,那么數據記錄數需要至少1000(10052)條以上

做關聯規則分析 根據關聯前后項數量(每個前項或后項可包含多個要關聯的主體,例如品牌+商品+價格關聯),每個主體需要至少1000條數據。例如只做單品銷售關聯,那么單品的銷售記錄需要在1000條以上;如果要同時做單品+品牌的關聯,那么需要至少2000條數據。

異常檢測 無論是監督室還是非監督式建模,對于異常數據本來就是小概率分布的,因此異常數據記錄一般越多越好。

以上就是怎么在python中實現數據抽樣解析,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

夏河县| 江达县| 务川| 隆子县| 西安市| 班玛县| 开平市| 舞钢市| 房山区| 大姚县| 奉化市| 驻马店市| 宝应县| 安乡县| 平定县| 昭平县| 海南省| 盐池县| 周口市| 长宁区| 镇远县| 孙吴县| 汕尾市| 蓬安县| 友谊县| 东乡县| 江阴市| 德化县| 彰武县| 汉沽区| 西宁市| 淳化县| 张家界市| 龙岩市| 大兴区| 荆州市| 靖江市| 大同市| 甘泉县| 抚松县| 巩义市|