from sklearn
import svm
from sklearn
.model_selection
import train_test_split
from sklearn
.model_selection
import KFold
from sklearn
.metrics
import classification_report
import pandas
as pd
import numpy
as np
data
= pd
.read_csv
('./data.csv')
print(data
.columns
)
print(data
.head
(2).values
)
print(data
.index
)
data_pos
= data
[data
['label.1'] == 1].reindex
(range(994)).fillna
(value
=0)
data_neg
= data
[data
['label.1'] == 0].reindex
(range(994)).fillna
(value
=0)
kfold
= KFold
(n_splits
=5,random_state
=20)
print(len(data_pos
))
print(len(data_neg
))
for train_idx
, test_idx
in kfold
.split
(data_pos
,data_neg
):
train_pos_features
= data_pos
.loc
[train_idx
].values
train_neg_features
= data_neg
.loc
[train_idx
].values
train_features
= np
.concatenate
([train_pos_features
,train_neg_features
],axis
=0)[:,1:-1]
train_pos_label
= data_pos
.loc
[train_idx
]['label.1'].values
train_neg_label
= data_neg
.loc
[train_idx
]['label.1'].values
train_label
= np
.concatenate
([train_pos_label
,train_neg_label
],axis
=0)
print(train_label
)
test_pos_features
= data_pos
.loc
[test_idx
].values
test_neg_features
= data_neg
.loc
[test_idx
].values
test_features
= np
.concatenate
([test_pos_features
,test_neg_features
],axis
=0)[:,1:-1]
test_pos_label
= data_pos
.loc
[test_idx
]['label.1'].values
test_neg_label
= data_neg
.loc
[test_idx
]['label.1'].values
test_label
= np
.concatenate
([test_pos_label
,test_neg_label
],axis
=0)
classifier
= svm
.SVC
(C
=2,gamma
=10)
classifier
.fit
(train_features
,train_label
)
pred_y
= classifier
.predict
(test_features
)
report
= classification_report
(test_label
,pred_y
)
with open('./report.txt','a',encoding
='utf-8') as f
:
f
.write
(report
)
转载请注明原文地址: https://mac.8miu.com/read-503191.html