View
841
Download
0
Category
Preview:
Citation preview
機械学習で使えるデータ可視化ライブラリ〜 goodbye matplotlib 〜Bizreach データサイエンス部 大西 佑紀
自己紹介大西 佑紀株式会社ビズリーチ データサイエンス部 AI チーム所属
2014/04 野村総合研究所 金融基盤サービス部 インフラエンジニア2015/05 株式会社ビズリーチ サーバサイドエンジニア (Java)2016/02 株式会社ビズリーチ データサイエンス部
機械学習歴 3 ヶ月くらい。ひよっこ。【最近の業務】• Bizreach 検索キーワード提案システムの開発• Careertrek レコメンドシステムの開発• 社内 KPI ダッシュボードシステムの保守、新システム導入等【学生時代】経営工学 (Operations Research) の研究
Bizreach の紹介
Bizreach について
ヘッドハンター様
採用企業様
求職者様
マッチング
データサイエンス部の紹介• 機械学習専門のエンジニア組織• 専門的な知識が問われる企画の段階から入り、プロトタイプ開発までを一貫して行う• 共通言語は Python
突然ですが。。。
最近こんなものを読みました。
http://1onjea25cyhx3uvxgs4vu325.wpengine.netdna-cdn.com/wp-content/uploads/2014/12/UdacityUltimateSkillChecklistForYourFirstDataAnalystJob.pdf
データ分析者の必要スキルチェックリスト
データ分析従事者必須スキル
Communication and Data Visualization
seaborn????
Python のデータ可視化ライブラリといえば…
ただ…• ダサい• 複雑な図を書こうと思うと結構面倒くさい• 総じて辛い( 個人の感想です )
というわけで、今日は• matplotlib は辛いですよね、 seaborn 使いましょうという話をします。• seaborn の基本的な使い方・美しさ・ちょっとしたハマりポイントの紹介• 機械学習ガリガリのアルゴリズムの話は他の優秀な登壇者の方々がしてくれるはずです。
改めて seaborn とは ????
• matplotlib のラッパーライブラリ• pandas との連携がスムーズ• 簡単に美しいグラフ描画• https://stanford.edu/~mwaskom/software/sea
born/index.html– スタンフォードドメインかっこいい
• https://github.com/mwaskom/seaborn– つい最近もコミットあるみたい
Gallery 比較 (seaborn)
Gallery 比較 (matplotlib)
Gallery 比較 (matplotlib)
謎のおじさん
絶妙にダサい色使い
グラフを描いてみよう
分析対象のデータ ( 一部違うデータも使います )
支払金額とチップの相関データ。性別、喫煙非喫煙などのカテゴリ。
jointplot
jointplot
• 一行でかけちゃう• Data source を Pandas dataframe で指定• x 軸 , y 軸を dataframe のカラム名で指定
g = sns.jointplot(x="total_bill", y="tip", data=tips, kind="reg")
distplot
distplot
• 一行でかけちゃう。• 曲線もデフォルトで入れてくれる。• Data source を Pandas Series で指定。x = tips["total_bill"] # Series 取得g = sns.distplot(x)
barplot
barplot
• 一行でかけちゃう。• Data source を DataFrame で指定。• カテゴリ別の bar を hue で指定。ax = sns.barplot(x="day",
y="total_bill", hue="sex", data=tips,
estimator=sum)
countplot
countplot
• 一行でかけちゃう。• Data source を DataFrame で指定。• カウントするカテゴリ変数のカラム名指定。
ax = sns.countplot(x="sex", data=tips)
pointplot
pointplot
• デフォルトで信頼区間を表示 (消せる )
• hue でカテゴリ別に描画• 何かと良く使う気がする。
ex = sns.load_dataset("exercise")g = sns.pointplot(x="time",
y="pulse", hue="kind", data=ex)
pairplot
pairplot
• 超便利• Hue でカテゴリ別に色分けax = sns.pairplot(iris, hue="species")
heatmap
heatmap
• DataFrame を pivot してから描画• なにかと使うflights = sns.load_dataset("flights")flights_piv = flights.pivot("month",
"year", "passengers")ax = sns.heatmap(flights_piv)
その他ちょっとつまづいたこと• 累積 bar グラフ barplot の estimator=sum を引数で指定する• ラベルの日本語指定• カテゴリ変数のラベル順序 (sex = [“male”,
“female”])• 図の内容を消去したい場合
plt.clt() ,plt.show()
ありがとうございました
Recommended