首页 > 解决方案 > 为多个 CSV 文件实现 SVM

问题描述

我想知道是否可以有多个用于培训的 CSV 文件和一个用于测试的文件。

例如,我得到了四个 CSV 文件,其中包含 8 列数据,其中一个用于标签,这与我所有的 4 个 CSV 训练文件不同。

有了所有这些数据,我想测试一个 test.scv 文件,它只包含 8 列数据,并在同一个文件中添加预测标签。(不知道如何)

我设法只为一个用于测试和培训的 CSV 文件执行此操作这是以下代码:

svm_data = pd.read_csv('excel1.csv')


classifcator=svm_data[['alpha','beta','gama','teta','low_alpha','high_alpha','low_beta','high_beta']]

X=np.asarray(classifcator)

y=svm_data['label']

from sklearn.model_selection import train_test_split

# here not sure how to train_test_split with multiple csv files and one for training
X_train, X_test,y_train,y_test=train_test_split(X, y, test_size=0.2) 

from sklearn import preprocessing

X_train = preprocessing.scale(X_train)
X_test = preprocessing.scale(X_test)

classifier=SVC(kernel='linear')   

classifier.fit(X_train,y_train)


Y_predict = classifier.predict(X_test)


print(classification_report(y_test,Y_predict))

如果可能的话,我只需要一个用于训练的多个 csv 文件的示例。感谢您的时间。

标签: pythoncsvsvm

解决方案


train_test_split用于将一组数据拆分为训练/测试数据 - 如果您已经将其按文件分隔,则只需分别读取每个文件以创建您的训练/测试数据集并且不要使用该功能。


推荐阅读