髒資料:不符合要求,不能進行分析的資料
缺失值 異常值 不一致的值 重複的資料 含有特殊符號的資料(&%¥)
資料缺失值分析
刪除 可能值進行插補 不處理
簡單的統計量的分析
資料應該有實際意義,手工去除不符合實際的資料
3σ原則
異常值:一組測定值中與平均值的偏差超過3倍標準差的值
排除p(|x-u|>3σ)<= 0.003的值
箱形圖分析
第一四分位數(q1),又稱「較小四分位數」或「下四分位數」,等於該樣本中所有數值由小到大排列後第25%的數字。
第二四分位數(q2),又稱「中位數」,等於該樣本中所有數值由小到大排列後第50%的數字。
第三四分位數(q3),又稱「較大四分位數」或「上四分位數」,等於該樣本中所有數值由小到大排列後第75%的數字。
第三四分位數與第一四分位數的差距又稱四分位間距(interquartile range,iqr)。
#pandas 用describe()函式檢視資料基本情況
import pandas as pd
catering_sale = 'data/catering_sale.xls'
data = pd.read_excel(catering_sale,index_col= u'日期')#指定『日期』為索引列
data.describe()
print(data.describe())
#輸出最大值 最小值等資訊
銷量count 200.000000
mean 2755.214700
std 751.029772
min 22.000000
25% 2451.975000
50% 2655.850000
75% 3026.125000
max 9106.440000
有min max mean(平均值) std(標準差) 1/4 分位數
#箱式模型分析資料
import pandas as pd
catering_sale = 'data/catering_sale.xls' #餐飲資料
data = pd.read_excel(catering_sale, index_col = u'日期') #讀取資料,指定「日期」列為索引列
import matplotlib.pyplot as plt #匯入影象庫
plt.rcparams['font.sans-serif'] = ['simhei'] #用來正常顯示中文標籤
plt.rcparams['axes.unicode_minus'] = false #用來正常顯示負號
plt.figure() #建立影象
p = data.boxplot(return_type='dict') #畫箱線圖,直接使用dataframe的方法
x = p['fliers'][0].get_xdata() # 'flies'即為異常值的標籤
y = p['fliers'][0].get_ydata()#[0]用來標註第乙個異常值數值
y.sort() #從小到大排序,該方法直接改變原物件
#用annotate新增注釋
#其中有些相近的點,註解會出現重疊,難以看清,需要一些技巧來控制。
#以下引數都是經過除錯的,需要具體問題具體除錯。
for i in range(len(x)):
if i>0:
plt.annotate(y[i], xy = (x[i],y[i]), xytext=(x[i]+0.05 -0.8/(y[i]-y[i-1]),y[i]))
else:
plt.annotate(y[i], xy = (x[i],y[i]), xytext=(x[i]+0.08,y[i]))
plt.show() #展示箱線圖
異常值個數為1 結合實際 865 4065 4060 歸為正常值 60 22 51 6670 9106歸為異常值
#!/usr/bin/python
# coding: utf-8
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-10, 11, 1)
y = x * x
plt.plot(x, y)
# 新增注釋
# 第乙個引數是注釋的內容
# xy設定箭頭尖的座標
# xytext設定注釋內容顯示的起始位置
# arrowprops 用來設定箭頭
# facecolor 設定箭頭的顏色
# headlength 箭頭的頭的長度
# headwidth 箭頭的寬度
# width 箭身的寬度
plt.annotate(u"here is note", xy=(0, 1), xytext=(0, 50), \
arrowprops=dict(facecolor="b", headlength=15, headwidth=30, width=20))
# 可以通過設定xy和xytext中座標的值來設定箭身是否傾斜
完成對資料的質量分析後,剩下的資料就可以繪製表圖 計算了餅狀圖 條形圖:可以直觀的顯示分布情況
直方圖 莖葉圖 頻率分布表 :分布形式 特殊值
……
Kaggle比賽入門指南
首先說,絕大部分的kaggle比賽是data mining dm 比賽 除少數是和discrete optimization還有computer vision cv 有關 最重要的是和machine learning ml 關係不大。這是很多人乙個誤區,往往希望在kaggle上學到很多ml的知識。k...
kaggle競賽入門整理
1 bike sharing demand kaggle 目的 根據日期 時間 天氣 溫度等特徵,自行車的租借量 處理 1 將日期 含年月日時分秒 提取出年,月,星期幾,以及小時 2 season,weather都是類別標記的,利用啞變數編碼 演算法模型選取 回歸問題 1 randomforestr...
2018 2 17 雙指標 kaggle入門
雙指標 廣義上的雙指標,是利用問題本身與序列的特性,使用兩個下標i j對序列進行掃瞄,以較低的複雜度解決問題,一般是o n 例如,在於給定的乙個遞增的正整數序列和乙個正整數m,求數列中兩個不同的位置的數a和b,使他們的和恰好為m,輸出所有滿足的答案。對於這個問題,使用二重迴圈列舉序列中的數,是比較直...