<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Kenji Usui on Medium]]></title>
        <description><![CDATA[Stories by Kenji Usui on Medium]]></description>
        <link>https://medium.com/@kenjiusui?source=rss-1ada13ae0937------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*CEJUD6GkVYsY0Fhp.</url>
            <title>Stories by Kenji Usui on Medium</title>
            <link>https://medium.com/@kenjiusui?source=rss-1ada13ae0937------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 05:33:32 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@kenjiusui/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[データサイエンティストがよく使うグラフ]]></title>
            <link>https://medium.com/@kenjiusui/%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B5%E3%82%A4%E3%82%A8%E3%83%B3%E3%83%86%E3%82%A3%E3%82%B9%E3%83%88%E3%81%8C%E3%82%88%E3%81%8F%E4%BD%BF%E3%81%86%E3%82%B0%E3%83%A9%E3%83%95-21c41f266f6c?source=rss-1ada13ae0937------2</link>
            <guid isPermaLink="false">https://medium.com/p/21c41f266f6c</guid>
            <category><![CDATA[advent-calendar]]></category>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[visualization]]></category>
            <category><![CDATA[data]]></category>
            <category><![CDATA[graph]]></category>
            <dc:creator><![CDATA[Kenji Usui]]></dc:creator>
            <pubDate>Fri, 13 Dec 2019 02:10:11 GMT</pubDate>
            <atom:updated>2019-12-13T02:13:14.859Z</atom:updated>
            <content:encoded><![CDATA[<h3>データサイエンティストである私がよく使うグラフ</h3><p>この記事は<a href="https://adventar.org/calendars/4414">freeeデータに関わる人たち Advent Calendar 2019</a>の13日目のエントリーです。</p><p>こんにちは、freee株式会社のAIラボで機械学習を使ったサービスの開発とかしていますKenji Usuiです。今回は「データに関わる人たち」ということで機械学習ではなくデータ分析、特に可視化に関してデータサイエンティストである自分がよく使っているグラフを紹介します。</p><h3>なんで使っているグラフを紹介するのか？</h3><p>データを分析する際に可視化は極めて重要なプロセスです。テーブルデータの状態では人間は直感的に状態を理解することが困難であるからです。データをグラフに起こすことは適当にやって良いことではなく、グラフやデータの特性、求めることに応じて適切なグラフを用いる必要があります。<br>しかし、可視化の手法は数えきれないくらいたくさんあります。とはいえ、実際に現場で使うグラフはほんの一部です。そのほんの一部を紹介するとともに使うべきケースや頭に入れておくべきことを解説します。<br>データ分析をやり始めた人が可視化に困らないようなちょっとしたTIPSになれば幸いです。</p><h3>よく使うグラフ</h3><p>（以下画像を<a href="https://support.google.com/docs/?hl=ja#topic=">Googleのヘルプ</a>から引用させていただきました）</p><h4>棒グラフ</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/280/1*_PAyTykxhsBjL5JmltbRsQ.png" /></figure><p>超定番ですね。とりあえずこれ使っておけば困りません。特にカテゴリごとの値を表示するときは棒グラフを使います。<br>棒グラフを使うときは横軸と縦軸の交点は 0 である必要があります。原点を 0 以外にすると実際よりも大きな変化があるように見えてしまうためです。これを怠るとグラフ警察に捕まるのでご注意を。</p><h4>折れ線グラフ</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/280/1*YAj8nD25bmsJqCOp_dpt_w.png" /></figure><p>連続した変化を示したいときに使うグラフです。特に時系列データを扱うときによく使いますね。<br>折れ線の線は点と点の補完を意味しています。つまり点と点が連続である必要があります。なので横軸がカテゴリ変数のような場合は折れ線グラフを使ってはいけません。<br>点と点を曲線で補完する曲線グラフというものもあるのですが描かれた曲線の根拠が不明瞭なので個人的には非推奨です。</p><h4>ヒストグラム</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/280/1*RlJX9kqhKnxtl8fgnR-8Pg.png" /></figure><p>出現頻度を調べるために使います。<br>ヒストグラムはビンの大きさによって印象が大きく変わることがあるので何パターンか作ってみて見比べたほうがよいです。例えば、ビンが大きいと全体の傾向が見やすいですが細かい変化を見逃しやすいです。<br>ヒストグラムは件数が少ないとグラフの形が変になりやすいのでサンプルがある程度あるときに使いたいですね。</p><h4>100%積み上げ棒・折れ線グラフ</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/280/1*EPWFLl0TxohF3Wa0slQtfQ.png" /></figure><p>割合を示すときに使うグラフです。カテゴリのときは棒グラフ、時系列では折れ線グラフを使います。<br>詳しくは後述しますが、割合を示すときに円グラフは使うべきではないので100%積み上げグラフを使っています。こっちのほうが見やすいよね。</p><h3>たまに使うグラフ</h3><h4>ボックスプロット（ヴァイオリンプロット）</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/280/1*VVSD4DsxiFt0YvBpMYt5gQ.png" /></figure><p>複数の断面で分布を比較したいときに使うことが多いです。ヒストグラムだと並べづらいのでボックスプロットやヴァイオリンプロットを使います。ボックスプロットは分布の代表的な値が明記されるため比較がしやすく、ヴァイオリンプロットはヒストグラムとほぼ同様なので情報の欠落がなく精緻に分析するときに便利です。</p><h4>散布図</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/280/1*fNRTEq0dLTqUuiz65kDLtA.png" /></figure><p>データ点のばらつきを見るために使います。データ分析するときはカウントや割合などが多く2軸で扱うデータがあんまりないので出現頻度は低めです。あと、私が扱うデータは量が多いので散布図で表記しきれないこともありあんまり使わないです。</p><h4>コホート</h4><p>グラフというか分析方法でしょうか。時系列変化を追跡するときによく使う鉄板の可視化方法ですね。<br>「ユーザーが課金した時期によるChurn Rateの変化」みたいなものを追いかけたいときはたくさんあるはずなので、そういうときはコホート見るとかなり強力です。<br>強力なんですが案外コホートを作る機会ってそんなになかったりします。とはいえ作れないと困るのでどこかで一回くらい経験しておくと良いやつですね。</p><h3>使ってはいけないグラフ</h3><h4>3Dグラフ</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/469/1*J7Pyd72h5l5eHOvLyw3BeQ.jpeg" /></figure><p>三次元空間を示すなど一部の例外を除いて3Dグラフ、特に3D円グラフを使ってはいけません。絶対にダメです。<br>3Dグラフは遠近法により手前の系列が大きく見えるため実際の値と見た目から感じる印象が乖離してしまい相手に誤認させる可能性が高い可視化手法です。見た目の派手さから使用する人が多くいますが正しいデータを伝えるという目的から外れるため非推奨です。というか、誤認させる目的で3Dグラフを使う人が多いため非常に印象が悪いです。そのため3Dグラフを使うと “そういう人” だと誤認されて信用を無くす可能性もあります。</p><p><strong>3Dグラフ乱用 ダメ。ゼッタイ。</strong></p><p>画像引用: <a href="https://www.cresco.co.jp/blog/entry/950/">https://www.cresco.co.jp/blog/entry/950/</a></p><h4>円グラフ</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/280/1*dr8FSufzDa-AtjF6gE126A.png" /></figure><p>3D円グラフに続き、普通の円グラフも非推奨です。<br>これは人間は円グラフから割合を読み取ることが苦手だからです。そのため、割合を示すときは基本的に棒グラフなど他のグラフを用いて可視化するほうが良いです。円グラフは並べて比較することも難しいので、その観点からも使うべきではないでしょう。詳しくは下記URLが実例がありとてもわかりやすいので是非ご参照ください。</p><p><a href="https://jikitourai.net/dont-use-piechart">https://jikitourai.net/dont-use-piechart</a></p><p>可視化に用いるグラフについて利用するケースやメリット・デメリットを踏まえて紹介させていただきました。<br>人間の頭は数値から判断することが苦手な一方で視覚から騙されやすいので可視化する際はそのことに注意しながら間違った理解・判断をしないように行うことが重要です。3Dグラフや円グラフのその最たる例といえるでしょう。もちろんそれ以外のグラフでもデータのタイプや可視化して見せたいものによって適切なグラフを用いた可視化はとても重要です。</p><p>グラフの選び方で意思決定の精度も変わってきます。本記事がグラフに対する理解の助けになれば幸いです。</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=21c41f266f6c" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[機械学習活用タイミングと対象機能]]></title>
            <link>https://medium.com/@kenjiusui/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E6%B4%BB%E7%94%A8%E3%82%BF%E3%82%A4%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%A8%E5%AF%BE%E8%B1%A1%E6%A9%9F%E8%83%BD-f48ccb3eca60?source=rss-1ada13ae0937------2</link>
            <guid isPermaLink="false">https://medium.com/p/f48ccb3eca60</guid>
            <category><![CDATA[product-management]]></category>
            <category><![CDATA[日本語]]></category>
            <category><![CDATA[medium-japan]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Kenji Usui]]></dc:creator>
            <pubDate>Sat, 24 Feb 2018 13:55:58 GMT</pubDate>
            <atom:updated>2018-02-24T13:55:58.296Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DJkhSTlkwfvkwdovAu0uOw.jpeg" /></figure><h4>機械学習のプロダクトマネジメント</h4><p>機械学習は今最も注目されている技術の一つだろう。プロダクトに関わる様々な人間が機械学習をプロダクトに組み込んで革新的なことができないか考えていることは間違いない。</p><p>しかし、一方で機械学習を有効に利用できているケースはあまりにも少なく感じる。機械学習の活用できるケースは世間が考えているよりも少ないことは広く指摘されていることだ。また、データが整っていないため機械学習の学習が困難なケースも散見される。</p><p>このように技術的な観点から見た機械学習導入が上手く行かないケースは機械学習エンジニアの中では議論が進んでおり非機械学習エンジニアにも浸透しつつある。しかしプロダクトマネジメントの観点から述べられたケースは少ない。</p><p>これは私がプロダクトに機械学習を使うアイディアを取捨選択する際に気がついた共通点をまとめたものである。これからプロダクト開発に機械学習を使おうと考えている人がいたら是非一読していただきたい。</p><h4>機械学習を “いつ” “どこ” に使うべきか</h4><p>どの機能をどのくらい重視するか優先度をつけることはプロダクトマネジメントの重要な工程の一つである。リソースは常に限られている。パズルを組み立てるように、効率よく重要なものから開発していかなければならない。そのとき機械学習という歪なピースはどのように当てはめれば良いだろうか？</p><p>その指針として機械学習をプロダクトへ使うときのタイミングと機能の位置が非常に重要であることを述べたい。プロダクト開発のどのフェーズから機械学習を使い始めるべきなのか。プロダクトのどの機能に機械学習を使うべきなのか。</p><p>今、目の前に機械学習を使おうとしている課題を次のどれに当てはまるか分析してみて欲しい。</p><ul><li>プロダクトは<strong>新規</strong> or <strong>既存</strong></li><li>機能は<strong>メイン</strong> or <strong>サブ</strong></li></ul><p>この2通り vs 2通りより得られる4つのパターンについて、それぞれ機械学習の導入を検討すべきか述べる。</p><h4>新規プロダクトかつサブ機能</h4><p>はっきり言おう、このケースでは<strong>機械学習を採用するべきではない</strong>。プロダクトのコアバリューに労力をつぎ込むべきである。サブの機能に機械学習を使い始めたが最後、多くのリソースは機械学習をなだめすかすことに費やされる。</p><p>一般のプロダクト開発においてもサブ機能のイテレーションは後回しにされるものであるが、何故か機械学習を使う場合に限っては「機械学習を使いたい」という気持ちが先行するケースを散見する。</p><p>サブ機能であればルールベースや古典的なアルゴリズムでそれらを代替することを検討しよう。構造化された数値データであれば基本的な統計量を用いることで明瞭な設計に成るし、文字列なら類似度はレーベンシュタイン距離で測ることができる。これらのアイディアを飛ばして機械学習を使う必要はないだろう。少なくとも機械学習を使う場合でもこれらのケースはベンチマークとして一度計算する必要がある。</p><h4>既存プロダクトかつメイン機能</h4><p>この場合は機械学習の利用を検討するべきだろう。新規プロダクトとしてルールベースや古典的なアルゴリズムでリリースした後のイテレーションなどである。是非とも機械学習でプロダクトの価値が上昇するのか検討するべきだ。例えばAmazonがレコメンドエンジンを強化するようなものであり、ここの強化は大きな価値を生み出すだろう。</p><p>ただし、<strong>機械学習を使った機能のイテレーションが難しい</strong>ことは頭に入れておくべき重要な事項である。今まで出来ていたことが突然できなくなるケースはありえる。例えば数値上は全体精度が向上していても今まで正しく推測出来ていたものが誤って推測されるようになった場合はユーザーから見たらデグレードだ。どのような価値基準の元にイテレーションしていくのか予め議論すべきであろう。</p><h4>既存プロダクトかつサブ機能</h4><p>このケースも機械学習を検討しても良いだろう。例えばコアバリューへの投資が落ち着き周辺の性能の低さがネックになりつつあるケースは機械学習をプロダクトに使うのにちょうど良い場面である。</p><p>ただし、機械学習をむやみに用いることは厳禁である。機械学習の開発には特殊な人材が未だ必要であるし、保守・運用は他のプロダクトとは異なってくる。常に精度に目を配る必要も出てくる。</p><p><strong>目の前の課題がを要件定義やUIの問題として解決できないか</strong>検討すべきだ。機械学習は使わないで済むならそれに越したことはない。</p><h4>新規プロダクトかつメイン機能</h4><p>このケースでの機械学習の利用は十分に検討すべきだ。というのも機械学習が無くともルールベースでプロダクトとして成り立つケースが多々ある。新規プロダクトは早くリリースすることが非常に重要なので、プロダクトとして最低限のUXを確保できるならば機械学習は後のイテレーションで導入することを検討しよう。</p><p>また機械学習を使う場合でも「<strong>精度にこだわり過ぎない</strong>」ように注意する必要がある。機械学習エンジニアとして高い精度を出したい気持ちは痛いほど理解できるが、プロダクトとして最低限の精度がでるならばリリースを優先しよう。</p><p>以上4パターンに分けて機械学習の利用の是非を述べた。もちろん実際の現場では複雑に要因が絡むので単純に考えることは難しい。しかし、何事も検討するにはスタート地点が必要である。非機械学習エンジニアや非エンジニアに限らずプロダクトへ機械学習の使用を検討する際のフレームワークとなれば幸いである。</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f48ccb3eca60" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>