Python データ視覚化の 4 つの方法の紹介 (例付き)
この記事では、Python データ視覚化の 4 つの方法を (例とともに) 紹介します。これには一定の参考価値があります。必要な友人が参照できます。お役に立てば幸いです。
要約: この記事では、ヒート マップ、2 次元密度マップ、スパイダー マップ、およびツリー マップという 4 つの Python データ視覚化方法について説明します。
データの視覚化は、データ サイエンスまたは機械学習プロジェクトの重要な部分です。データをより深く理解するために探索的データ分析 (EDA) から始めることがよくありますが、ビジュアライゼーションの作成は、特に大規模で高次元のデータ セットの場合、問題をより明確かつ理解しやすくするのに非常に役立ちます。プロジェクトの最後には、ユーザーが理解し納得できる明確かつ簡潔で説得力のある方法で最終結果を提示できることが重要です。
以前の記事「コードを使用した Python での 5 つの迅速かつ簡単なデータ視覚化」を読んだことがあるかもしれません。この記事では、散布図、折れ線グラフ、ヒストグラム、棒グラフ、箱ひげ図という 5 つの基本的な視覚化方法を紹介しています。 。これら 5 つは、データ セットから確実に大きな利益を得ることができる、シンプルでありながら強力な視覚化方法です。この記事では、その他の 4 つのデータ視覚化手法を紹介しますが、少し複雑なので、前回の記事で紹介した基本的な手法を読んだ上で使用できます。
ヒート マップヒート マップはデータの行列表現であり、各行列値が色で表されます。異なる色は異なるレベルを表し、マトリックス インデックスは 2 つの対照的な列またはフィーチャを相互に接続します。ヒートマップは、1 つのレベルを色として直接表示できるため、複数の特徴変数間の関係を示すのに適しています。ヒート マップ内のいくつかのポイントを確認することで、各関係がデータ セット内の他の関係とどのように比較されるかを確認することもできます。色は非常に直感的であるため、シンプルな表現を提供します。
次に、コードを見てみましょう。 matplotlib ライブラリと比較して、seaborn ライブラリはより高度なチャートに使用でき、通常はより多くのコンポーネントが必要です。より多くの色、グラフィック、または変数として。 Matplotlib ライブラリはグラフの表示に使用され、numpy はデータの生成に使用され、pandas は制御に使用されます。プロットは単純な seaborn 関数呼び出しです。視覚的に特別なものを見つけた場合は、この関数を通じてカラー マップを設定することもできます。
# Importing libs importseaborn as sns import pandas aspd importnumpyasnp importmatplotlib.pyplotasplt # Create a random dataset data=pd.DataFrame(np.random.random((10,6)), columns=["Iron Man","CaptainAmerica","BlackWidow","Thor","Hulk", "Hawkeye"]) print(data) # Plot the heatmap heatmap_plot=sns.heatmap(data, center=0, cmap='gist_ncar') plt.show()
2 次元密度プロットは、1 次元バージョンを単純に拡張したものです。 2 つの変数の確率分布。以下の 2D 密度プロットを見てみましょう。右側のスケールは、色の各点の確率を表しています。データセットを見ると、最も確率が高いのは、サイズが約 0.5、速度が 1.4 程度のようです。ご覧のとおり、2D 密度プロットは、1D 密度プロットのような 1 つの変数だけではなく、2 つの変数が最も集中しているデータの領域を迅速に決定するのに最適です。 2 次元密度プロットは、出力にとって重要な 2 つの変数があり、それらが出力の分布にどのように寄与するかを理解したい場合に特に役立ちます。
Seaborn のコードは非常にシンプルなので、偏った分布を作成して紹介します。特定の色や色合いが視覚的により特徴的であると思われる場合は、オプションのパラメータのほとんどは見た目をより明確にするためのものです。
スパイダー ダイアグラムは、1 対多の関係を表示する最良の方法の 1 つです。つまり、複数の変数の値を、単一の変数またはカテゴリとは異なるものとしてプロットおよび表示できます。スパイダー ダイアグラムでは、面積と長さがいくつかの方向で変化するため、ある変数の別の変数に対する特性が明らかです。変数が複数のカテゴリでどのように積み重なっているかを確認したい場合は、それらを並べてプロットします。下の画像では、3 人の映画キャラクターのさまざまな属性を比較し、それぞれの強みがどこにあるかを簡単に確認できます。
今回は、seaborn の代わりに matplotlib を直接使用してビジュアライゼーションを作成できるようになります。各属性を円周に沿って等間隔に配置したいため、各属性の角度を計算する必要があります。計算された各角度にラベルを配置し、中心からの距離が値またはレベルに応じて異なる点として値をプロットします。最後に、わかりやすくするために、プロパティ ポイントを接続する線で囲まれた領域を半透明の色で塗りつぶします。
# Import libs import pandas aspd importseabornassns importnumpyasnp importmatplotlib.pyplotasplt # Get the data df=pd.read_csv("avengers_data.csv") print(df) """ # Name Attack Defense Speed Range Health 0 1 Iron Man 83 80 75 70 70 1 2 Captain America 60 62 63 80 80 2 3 Thor 80 82 83 100 100 3 3 Hulk 80 100 67 44 92 4 4 Black Widow 52 43 60 50 65 5 5 Hawkeye 58 64 58 80 65 """ # Get the data for Iron Man labels=np.array(["Attack","Defense","Speed","Range","Health"]) stats=df.loc[0,labels].values # Make some calculations for the plot angles=np.linspace(0, 2*np.pi, len(labels), endpoint=False) stats=np.concatenate((stats,[stats[0]])) angles=np.concatenate((angles,[angles[0]])) # Plot stuff fig=plt.figure() ax=fig.add_subplot(111, polar=True) ax.plot(angles, stats, 'o-', linewidth=2) ax.fill(angles, stats, alpha=0.25) ax.set_thetagrids(angles *180/np.pi, labels) ax.set_title([df.loc[0,"Name"]]) ax.grid(True) plt.show()
私たちは小学校の頃からツリー ダイアグラムを使ってきました。ツリー ダイアグラムは自然で直感的で説明が簡単です。直接接続されているノードは密接に関連しており、複数の接続を持つノードとは大きく異なります。下の画像では、統計に基づいて Kaggle からの
Pokemon with statsデータセットの一部をプロットしました: HP、攻撃、防御、特殊攻撃、特殊防御、速度
因此,与stats wise最匹配的Pokemon将紧密连接在一起。例如,我们看到,在顶部,Arbok和Fearow是直接连接的,而且,如果我们查看数据,Arbok总共有438个,而Fearow有442个,非常接近。但是一旦我们移动到Raticate,我们得到的总数是413,这与Arbok和Fearow的差别很大,这就是它们被分开的原因。当我们移动树的时候,基于相似性,Pokemon被分的组越来越多。在绿色组中的Pokemon相互之间比红色组中的更相似,即使没有直接的绿色连接。
对于树形图,我们实际上要使用Scipy的。在查看了数据集之后,我们将去掉字符串类型的列。我们这么做只是为了要得到正确的可视化结果,但在实践中,最好是把这些字符串转换成分类变量,为了得到更好的结果和进行比较,我们还设置了数据帧索引,以便能够适当地用它作为引用每个节点的列。最后,在Scipy中计算和绘制树形图是非常简单的事了。
# Import libs import pandas aspd frommatplotlibimportpyplotasplt fromscipy.clusterimport hierarchy importnumpyasnp # Read in the dataset # Drop any fields that are strings # Only get the first 40 because this dataset is big df=pd.read_csv('Pokemon.csv') df=df.set_index('Name') del df.index.name df=df.drop(["Type 1", "Type 2", "Legendary"], axis=1) df=df.head(n=40) # Calculate the distance between each sample Z =hierarchy.linkage(df, 'ward') # Orientation our tree hierarchy.dendrogram(Z, orientation="left", labels=df.index) plt.show()
以上がPython データ視覚化の 4 つの方法の紹介 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









VSコードはWindows 8で実行できますが、エクスペリエンスは大きくない場合があります。まず、システムが最新のパッチに更新されていることを確認してから、システムアーキテクチャに一致するVSコードインストールパッケージをダウンロードして、プロンプトとしてインストールします。インストール後、一部の拡張機能はWindows 8と互換性があり、代替拡張機能を探すか、仮想マシンで新しいWindowsシステムを使用する必要があることに注意してください。必要な拡張機能をインストールして、適切に動作するかどうかを確認します。 Windows 8ではVSコードは実行可能ですが、開発エクスペリエンスとセキュリティを向上させるために、新しいWindowsシステムにアップグレードすることをお勧めします。

VSコード拡張機能は、悪意のあるコードの隠れ、脆弱性の活用、合法的な拡張機能としての自慰行為など、悪意のあるリスクを引き起こします。悪意のある拡張機能を識別する方法には、パブリッシャーのチェック、コメントの読み取り、コードのチェック、およびインストールに注意してください。セキュリティ対策には、セキュリティ認識、良好な習慣、定期的な更新、ウイルス対策ソフトウェアも含まれます。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

VSコードでは、次の手順を通じて端末でプログラムを実行できます。コードを準備し、統合端子を開き、コードディレクトリが端末作業ディレクトリと一致していることを確認します。プログラミング言語(pythonのpython your_file_name.pyなど)に従って実行コマンドを選択して、それが正常に実行されるかどうかを確認し、エラーを解決します。デバッガーを使用して、デバッグ効率を向上させます。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

VSコードはPythonの書き込みに使用でき、Pythonアプリケーションを開発するための理想的なツールになる多くの機能を提供できます。ユーザーは以下を可能にします。Python拡張機能をインストールして、コードの完了、構文の強調表示、デバッグなどの関数を取得できます。デバッガーを使用して、コードを段階的に追跡し、エラーを見つけて修正します。バージョンコントロールのためにGitを統合します。コードフォーマットツールを使用して、コードの一貫性を維持します。糸くずツールを使用して、事前に潜在的な問題を発見します。

VSコードはMacで利用できます。強力な拡張機能、GIT統合、ターミナル、デバッガーがあり、豊富なセットアップオプションも提供しています。ただし、特に大規模なプロジェクトまたは非常に専門的な開発の場合、コードと機能的な制限がある場合があります。

VSコードでJupyterノートブックを実行するための鍵は、Python環境が適切に構成されていることを確認し、コードの実行順序がセルの順序と一致していることを理解し、パフォーマンスに影響を与える可能性のある大きなファイルまたは外部ライブラリに注意することです。 VSコードで提供されるコードの完了とデバッグ機能は、コーディング効率を大幅に改善し、エラーを減らすことができます。
