与えられたクラス\ラベル分布値に基づいてpandasデータフレームまたはグラフラブsframeをサンプリングするにはどうすればいいですか?たとえば、\ classカラムを持つデータフレームをサンプリングして、各クラスラベルは均等にフェッチされ、それによってクラスラベルの一様な分布に対応する各クラスラベルについて同様の頻度を有する。あるいは、私たちが望むクラスの分布に従ってサンプルを得ることが最善です。与えられた分布に基づいてデータフレームをサンプリングする
+------+-------+-------+ | col1 | clol2 | class | +------+-------+-------+ | 4 | 45 | A | +------+-------+-------+ | 5 | 66 | B | +------+-------+-------+ | 5 | 6 | C | +------+-------+-------+ | 4 | 6 | C | +------+-------+-------+ | 321 | 1 | A | +------+-------+-------+ | 32 | 432 | B | +------+-------+-------+ | 5 | 3 | B | +------+-------+-------+ given a huge dataframe like above and the required frequency distribution like below: +-------+--------------+ | class | nostoextract | +-------+--------------+ | A | 2 | +-------+--------------+ | B | 2 | +-------+--------------+ | C | 2 | +-------+--------------+
上記周波数カウント値が各クラスは、最大で2回表示され、サンプリングフレームを与えるnostoextract列に示されている第二のフレームに与えられた周波数分布に基づいて第1データフレームから行を抽出しなければなりません。 cantが必要な数を満たすのに十分なクラスを見つけた場合は、無視して続行する必要があります。結果として生じるデータフレームは、決定木ベースの分類器に使用される。
解説者は、サンプリングされたデータフレームには、対応するクラスの異なるインスタンスを別々に抽出する必要がありますか?与えられたクラスのための十分な例がない場合を除いて、利用可能なすべてのものを取るだけです。
達成したいことのいくつかの例を追加できますか?そして、あなたは 'pandas.DataFrame.sample'を見ましたか? (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sample)。html) –
@ chris-scはいクラス列 – stackit
に基づいてサンプルを作成することはできません。すべてのクラスラベルができるだけ十分に表現されるように、歪んだデータフレームをサンプリングしたいと考えています。クラスラベルは「ラベル」列にあります。これは分類器に送られる。 @ chris-sc – stackit