機械学習モデルをトレーニングするには、現在のユーザーと以前のユーザーのバランスの取れた数で構成されるユーザーのサンプルを取得する必要があります。データベースは、テーブルall_usersとformer_usersで構成されています。
不均衡なサンプル(100レコード)の場合、次のクエリは目的の列を持つレコードを返します。
SELECT t1.user_property1, t2.user_property2, t3.valid_to FROM additional_info t1 LEFT JOIN all_users t2 ON t1.user_ID = t2.user_ID LEFT JOIN former_users t3 ON t1.user_ID = t3.user_ID ORDER BY random() LIMIT 100
バランスの取れたサンプルを取得するには、テーブルformer_usersに格納されているユーザーの半分のレコードと、同時にテーブルformer_usersにないテーブルall_usersの半分のレコードが必要です(そうでない場合、サンプルはバランスが取れていません)。
誰かが知っていますか、テーブルadditional_infoからの追加のプロパティに沿ってテーブルall_usersとformer_usersからバランスの取れたランダムサンプルを取得するための最も便利な方法は何ですか?
ありがとうございました!