2015-01-08 57 views
0

我正在分析一組共享許多內在特徵的股票,並且還添加了可擴展原始數據集中的數據點的外部數據集。我有以下的數據幀,用大熊貓一個由例如:機器學習之前的基本特徵選擇或維度降低

%matplotlib inline 
import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 
#A = INTEL, #B = IBM, #C = MSFT, #D = AAPL, #E=AIG, #F=GS 
df = pd.DataFrame({'A' : ['IBM', 'INTEL', 'MSFT', 'INTEL', 
         'AAPL', 'INTEL', 'MSFT', 'IBM','INTEL','AAPL'], 
        'B' : np.random.randn(10), 
        'C' : np.random.randn(10), 
        'D' : np.random.randn(10), 
        'E' : np.random.randn(10)}) 

產生以下數據集:

enter image description here

我真正的數據集可能包含> 100層的功能(列)。問題:是否有可視化數據集顯着特徵的pythonic方式,所以我使用簡化矩陣?

回答

3

不太瞭解您的數據,但假設它是一個時間序列分析,我會嘗試在您擁有的所有功能中創建一個相關矩陣,並且可能會合並具有非常高相關性的功能。但是,使用這種方法時,您需要確保相關性能夠隨時間推移,並檢查序列相關性。

如果你想要的功能的快速可視化,我會做一個RadViz這樣的:

pd.tools.plotting.radviz(df,"A") 

產生這樣的: enter image description here

與您由數據集,我可以說,例如,消除數據庫段以下的數據點可能會減少矩陣的大小,並仍然捕獲很多功能。或者,也許你想專注於數據庫段以下的這些值,因爲它們代表了你的研究領域的異常情況等。

我還沒有在官方熊貓圖書館找到有關RadViz的許多文檔,但我覺得它很有用快速查看某些數據集的顯着特徵或作爲快速可視化數據挖掘工具。在多維數據和RadViz算法here中有一篇關於羣集識別的優秀論文。

希望我的回答有幫助。