测试和培训sklearn

时间:2017-08-19 10:45:44

标签: python scikit-learn svm sklearn-pandas

我正在开发Point Cloud项目。我有大约90个3D点云图像。在对我的数据进行所有预处理工作之后,我使用PCA来降低维数,并且我获得的输出是2D(当我绘制这些主要组件时,我得到了我的图像)。

现在,我正在尝试将此主要组件提供给SVM进行分类。到目前为止,我已经使用了代码(可行):

import os
import glob
import pandas as pd
import numpy as np
from sklearn.svm import SVC

path = "/home/me/Desktop/pca-comma-seperated-csv" #path to my pca'd files 
all_files = glob.glob(os.path.join(path, "*.csv"))

df_from_each_file = (pd.read_csv(f) for f in all_files) #creating dataframe from 90 csv files,each csv file containing 2 columns and upto 23000 columns

X   = pd.concat(df_from_each_file, ignore_index=True)
classfile = "/home/me/Desktop/1.csv" #path to my label file
Y = pd.read_csv(classfile, header=1)
clf = SVC()
clf.fit(X, Y)

现在回答我的问题,如何将我的数据分成培训(70%)和测试(30%)。我将什么(测试或培训框架)提供给SVM进行分类?我如何在python中获得类似下面示例中的R的混淆矩阵?

示例:

      truth
pred       abnormal normal
abnormal      231     32
normal         27     54

           Accuracy : 0.8285
             95% CI : (0.7844, 0.8668)
No Information Rate : 0.75
P-Value [Acc > NIR] : 0.0003097

              Kappa : 0.5336
 Mcnemar's Test P-Value : 0.6025370

        Sensitivity : 0.8953
        Specificity : 0.6279
     Pos Pred Value : 0.8783
     Neg Pred Value : 0.6667
         Prevalence : 0.7500
     Detection Rate : 0.6715
   Detection Prevalence : 0.7645

   'Positive' Class : abnormal

0 个答案:

没有答案
相关问题