見出し画像

Pairsをpythonで分析してみた〜プロフィールデータ編〜

はじめに

まだpythonを勉強しているときのこと、こんなツイートがタイムラインに飛び込んできました。

スケベサイエンティストを目指す者として、勝手ながらアニキと崇めているDaiさん。そのDaiさんがPairsのデータ分析に挑戦するも、挫折したと目にしました。「よおし、それだったら俺がやるしかないっしょ!」とわたしくがこの度挑戦してみることとしました。

環境

主に利用したライブラリとなります。

・python 3.7.0
今回使用したプログラミング言語python 3.7.0

・jupyter notebook
プログラムを実行し、結果を記録しながら、分析をするためのツール

・pandas
データの読み込みや統計量の表示など、データ分析に簡単にするためのライブラリ

・mysql
収集したデータを格納するためのデータベース

・selenium
Pairsのサイトでデータを収集する際に使用するライブラリ

・numpy
数値計算を効率的に行うためのライブラリ

・matplotlib
グラフ描画ツール

・seaborn
matplotlibの機能をより美しく、またより簡単に実現するためのライブラリ

データを集める

Pairsにアクセスし、データを収集し、データベースへ格納します。データ収集前に必要なログインについてはこちらを参照ください。詳細なコードについてはここに載せないこととします。もし、わからないことがありましたら、問い合わせください。

可視化

収集したデータをmatplotlibを使用して、データの関係性を可視化していきます。全ての項目をグラフにするとかなり冗長になってしまいます。そのため、私の独断と偏見で厳選して紹介します。

対象データ

性別:女性
年齢:21~38歳
件数:全年齢ランダムに1000件収集。よって、総データ件数は18,000件

女性ユーザーが獲得したいいね数の分布

はじめに、まずご紹介するのが女性ユーザーが獲得したいいね数のヒストグラムです。縦軸はユーザー数をカウントしたものとなり、横軸はユーザーが獲得したいいね数となります。約70%の女性がいいね数100以下ということがこのグラフからわかります。これから紹介するグラフを見る際には、これを基準に見てくださいね。

いいね - 職業

客室乗務員が全職業の中で堂々の一位。続いて薬剤師、医師、秘書、建築関連、受付となりました。男なら一度は付き合ってみたいと思ったことが人生ではあろうCAがぶっちきりの結果は納得できますね。全体を俯瞰してみると、収入が多そうな職業の人気が比較的に高めかなと思います。

いいね - 年収

意外にも年収が高い女性がいいねを多く獲得している傾向がありました。1000万未満の年収だとどれも結果的に変わりませんでした。女性も年収1000万稼げば男性からのアプローチが増えるかもしれませんね。

いいね - 身長

170cm以上の女性がいいねを若干多く獲得し、140cm台の女性のいいねが少ないですね。しかし、170cm以上の女性は数が少ないため、データの信頼性は高くありません。身長はいいねを多く獲得するために必要な要素ではないように見えます。

いいね - 体型

はっきりと3つのタイプ「グラマー」、「スリム」、「やや細め」が多くのいいねを獲得しています。男性は「細め」もしくは「巨乳」が好きということなんでしょうね。女性はこのスタイルに近づけていくことがPairsで勝つために必要なことなんでしょう。

いいね - 結婚ステータス

これはある意味想像通りの結果ではないでしょうか。未婚が一番いいねを獲得しています。気になるのは未記入のいいねが少ないことですね。結婚ステータスについては未記入だと男性に良く思われない傾向があるようです。

いいね - 子どもの有無

これも想像通りの結果となりました。子どもがいない女性がいいねを多く獲得しているようです。しかし、結婚ステータスと異なるのは未記入もなしとほぼ同じ程度のいいねを獲得していることです。

いいね - デート費用

この結果は個人的にはすごく意外でした。男性が全て払うが一番多くいいねを獲得しています。これは男性が全て払うを選択できる女性に素敵な方が多いのかなと思います。なので、誰しもがこれを選べばいいねを多く獲得できるってことはないのかなぁと思います。

いいね - 年齢

分析する前は男性は女性は若ければ若いほど良いと思っていました。しかし、蓋を開けてみると24~27歳が一番いいねが多く獲得しています。28歳からは年齢を一つ重ねるにつれていいねの数が減少していっています。この結果は女性の年齢を気にする男性が多いことをはっきりと表すものになりました。

どの年齢が一番500+いいねを獲得しているか

現在(2018年10月)Pairsではいいねを500以上獲得しているアカウントは500+と表示されます。つまり、ユーザーから確認できるいいねの最大値は500となります。その500いいねを獲得しているユーザーは各年齢で1000人あたり何人いるかを集計した棒グラフとなります。やはりここでも24~27歳の女性が500いいねを最も獲得しています。

いいね - 写真数

写真が1枚、もしくは2枚しかアップされていない女性と3枚以上の女性とでは獲得したいいねの数に大きな違いがあります。最低でも3枚以上アップすることがいいねを多く獲得するのに必要なことに見えます。

まとめ

・女性ユーザーの70%はいいね獲得数が100以下
・24~27歳の年齢層が一番いいねを獲得できる
・体型はスリムorグラマーが人気あり

次回予告

Pairsに掲載されているユーザーの顔をFace++で判定し、いいねを多く獲得している人の顔の点数が高いかを紹介。

さいごに

もし、このデータとこのデータを組み合わせて関係を調べてみたらおもしろそうじゃないというご意見、もしくはこれはこうしたほうが良いというご指摘等ありましたらご連絡ください。

R, Pythonで分析した結果のアウトプットをする場として利用しています。現時点の目標は"就職"することです。興味あること:R、 Python、 英語、そして筋トレです。