Kaggle入門爬梯之路

2021-12-30 12:18:00 字數 2943 閱讀 3442

髒資料:不符合要求,不能進行分析的資料

缺失值 異常值 不一致的值 重複的資料 含有特殊符號的資料(&%¥)

資料缺失值分析

刪除 可能值進行插補 不處理

簡單的統計量的分析

資料應該有實際意義,手工去除不符合實際的資料

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,輸出所有滿足的答案。對於這個問題,使用二重迴圈列舉序列中的數,是比較直...