0
0

More than 1 year has passed since last update.

機械学習入門 vol.5 グラフ(Seaborn)の基本操作

Last updated at Posted at 2021-12-08

本コンテンツは機械学習入門講座を各所でやっている内容の一部を、受講者の皆様の予習・復習のために公開しているものです。対象読者は、Pythonをやったことがほとんどない方やつまづいてしまっている方でも概ね実行できるようになるレベルで書いています。解説は講座でそれなりに詳しくしているため、コードにコメントする以上の説明はあまり記述していません。

各コードはJupyterシリーズやiPythonで記述しながら実行できるように記述しています。

AI/DX/機械学習/Pythonのアドバイザリー、社内研修、セミナー等承っております。
webサイトからお問い合わせください。
BeeComb Grid株式会社

機械学習入門シリーズ記事

  1. 機械学習入門 vol.1 Pythonの基礎1 記述とデータ型 -> 講座第3回に相当
  2. 機械学習入門 vol.2 Pythonの基礎2 条件分岐と処理 -> 講座第3回に相当
  3. 機械学習入門 vol.3 Pythonの基礎3 関数・クラス・モジュール -> 講座第3回に相当
  4. 機械学習入門 vol.4 表(Pandas)の基本操作 -> 講座第3回/第4回に相当
  5. 機械学習入門 vol.5 グラフ(Seaborn)の基本操作 -> 講座第3/4回に相当
  6. 機械学習入門 vol.6 回帰 - 線形回帰 -> 講座第4回に相当
  7. 機械学習入門 vol.7 回帰 - ランダムフォレストとパラメータチューニング -> 講座第4回に相当
  8. 機械学習入門 vol.8 回帰 - その他の回帰 (k近傍法,ラッソ回帰,リッジ回帰..etc) -> 講座第4回に相当
  9. 機械学習入門 vol.9 判別(分類) -> 講座第5回に相当
  10. 機械学習入門 vol.10 次元削減 -> 講座第6回に相当
  11. 機械学習入門 vol.11 クラスタリング -> 講座第6回に相当

機械学習入門 vol.5 グラフ(Seaborn)の基本操作

import pandas as pd
import seaborn as sb

# インストールされていて利用できるGothicかMinchoのフォントを表示
import matplotlib.font_manager
for ff in matplotlib.font_manager.fontManager.ttflist:
    if "Gothic" in ff.name or "Mincho" in ff.name :
        print(ff.name)
import matplotlib as mpl
# 以下のHiragino Maru Gothic Proの部分は
# 自分の環境で表示されたフォント名に置き換えてください
mpl.rcParams['font.family'] = 'Hiragino Maru Gothic Pro'
sb.set(font=['Hiragino Maru Gothic Pro'])

本ページのプログラムは、プログラム実行ファイルと同じフォルダに下記データファイルが保存されていることを前提として書いています。ダウンロードしてご利用ください。

data.xlsx
data.csv

データを読み込んでおきます。

# Pandasでデータを読み込みます
df = pd.read_excel('./data.xlsx', sheet_name='データ')
# ラベル間違いを直しておきます。
df = df.rename(columns={"合憲点数":"合計点数"})
df

散布図

# 散布図
sb.scatterplot(x='合計点数', y='週の学習時間', data=df)

image.png

系列で色分けする場合はhueに列ラベル名を指定します。

sb.scatterplot(x='合計点数', y='週の学習時間', data=df, hue='クラス')

image.png

散布図とヒストグラム

# 散布図とヒストグラム
sb.pairplot(data=df)

image.png

sb.pairplot(data=df, hue='クラス')

image.png

散布図(回帰直線付き)

# 回帰散布グラフ
sb.lmplot(x="合計点数", y="週の学習時間", data=df)

image.png

sb.lmplot(x="合計点数", y="週の学習時間", data=df, hue="クラス")

image.png

折れ線グラフ

# 折れ線グラフ
sb.lineplot(data=df, x="週の学習時間", y="合計点数")

image.png

sb.lineplot(data=df, x="週の学習時間", y="合計点数", hue="クラス")

image.png

棒グラフ

# 棒グラフ
sb.barplot(data=df, x="週の学習時間", y="合計点数")

image.png

ヒストグラム

# ヒストグラム
sb.displot(df['国語'])

image.png

箱ひげ図

sb.boxplot(data=df, x="クラス", y="合計点数")

image.png

# 科目を系列にするためのデータ整形
df2 = df[['国語']].copy().rename(columns={"国語":"点数"})
df2["科目"] = '国語'
df3 = df[['算数']].copy().rename(columns={"算数":"点数"})
df3["科目"] = '算数'
df4 = df[['英語']].copy().rename(columns={"英語":"点数"})
df4["科目"] = '英語'
# 科目ごとの箱ヒゲ図を見てみる
df2 = df2.append(df3).append(df4)
sb.boxplot(data=df2,x="科目", y="点数")

image.png

機械学習入門シリーズ記事

  1. 機械学習入門 vol.1 Pythonの基礎1 記述とデータ型 -> 講座第3回に相当
  2. 機械学習入門 vol.2 Pythonの基礎2 条件分岐と処理 -> 講座第3回に相当
  3. 機械学習入門 vol.3 Pythonの基礎3 関数・クラス・モジュール -> 講座第3回に相当
  4. 機械学習入門 vol.4 表(Pandas)の基本操作 -> 講座第3回/第4回に相当
  5. 機械学習入門 vol.5 グラフ(Seaborn)の基本操作 -> 講座第3/4回に相当
  6. 機械学習入門 vol.6 回帰 - 線形回帰 -> 講座第4回に相当
  7. 機械学習入門 vol.7 回帰 - ランダムフォレストとパラメータチューニング -> 講座第4回に相当
  8. 機械学習入門 vol.8 回帰 - その他の回帰 (k近傍法,ラッソ回帰,リッジ回帰..etc) -> 講座第4回に相当
  9. 機械学習入門 vol.9 判別(分類) -> 講座第5回に相当
  10. 機械学習入門 vol.10 次元削減 -> 講座第6回に相当
  11. 機械学習入門 vol.11 クラスタリング -> 講座第6回に相当

AI/DX/機械学習/Pythonのアドバイザリー、社内研修、セミナー等承っております。
webサイトからお問い合わせください。
BeeComb Grid株式会社

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0