簡體   English   中英

如何從 .csv 文件中拆分數據集以進行訓練和測試?

[英]How can I split a Dataset from a .csv file for Training and Testing?

我正在使用 Python,我需要將我的 .csv 導入數據分成兩部分,一個訓練集和一個測試集,EG 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

您可以使用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]

更好的做法,也許更隨機的是使用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)]

您應該使用 pandas 模塊中的read_csv ()函數。 它將您的所有數據直接讀取到數據幀中,您可以進一步使用該數據幀將數據分解為訓練和測試。 同樣,您可以使用 scikit-learn 模塊中的train_test_split()函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM