私はCSVファイルを使用しており、ドキュメント間の類似度を計算するコードを持っています。投稿 1 コードを提供し、データと出力の詳細を以下に示します。
Data.csvは次のようになります。
idx messages
112 I have a car and it is blue
114 I have a bike and it is red
115 I don't have any car
117 I don't have any bike
出力は次のとおりです。
id 112 114 115 117
id
112 100.0 78.0 51.0 50.0
114 78.0 100.0 47.0 54.0
115 51.0 47.0 100.0 83.0
117 50.0 54.0 83.0 100.0
次に、同一性データ(100.0)を使用せずに、類似性マトリックスの下三角の平均と標準偏差を計算します(上と下の両方が類似しているため)。
私はパンダ組み込みの平均と標準を使用しようとしました:
df_std = df.std()
df_Mean = df.mean()
ただし、これは、アイデンティティや上三角など、出力内のすべてのデータを考慮します。
私が述べた方法で平均と標準偏差を計算できる方法があるかどうか知りたいのですが。
不要な値をすべてマスクしてnp.nan
df.values[np.triu_indices_from(df.values,0)]=np.nan
df.mean()
112 59.666667
114 50.500000
115 83.000000
117 NaN
dtype: float64
df.std()
112 15.885003
114 4.949747
115 NaN
117 NaN
dtype: float64
値をマスクした後
df
112 114 115 117
112 NaN NaN NaN NaN
114 78.0 NaN NaN NaN
115 51.0 47.0 NaN NaN
117 50.0 54.0 83.0 NaN