国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python熱力地圖完成的一體化案例

89542767 / 665人閱讀

  熱力地圖的適用場景有敘述數據信息和空間的集中程度上,普遍有城市熱力圖、地區熱力地圖,敘述好幾個自變量中間關聯性多少程度上,文中關鍵為大家介紹了有關python熱力地圖完成的資料,必須的小伙伴可以借鑒一下


  一、數據信息無量綱處理后的(熱力地圖)


  1.數據信息無量綱處理后的(僅詳細介紹文中需要用到的方式):min-max歸一化處理


  此方法應該是原始記錄開展線性變換,把它投射到[0,1]中間,此方法又被稱為離差規范化。

01.png

  下式中,min是樣例的極小值,max是樣例的最高值。因為最高值與極小值有可能是變化規律的,與此同時也很容易受噪音(異常點、離群點)危害,因而通常適合數據信息的畫面。除此之外,此方法也有二點益處:


  1)假如某特性/特點的標準差不大,如個子:np.array([[1.70],[1.71],[1.72],[1.70],[1.73]]),具體5條數據信息在個子這一特點上有存在差異的,但卻很薄弱,那樣不益于模型學習培訓,開展min-max歸一化處理后為:array([[0.],[0.33333333],[0.66666667],[0.],[1.]]),等同于放大差別;


  2)保持三元組中向0的內容。


  2.代碼展示


  import pandas as pd
  import numpy as np
  import matplotlib.pyplot as plt
  import seaborn as sns
  from sklearn.datasets import load_wine
  wine=load_wine()
  data=wine.data#數據
  lables=wine.target#標簽
  feaures=wine.feature_names
  df=pd.DataFrame(data,columns=feaures)#原始數據
  #第一步:無量綱化
  def standareData(df):
  """
  df:原始數據
  return:data標準化的數據
  """
  data=pd.DataFrame(index=df.index)#列名,一個新的dataframe
  columns=df.columns.tolist()#將列名提取出來
  for col in columns:
  d=df[col]
  max=d.max()
  min=d.min()
  mean=d.mean()
  data[col]=((d-mean)/(max-min)).tolist()
  return data
  #某一列當做參照序列,其他為對比序列
  def graOne(Data,m=0):
  """
  return:
  """
  columns=Data.columns.tolist()#將列名提取出來
  #第一步:無量綱化
  data=standareData(Data)
  referenceSeq=data.iloc[:,m]#參考序列
  data.drop(columns[m],axis=1,inplace=True)#刪除參考列
  compareSeq=data.iloc[:,0:]#對比序列
  row,col=compareSeq.shape
  #第二步:參考序列-對比序列
  data_sub=np.zeros([row,col])
  for i in range(col):
  for j in range(row):
  data_sub[j,i]=abs(referenceSeq[j]-compareSeq.iloc[j,i])
  #找出最大值和最小值
  maxVal=np.max(data_sub)
  minVal=np.min(data_sub)
  cisi=np.zeros([row,col])
  for i in range(row):
  for j in range(col):
  cisi[i,j]=(minVal+0.5*maxVal)/(data_sub[i,j]+0.5*maxVal)
  #第三步:計算關聯度
  result=[np.mean(cisi[:,i])for i in range(col)]
  result.insert(m,1)#參照列為1
  return pd.DataFrame(result)
  def GRA(Data):
  df=Data.copy()
  columns=[str(s)for s in df.columns if s not in[None]]#[1 2,,,12]
  #print(columns)
  df_local=pd.DataFrame(columns=columns)
  df.columns=columns
  for i in range(len(df.columns)):#每一列都做參照序列,求關聯系數
  df_local.iloc[:,i]=graOne(df,m=i)[0]
  df_local.index=columns
  return df_local
  #熱力圖展示
  def ShowGRAHeatMap(DataFrame):
  colormap=plt.cm.hsv
  ylabels=DataFrame.columns.values.tolist()
  f,ax=plt.subplots(figsize=(15,15))
  ax.set_title('Wine GRA')
  #設置展示一半,如果不需要注釋掉mask即可
  mask=np.zeros_like(DataFrame)
  mask[np.triu_indices_from(mask)]=True#np.triu_indices上三角矩陣
  with sns.axes_style("white"):
  sns.heatmap(DataFrame,
  cmap="YlGnBu",
  annot=True,
  mask=mask,
  )
  plt.show()
  data_wine_gra=GRA(df)
  ShowGRAHeatMap(data_wine_gra)


  3.效果展示

02.png

  二、皮爾斯系數相關(熱力圖)


  1.數學知識


  利用熱力圖可以看數據表里多個特征兩兩的相似度。


  相似度由皮爾遜相關系數度量。


  兩個變量之間的皮爾遜相關系數定義為兩個變量之間的協方差和標準差的商:

03.png

  2.代碼展示


  import pandas as pd
  import numpy as np
  import matplotlib.pyplot as plt
  import seaborn as sns
  #====熱力圖
  from matplotlib.ticker import FormatStrFormatter
  encoding="utf-8"
  data=pd.read_csv("tu.csv",encoding="utf-8")#讀取數據
  data.drop_duplicates()
  data.columns=[i for i in range(data.shape[1])]
  #計算兩兩屬性之間的皮爾森相關系數
  corrmat=data.corr()
  f,ax=plt.subplots(figsize=(12,9))
  #返回按“列”降序排列的前n行
  k=30
  cols=corrmat.nlargest(k,data.columns[0]).index
  #返回皮爾遜積矩相關系數
  cm=np.corrcoef(data[cols].values.T)
  sns.set(font_scale=1.25)
  hm=sns.heatmap(cm,
  cbar=True,
  annot=True,
  square=True,
  fmt=".3f",
  vmin=0,#刻度閾值
  vmax=1,
  linewidths=.5,
  cmap="RdPu",#刻度顏色
  annot_kws={"size":10},
  xticklabels=True,
  yticklabels=True)#seaborn.heatmap相關屬性
  #解決中文顯示問題
  plt.rcParams['font.sans-serif']=['SimHei']
  plt.rcParams['axes.unicode_minus']=False
  #plt.ylabel(fontsize=15,)
  #plt.xlabel(fontsize=15)
  plt.title("主要變量之間的相關性強弱",fontsize=20)
  plt.show()


  3.seaborn.heatmap屬性介紹


  1)Seaborn是基于matplotlib的Python可視化庫


  seaborn.heatmap()熱力圖,用于展示一組變量的相關系數矩陣,列聯表的數據分布,通過熱力圖我們可以直觀地看到所給數值大小的差異狀況。


  seaborn.heatmap(data,vmin=None,
  vmax=None,cmap=None,center=None,
  robust=False,annot=None,fmt='.2g',
  annot_kws=None,linewidths=0,linecolor='white',
  cbar=True,cbar_kws=None,cbar_ax=None,
  square=False,xticklabels='auto',yticklabels='auto',
  mask=None,ax=None,**kwargs)


  2)參數輸出(均為默認值)


  sns.heatmap(
  data,
  vmin=None,
  vmax=None,
  cmap=None,
  center=None,
  robust=False,
  annot=None,
  fmt='.2g',
  annot_kws=None,
  linewidths=0,
  linecolor=‘white',
  cbar=True,
  cbar_kws=None,
  cbar_ax=None,
  square=False,
  xticklabels=‘auto',
  yticklabels=‘auto',
  mask=None,
  ax=None,
  )


  3)簡單介紹


  (1)熱力地圖鍵入參數指標


  data:引流矩陣數據信息,能是numpy的二維數組(array),還可以是pandas的DataFrame。假如是DataFrame,則df的index/column信息內容會各自相匹配到heatmap的columns和rows,即df.index是熱力地圖的行業標準,df.columns是熱力地圖的列標


  (2)熱力地圖引流矩陣塊顏色數值


  vmax,vmin:各是熱力地圖色調選值最大和最小范疇,默認設置是依據data數據分析表中的選值明確


  cmap:從數據信息到色調的投射,選值是matplotlib包內的colormap名字或色調目標,或表示顏色的目錄;改主要參數初始值:依據center主要參數設定


  center:數據分析表選值有所差異時,設定熱力地圖的色調核心兩端對齊值;可設置center值,可以調節產生的圖象色調的總體濃淡;設定center數據信息時,若是有數據溢出,則手動式設定的vmax、vmin就會自動更改


  robust:默認設置選值False;假如是False,且沒設定vmin和vmax的值,熱力地圖色調投射范疇依據具備可擴展性的分位數設定,而不是靠極值點設定


  (3)熱力地圖引流矩陣塊注解主要參數


  annot(annotate的簡稱):默認設置選值False;假如是True,在熱力地圖每一個格子載入數據信息;假如是引流矩陣,在熱力地圖每一個格子載入該引流矩陣相匹配部位數據信息


  fmt:字符串數組文件格式編碼,引流矩陣上標志數的數據類型,例如保留小數點后幾個數據信息


  annot_kws:默認設置選值False;假如是True,設定熱力地圖引流矩陣上數的尺寸顏色字體,matplotlib包text類中的文字設置;


  (4)熱力地圖引流矩陣塊間間隔及間隔線主要參數


  linewidths:界定熱力地圖里“表明兩組特點聯系的引流矩陣一小塊”間的間隔尺寸


  linecolor:分割熱力地圖上每一個引流矩陣一小塊的線顏色,初始值是’white’


  (5)熱力地圖色調標尺條主要參數


  cbar:是不是在熱力地圖側面制作色調標尺條,初始值是True


  cbar_kws:熱力地圖側面制作色調標尺條時,有關文字設置,初始值是None


  cbar_ax:熱力地圖側面制作色調標尺條時,標尺條區域設置,初始值是None


  (6)square:設定熱力地圖引流矩陣一小塊樣子,初始值是False


  xticklabels,yticklabels:xticklabels操縱每列標簽名的導出;yticklabels操縱每排標簽名的導出。初始值是auto。假如是True,則是以DataFrame的字段名做為標簽名。假如是False,一般不加上行標簽名。假如是目錄,則標簽名改成頁面上給的具體內容。假如是整數金額K,即在圖中每過K個標識做一次標明。假如是auto,則全自動選擇標簽的標明間隔,將標簽名不重合的那一部分(或部分)導出


  mask:操縱某一引流矩陣塊能否顯現出來。初始值是None。假如是布爾型的DataFrame,則把DataFrame里True位置用白遮蓋掉


  ax:設定做圖的縱坐標,通常畫眾多子圖的時候需要改動不同類型的子圖的該值


  **kwargs:全部別的關鍵字參數都傳達給ax.pcolormesh。


  4效果展示

04.png

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/130259.html

相關文章

  • 京冀共建智慧供熱云服務平臺 全國首個供熱大數據中心落戶承德

    摘要:劉穎攝全國首個供熱行業大數據中心即將落戶承德。月日,承德市政府與北京熱力集團北京供銷大數據集團簽署戰略合作協議,共同建設承德市智慧供熱云服務平臺項目。在位于承德縣的德鳴大數據產業園內,工作人員正在記錄設備運行情況。 劉穎攝全國首個供熱行業大數據中心即將落戶承德。3月6日,承德市政府與北京熱力集團、北京供銷大數據集團簽署戰略合作協議,共同建設承德市智慧供熱云服務平臺項目。項目落地后,北京熱力集...

    NikoManiac 評論0 收藏0
  • 阿里云棲大會:云服務拿下數字重慶,還要布局區塊鏈服務

    摘要:預計明年能把重慶市主城區的所有停車位進行聚集,至年完成全市聯動。另外,在未來年,阿里云將聯合工信部賽迪研究院重慶南岸區政府三方打造飛象工業互聯網平臺。今天,阿里巴巴2018云棲大會·重慶峰會在重慶悅來國際會議中心舉行,本次峰會沿用了驅動數字中國的主題,重點聚焦在IoT、智能制造、云計算、大數據、人工智能等領域的探討,峰會主論壇的重點也是著重推進阿里云與重慶地區城市交通、企業、產業等數字化升級...

    frontoldman 評論0 收藏0
  • 高德地圖 Javascript API 入門(七)

    摘要:高德地圖入門七熱力圖插件簡單例子顯示地圖坐標點加載熱力圖插件預覽參數構造函數說明構造一個熱力圖插件對象,為要疊加熱力圖的地圖對象,屬性參考列表中的說明。 高德地圖 Javascript API 入門(七) 熱力圖插件 簡單例子 // 顯示地圖 var map=new AMap.Map(container,{ resizeEnable:true, center:[116....

    YuboonaZhang 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<