web-dev-qa-db-ja.com

トレーニングとテストのために.csvファイルからデータセットを分割するにはどうすればよいですか?

Python=を使用しています。インポートした.csvデータを2つの部分に分割する必要があります。トレーニングとテストセット、E.G 70%トレーニングと30%テストです。

'list' object is not callableなど、さまざまなエラーが発生し続けます。

これを行う簡単な方法はありますか?

ありがとう

編集:

コードは基本的なもので、データセットを分割するだけです。

from csv import reader
with open('C:/Dataset.csv', 'r') as f:
    data = list(reader(f)) #Imports the CSV
    data[0:1] ( data )

TypeError: 'list' object is not callable

6
Midi

pandasを使用できます:

import pandas as pd
import numpy as np

df = pd.read_csv('C:/Dataset.csv')
df['split'] = np.random.randn(df.shape[0], 1)

msk = np.random.Rand(len(df)) <= 0.7

train = df[msk]
test = df[~msk]
16
zipa

df.sampleを使用することをお勧めします。

from numpy.random import RandomState
import pandas as pd

df = pd.read_csv('C:/Dataset.csv')
rng = RandomState()

train = df.sample(frac=0.7, random_state=rng)
test = df.loc[~df.index.isin(train.index)]
3
Flair

pandasモジュールからのread_csv ()関数を使用する必要があります。すべてのデータを直接データフレームに読み込み、データをさらにトレーニングしてテストするために使用できます。同様に、scikit-learnモジュールの train_test_split() 関数を使用できます。

3
dr_dronych