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