Radi_tech’s blog

Radiological technologist in Japan / MRI / AI / Deep learning / MATLAB / R / Python

【Python】機械学習用のcsvデータをtrainとtestにsplitする

Python

機械学習用のcsvデータを事前にtrainとtestにsplitする。


pandasで簡単にできる。


手順

  • CSV読み込む
  • dataframeで扱う
  • 乱数を発生(毎回同じ結果を得るためにrandom_stateを指定する)
  • 乱数に従ってデータをdropする


今回は7:3でsplit

import pandas as pd

data_path = " write your csv file path"
data = pd.read_csv(main_data_path)
data.head()


sv_fd = "write your save folder path"


train_data = data.sample(frac=0.7, random_state=100).reset_index(drop=True)
test_data= data.drop(train_data.index).reset_index(drop=True)


print('train_data for Modeling: ' + str(train_data.shape))
print('test_data for Predictions: ' + str(test_data.shape))


train_data.to_csv(os.path.join(sv_fd,"train.csv"))
test_data.to_csv(os.path.join(sv_fd,"test.csv"))