データセットをトレーニング、検証、テストセットに分割する比率がある場合、これをPythonで行う最も正統的でエレガントな方法は何ですか?Pythonでマトリックスとリストを分割する最も正統な方法
たとえば、データを60%のトレーニング、20%のテスト、および20%の検証に分割しました。私は、それぞれ10個の特徴を持つ1000行のデータと、サイズ1000のラベルベクトルを持っています。トレーニングセットマトリックスは、サイズ(600,10)などでなければなりません。
フィーチャとラベルのリストを新しく作成すると、メモリ効率は良くないでしょうか?私はこのような何かをしたと言うことができます:
TRAIN_PORTION = int(datasetSize * tr)
VALIDATION_PORTION = int(datasetSize * va)
# Whatever is left will be for testing
TEST_PORTION = datasetSize - TRAIN_PORTION - VALIDATION_PORTION
trainingSet = dataSet[0, TRAIN_PORTION:]
validationSet = dataSet[TRAIN_PORTION,
TRAIN_PORTION + VALIDATIONPORTION:]
testSet = dataset[TRAIN_PORTION+VALIATION_PORTION, datasetSize:]
それは私に使用メモリの倍の量を残すでしょうか?
Pythonの構文が正しくないと申し訳ありません。何か助けていただきありがとうございます。
はい、あなたが行ったことは使用メモリの量を倍増させますが、あなたの行列が '(1000,10)のみであるなら、大きな問題にはならないと思います。あなたは記憶の問題にぶつかったのですか? – mitoRibo
まあまあまあまあです。しかし、私は最終的に、私がPythonを使う方法を学んだので、それぞれ約100,000のエントリとおそらく100のフィーチャを持つデータセットを使用することを知っています –