1. 程式人生 > >python異常值檢測與相關係數

python異常值檢測與相關係數

下面對不同年月的銷售量進行異常值檢測。部分資料如下:
這裡寫圖片描述

程式碼如下:

#-*- coding: utf-8 -*-
import pandas as pd

catering_sale = '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() #畫箱線圖,直接使用DataFrame的方法 x = p['fliers'][0].get_xdata() # 'flies'即為異常值的標籤 print x y = p['fliers'][0].get_ydata() print y y.sort() #從小到大排序,該方法直接改變原物件 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() #展示箱線圖

結果如下:
x:[ 1. 1. 1. 1. 1. 1. 1. 1.]
y:[ 51. 865. 22. 60. 6607.4 4060.3 9106.44 4065.2 ]
異常值點就輸出了。
箱線圖略。。。。。

下面計算菜的相關係數,資料如下所示:

日期  百合醬蒸鳳爪  翡翠蒸香茜餃  金銀蒜汁蒸排骨 樂膳真味雞   蜜汁焗餐包   生炒菜心    鐵板酸菜豆腐
2015/1/1    17  6   8   24  13  13  18
2015/1/2    11  15  14  13  9   10  19
2015/1/3    10  8   12  13  8   3   7
2015/1/4    9   6   6   3   10  9   9
2015/1/5    4   10  13  8   12  10  17
2015/1/6    13  10  13  16  8   9   12
2015/1/7    9   7   13  8   5   7   10
2015/1/8    9   12  13  6   7   8   6
2015/1/12   6   8   8   3       4   5
2015/1/13   9   11  13  6   8   7   6
2015/1/14   6   7   8   9   4   7   8
2015/1/15   5   9   4   7   8   9   15
2015/1/16   9   7   11  9   11  8   14
2015/1/17   10  8   10  6   14  13  16
2015/1/18   13  12  12  10  9   11  8
2015/1/19   4   8   12  11  9   7   10
2015/1/20   6   12  10  9   11  4   8
2015/1/21   9   15  4   12  7   9   1
2015/1/22   3   10  13  13  13  8   13

程式碼直接利用pd讀取計算相關係數:

#-*- coding: utf-8 -*-
#餐飲銷量資料相關性分析
from __future__ import print_function
import pandas as pd

catering_sale = 'catering_sale_all.xls' #餐飲資料,含有其他屬性
data = pd.read_excel(catering_sale, index_col = u'日期') #讀取資料,指定“日期”列為索引列

data.corr() #相關係數矩陣,即給出了任意兩款菜式之間的相關係數
print (data.corr()[u'百合醬蒸鳳爪']) #只顯示“百合醬蒸鳳爪”與其他菜式的相關係數
print (data[u'百合醬蒸鳳爪'].corr(data[u'翡翠蒸香茜餃'])) #計算“百合醬蒸鳳爪”與“翡翠蒸香茜餃”的相關係數

結果:

百合醬蒸鳳爪     1.000000
翡翠蒸香茜餃     0.009206
金銀蒜汁蒸排骨    0.016799
樂膳真味雞      0.455638
蜜汁焗餐包      0.098085
生炒菜心       0.308496
鐵板酸菜豆腐     0.204898
香煎韭菜餃      0.127448
香煎羅卜糕     -0.090276
原汁原味菜心     0.428316
Name: 百合醬蒸鳳爪, dtype: float64
0.00920580305184

相關推薦

python異常檢測相關係數

下面對不同年月的銷售量進行異常值檢測。部分資料如下: 程式碼如下: #-*- coding: utf-8 -*- import pandas as pd catering_sale =

Python數據分析基礎】: 異常檢測和處理

是否 以及 結合 分析 開發者 上下 理解 統計學方法 數據分析 在機器學習中,異常檢測和處理是一個比較小的分支,或者說,是機器學習的一個副產物,因為在一般的預測問題中,模型通常是對整體樣本數據結構的一種表達方式,這種表達方式通常抓住的是整體樣本一般性的性質,而那些在這

python 機器學習實戰:信用卡欺詐異常檢測

    今晚又實戰了一個小案例,把它總結出來:有些人利用信用卡進行詐騙等活動,如何根據使用者的行為,來判斷該使用者的信用卡賬單涉嫌欺詐呢?資料集見及連結:  在這個資料集中,由於原始資料有一定的隱私,因此,每一列(即特徵)的名稱並沒有給出。     一開始,還是匯入庫:

R中異常檢測

data1=complete.cases(selectdata) #布林判斷 # true代表1,false代表0 sum(complete.cases(selectdata)) #完整資料200條 sum(!complete.cases(selectdata)) #不完整資料1條 m

28、python計算多序列間相關係數相關程度

線性相關:主要採用皮爾遜相關係數來度量連續變數之間的線性相關強度; 線性相關係數|r    相關程度 0<=|r|<0.3       低度相關 0.3<=|r|<0.8     中度相關

一種異常檢測方法、原理 (基於箱線圖)

先介紹使用到的方法原理,也就是一種異常檢測的方法。  首先要先了解箱線圖。 箱線圖 箱線圖(Boxplot)也稱箱須圖(Box-whisker Plot),是利用資料中的五個統計量:最小值、第一四分位數、中位數、第三四分位數與最大值來描述資料的一種方法,它也可以粗略地看

異常檢測

通過分位點來進行異常值檢測: def detect_outliers(df,n,features): """ Tuckey演算法 """ outlier_indices = [] # iterate over features(columns)

iforest 異常檢測

python 的應用方式: # IsolationForest 異常值檢測;   from sklearn.ensemble import IsolationForest def use_iforest_to_get_normal_data(data):  &nbs

資料分析:異常檢測--箱型圖

在做資料分析時,我們免不了要檢查資料中的異常值,但是什麼樣的資料算作異常呢。有人說很大或者很小的值,那到底多大多小的值算異常。箱型圖就可以很好的解決這個問題。我們都知道折線圖、柱狀圖等,但很少使用過箱型圖。關於箱型圖,百度百科的解釋為: 箱形圖(Box-plot)又稱為盒須圖、盒式圖或箱線圖,是

協方差相關係數

定義: 協方差用於衡量兩個變數的總體誤差。而方差是協方差的一種特殊情況,即當兩個變數是相同的情況。 期望值分別為E[X]與E[Y]的兩個實隨機變數X與Y之間的協方差Cov(X,Y)定義為: 如果兩個變數的變化趨勢一致,也就是說如果其中一個大於自身的期望值時另外一個也

python學習----pearsonr(x,y)相關係數計算

函式:pearsonr(x,y) 功能: 計算特徵與目標變數之間的相關度 引數說明: 1)輸入:x為特徵,y為目標變數. 2)輸出:r: 相關係數 [-1,1]

【Scikit-Learn 中文文件】新異類和異常檢測

2.11. 新異類和異常值檢測 許多應用需要能夠判斷新觀測是否屬於與現有觀測相同的分佈(它是一個非線性的),或者應該被認為是不同的(這是一個異常值)。 通常,這種能力用於清理實際的資料集。 必須做出兩個重要的區別: 新奇檢測: 訓練

利用Python計算資料的Pearson相關係數

步驟一:讀取資料 # _*_ coding: utf-8 _*_ import pandas as pd import numpy as np df = pd.read_csv("D:data1.csv",index_col='user_id') 步驟二:異常資料處理(如

python-numpy-方差、相關係數

# Array of differences to mean: differences differences=versicolor_petal_length-np.mean(versicolor_petal_length) # Square the differenc

機器學習——異常檢測

機器學習——異常檢測 在生產生活中,由於裝置的誤差或者人為操作失當,產品難免會出現錯誤。然後檢查錯誤對人來說又是一個十分瑣碎的事情。利用機器學習進行異常值檢測可以讓人類擺脫檢錯的煩惱。 檢測演算法 1.選定容易出錯的\(n\)個特徵\(\{x_1^{(i)},x_2^{(i)},\ldots,x_n^

python畫熱力圖(相關係數矩陣圖)

使用熱力圖的形式展示包括相關係數矩陣圖的二維矩陣的方法,目前發現有兩個:首先是使用pandas包的函式,但是pandas包的目測,不能顯示數字?如果想試一下,可以參考https://zhuanlan.zhihu.com/p/26100511所以研究了一下第二種方法,就是用se

【特徵工程】一種異常檢測方法、原理、程式碼實現 (基於箱線圖)

先介紹使用到的方法原理,也就是一種異常檢測的方法。 首先要先了解箱線圖。 箱線圖 箱線圖(Boxplot)也稱箱須圖(Box-whisker Plot),是利用資料中的五個統計量:最小值、第一四分位數、中位數、第三四分位數與最大值來描述資料的一種方法,它也可以

個推異常檢測和實戰應用

日前,由又拍雲舉辦的大資料與 AI 技術實踐|Open Talk 杭州站沙龍在杭州西溪科創園順利舉辦。本次活動邀請了有贊、個推、方得智慧、又拍雲等公司核心技術開發者,現場分享各自領域的大資料技術經驗和心得。以下內容整理自個推資深演算法工程師令狐沖現場分享: 令狐沖(花名),個推資深演算法工程師,目前負責個推

皮爾遜相關係數 定義+python程式碼實現 (王印討論公式)

作者簡介 南京大學,簡稱南大,[1] 是一所源遠流長的高等學府。追溯學脈古為源自孫吳永安元年的南京太學,歷經多次變遷,1949年“國立中央大學”易名“國立南京大學”,翌年徑稱“南京大學”,沿用至今。南京大學是教育部與江蘇省共建的全國重點大學,國家首批“211工程”、“9

利用皮爾遜相關係數找出目標最相關的特徵(Python實現)

#coding:utf-8 #檢測各特徵和輻照度之間的相關性以及各個特徵之間的相關性 from __future__ import division import tensorflow as tf import math import csv from sklearn imp