喜多見柚の体型はどのくらい平均的なのか
喜多見柚の身長,体重,3サイズはシンデレラガールズのアイドルの平均値にかなり近い,とよく言われているので,実際にどれほど近いのか,また,他のアイドルはどうなのか,3通りの方法で定量的に確かめてみました.(統計学初心者なのでそれらの方法が妥当なのかは判断しかねますが...)
ただし,計算に当たって,プロフィールで数値を確認できないアイドルは除外しました(大沼くるみ,佐藤心,双葉杏,夢見りあむ).
環境
google colab(python3.6.8)
使ったファイルはここhttps://github.com/ysk0832/hobby
はじめに
平均値と見比べてみる。
身長 | 体重 | B | W | H | |
---|---|---|---|---|---|
平均値 | 156.23 | 43.2 | 80.88 | 56.31 | 81.24 |
喜多見柚 | 156 | 43 | 82 | 57 | 82 |
確かにほぼほぼ同じですね。
方法1:cos類似度
cos類似度は、文書の比較などによく用いられる指標です。式は簡単で内積の定義を変形しただけ。
$$\cos\theta=\frac{a \cdot b}{||a||||b||}$$
コードは以下
import numpy as np
import pandas as pd
# 関数定義
# 内積
def ip(a,b):
return (a*b).sum()
# ノルム
def norm(x):
sum=(x*x).sum()
return np.sqrt(sum)
# 類似度
def sim(a,b):
return ip(a,b)/(norm(a)*norm(b))
# csv読み込み
df=pd.read_csv("cg.csv")
# 確認
print(df)
# 平均
mean=df.mean(numeric_only=True)
# 計算結果をリストに保存
simlist=[]
for i in range(0,186):
result=sim(mean,df.iloc[i,1:6])
print(result)
simlist.append(result)
# 列を追加
df["類似度"]=simlist
# 類似度が高い順に出力
print(df.sort_values("類似度",ascending=False))
柚は3位でした.三船美優さんが2位...?!
方法2:正規化する
各列ベクトルを0-1に正規化して再びcos類似度を計算してみます.
$$\frac{x-x_{min}}{x_{max}-x_{min}}$$
# 一旦削除
df=df.drop("類似度",axis=1)
# 正規化して再計算
# 名前抜き
df_tmp=df.iloc[:,1:6]
# 正規化
df2=(df_tmp-df_tmp.min())/(df_tmp.max()-df_tmp.min())
mean2=(mean-df_tmp.min())/(df_tmp.max()-df_tmp.min())
# 計算結果をリストに保存
simlist=[]
for i in range(0,186):
result=sim(mean2,df2.iloc[i,:])
print(result)
simlist.append(result)
# 列を追加
df["類似度"]=simlist
# 類似度が高い順に出力
print(df.sort_values("類似度",ascending=False))
柚は7位.さっきと半分ほど被ってますね.
とは言っても,みんな類似度0.99超えててほとんど同じじゃないかと思ってしまいます.これはどうやら今回のデータが全て正の値なのも原因のようです.
https://cartman0.hatenablog.com/entry/2019/05/22/_cos%E9%A1%9E%E4%BC%BC%E5%BA%A6%E3%81%AE%E6%AC%A1%E5%85%83%E3%81%AE%E5%91%AA%E3%81%84
また,cos類似度はあくまでもベクトルの開き具合を見ているのであって,近い点だから類似度が高いとは一概には言えません.美優さんが2位になったのもそのためと考えられます.
ということで方法3へ.
方法3:距離
シンプルに平均値からのユークリッド距離を計算します.
df=df.drop("類似度",axis=1)
# 平均値との距離
dlist=[]
for i in range(0,186):
d=norm(df.iloc[i,1:6]-mean)
dlist.append(d)
# 列を追加
df["距離"]=dlist
# 距離が近い順に出力
print(df.sort_values("距離"))
喜多見柚1位!!!!!!
まとめ
今回は「体型が近い」の解釈の仕方によって評価指標も変わったのかなと.類似度は平均との比較というよりは,「この二人は身長はまるで違うがどちらも痩せ型である」みたいなことを知りたいときに使えばいいって感じですかね?
Author And Source
この問題について(喜多見柚の体型はどのくらい平均的なのか), 我々は、より多くの情報をここで見つけました https://qiita.com/ysk0832/items/d47dbff02d687df62efb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .