ホームページ >バックエンド開発 >Python チュートリアル >Python のデータ処理と視覚化についての深い理解

Python のデータ処理と視覚化についての深い理解

WBOY
WBOY転載
2022-03-21 17:43:432314ブラウズ

この記事では、python に関する関連知識を提供します。主に、NumPy の予備的な使用、Matplotlib パッケージの使用、データ統計のビジュアル表示など、データ処理と視覚化に関する関連問題を紹介します。皆さんのお役に立てば幸いです。

Python のデータ処理と視覚化についての深い理解

推奨学習: python チュートリアル

1. NumPy の予備使用

テーブルはデータの一般的な表現です表形式ですが、機械にとっては理解できない、つまり認識できないデータなので、テーブルの形式を調整する必要があります。
一般的に使用される機械学習表現はデータ行列です。
Python のデータ処理と視覚化についての深い理解
この表を観察したところ、マトリックスには 2 つのタイプの属性があることがわかりました。1 つは数値タイプで、もう 1 つはブールタイプです。そこで、このテーブルを記述するモデルを構築します。

#  数据的矩阵化import numpy as np
data = np.mat([[1,200,105,3,False],[2,165,80,2,False],[3,184.5,120,2,False],
              [4,116,70.8,1,False],[5,270,150,4,True]])row = 0for line in data:
    row += 1print( row )print(data.size)print(data)

ここのコードの最初の行は、NumPy を導入し、その名前を np に変更することを意味します。 2 行目では、NumPy の mat() メソッドを使用してデータ行列を作成します。row は行数を計算するために導入された変数です。
ここでのサイズは 5*5 のテーブルを意味します。データを直接印刷することでデータを確認できます:
Python のデータ処理と視覚化についての深い理解

2. Matplotlib パッケージの使用 – グラフィカル データ処理

引き続き上の表を見てみましょう。2 番目の列は住宅価格の違いです。違いを直感的に見るのは簡単ではありません (数字しかないため)。なので、それを図で示したいと思います (Research The数値的な差異や異常を検出する方法は、データの分布を描画することです ):

import numpy as npimport scipy.stats as statsimport pylab
data =  np.mat([[1,200,105,3,False],[2,165,80,2,False],[3,184.5,120,2,False],
              [4,116,70.8,1,False],[5,270,150,4,True]])coll = []for row in data:
    coll.append(row[0,1])stats.probplot(coll,plot=pylab)pylab.show()

このコードの結果、グラフが生成されます:
Python のデータ処理と視覚化についての深い理解
見てください、違いがあります。

座標グラフの要件は、さまざまな行と列を通じてデータの特定の値を表示することです。
もちろん、座標図を表示することもできます:
Python のデータ処理と視覚化についての深い理解Python のデータ処理と視覚化についての深い理解

3. 深層学習の理論的手法 - 類似度計算 (スキップ可能)

類似度計算方法は多数ありますが、最もよく使用される 2 つの計算方法、つまりユークリッド類似度計算とコサイン類似度計算を選択します。

1. ユークリッド距離に基づく類似度計算

ユークリッド距離は、3 次元空間内の 2 点間の真の距離を表すために使用されます。この公式は誰もが知っていますが、その名前を聞くことはめったにありません:
Python のデータ処理と視覚化についての深い理解
それでは、実際の応用例を見てみましょう:
この表は、3 人のユーザーによるアイテムの評価を示しています:
Python のデータ処理と視覚化についての深い理解
d12 はユーザー 1 とユーザー 2 の類似性を表し、次のようになります。
Python のデータ処理と視覚化についての深い理解
同様に、d13:
Python のデータ処理と視覚化についての深い理解
ユーザー 2 は次のとおりであることがわかります。ユーザー 1 に似ています (距離が小さいほど、類似性は高くなります)。

2. コサイン角に基づく類似度の計算

コサイン角の計算の開始点は、夾角の差です。
Python のデータ処理と視覚化についての深い理解
Python のデータ処理と視覚化についての深い理解
ユーザー 3 と比較すると、ユーザー 2 はユーザー 1 に似ていることがわかります (2 つのターゲットが似ているほど、形成される角度が小さくなります)

4. データ統計の視覚的表示 (例として亳州市の降水量を取り上げます)

データの四分位数

四分位数は統計です中央値スコア データを小さいものから大きいものまで並べて 4 等分し、その 3 つの分割点のデータが四分位になります。
第 1 四分位 (Q1)下位四分位 とも呼ばれます;
第 2 四分位 (Q1)中央値 とも呼ばれます;
第 3 四分位 (Q1)下位四分位 ;

第 3 四分位と第 1 四分位の間のギャップは次のとおりです。 4 ポイント ギャップ (IQR) とも呼ばれます。

若n为项数,则:
Q1的位置 = (n+1)*0.25
Q2的位置 = (n+1)*0.50
Q3的位置 = (n+1)*0.75

四分位示例:
关于这个rain.csv,有需要的可以私我要文件,我使用的是亳州市2010-2019年的月份降水情况。

from pylab import *import pandas as pdimport matplotlib.pyplot as plot
filepath = ("C:\\Users\\AWAITXM\\Desktop\\rain.csv")# "C:\Users\AWAITXM\Desktop\rain.csv"dataFile = pd.read_csv(filepath)summary = dataFile.describe()print(summary)array = dataFile.iloc[:,:].values
boxplot(array)plot.xlabel("year")plot.ylabel("rain")show()

以下是plot运行结果:
Python のデータ処理と視覚化についての深い理解
这个是pandas的运行
Python のデータ処理と視覚化についての深い理解
这里就可以很清晰的看出来数据的波动范围。
可以看出,不同月份的降水量有很大差距,8月最多,1-4月和10-12月最少。

那么每月的降水增减程度如何比较?

from pylab import *import pandas as pdimport matplotlib.pyplot as plot
filepath = ("C:\\Users\\AWAITXM\\Desktop\\rain.csv")# "C:\Users\AWAITXM\Desktop\rain.csv"dataFile = pd.read_csv(filepath)summary = dataFile.describe()minRings = -1maxRings = 99nrows = 11for i in range(nrows):
    dataRow = dataFile.iloc[i,1:13]
    labelColor = ( (dataFile.iloc[i,12] - minRings ) / (maxRings - minRings) )
    dataRow.plot(color = plot.cm.RdYlBu(labelColor),alpha = 0.5)plot.xlabel("Attribute")plot.ylabel(("Score"))show()

结果如图:
Python のデータ処理と視覚化についての深い理解
可以看出来降水月份并不规律的上涨或下跌。

那么每月降水是否相关?

from pylab import *import pandas as pdimport matplotlib.pyplot as plot
filepath = ("C:\\Users\\AWAITXM\\Desktop\\rain.csv")# "C:\Users\AWAITXM\Desktop\rain.csv"dataFile = pd.read_csv(filepath)summary = dataFile.describe()corMat = pd.DataFrame(dataFile.iloc[1:20,1:20].corr())plot.pcolor(corMat)plot.show()

结果如图:
Python のデータ処理と視覚化についての深い理解
可以看出,颜色分布十分均匀,表示没有多大的相关性,因此可以认为每月的降水是独立行为。

今天就记录到这里了,我们下次再见!希望本文章对你也有所帮助。

推荐学习:python学习教程

以上がPython のデータ処理と視覚化についての深い理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。