Skip to content

Latest commit

 

History

History
181 lines (153 loc) · 3.42 KB

07-03 支援向量機-分類預測.md

File metadata and controls

181 lines (153 loc) · 3.42 KB

07-03 支援向量機-分類預測

執行結果:

GitHub Logo

(1)main.py

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


#==============================
# 載入資料
#==============================
df=pd.read_csv('testSet-NOT-linearSeparable.txt', 
	sep='\t', 
	names=['feature01', 'feature02', 'label'])

# 訓練/測試資料個數(總資料100個)
numOfTraining=80	
numOfTesting=20

# 資料重新亂數排序
df=df.sample(frac=1)

# 所有資料及標籤
dfData=df[['feature01', 'feature02']]
dfLabel=df['label']

# 訓練資料及標籤
dfTrainingData=dfData.head(numOfTraining)
dfTrainingLabel=dfLabel.head(numOfTraining)

# 測試資料及標籤
dfTestingData=dfData.tail(numOfTesting)
dfTestingLabel=dfLabel.tail(numOfTesting)
	

#================
# 建立模型
#================
clf = SVC()
clf.fit(dfTrainingData, dfTrainingLabel) 

print('分類模型')
print(clf)


#==================
# 進行預測
#==================
prediction = clf.predict(dfTestingData)

print('正確標籤')
print(dfTestingLabel.as_matrix())

print('預測標籤') 
print(prediction)


#==================
# 計算正確率
#==================
correctCount=np.sum(dfTestingLabel.as_matrix()==prediction)

print('正確率')
print(correctCount/len(prediction))                 

(2)testSet-NOT-linearSeparable.txt

3.542485	1.977398	-1
3.018896	2.556416	-1
7.551510	-1.580030	-1
2.114999	-0.004466	-1
8.127113	1.274372	1
7.108772	-0.986906	-1
8.610639	2.046708	1
2.326297	0.265213	-1
3.634009	1.730537	-1
0.341367	-0.894998	-1
3.125951	0.293251	-1
2.123252	-0.783563	-1
0.887835	-2.797792	-1
7.139979	-2.329896	1
1.696414	-1.212496	-1
8.117032	0.623493	1
8.497162	-0.266649	1
4.658191	3.507396	-1
8.197181	1.545132	1
1.208047	0.213100	-1
1.928486	-0.321870	-1
2.175808	-0.014527	-1
7.886608	0.461755	1
3.223038	-0.552392	-1
3.628502	2.190585	-1
7.407860	-0.121961	1
7.286357	0.251077	1
2.301095	-0.533988	-1
-0.232542	-0.547690	-1
3.457096	-0.082216	1
3.023938	-0.057392	-1
8.015003	0.885325	1
8.991748	0.923154	1
7.916831	-1.781735	-1
7.616862	-0.217958	1
2.450939	0.744967	-1
7.270337	-2.507834	1
1.749721	-0.961902	-1
1.803111	-0.176349	-1
8.804461	3.044301	1
1.231257	-0.568573	-1
2.074915	1.410550	-1
-0.743036	-1.736103	-1
3.536555	3.964960	-1
8.410143	0.025606	1
7.382988	-0.478764	1
6.960661	-0.245353	1
8.234460	0.701868	1
8.168618	-0.903835	1
1.534187	-0.622492	-1
9.229518	2.066088	1
7.886242	0.191813	1
2.893743	-1.643468	-1
1.870457	-1.040420	-1
5.286862	-2.358286	1
6.080573	0.418886	1
2.544314	1.714165	-1
6.016004	-3.753712	1
0.926310	-0.564359	-1
0.870296	-0.109952	-1
2.369345	1.375695	-1
1.363782	-0.254082	-1
7.279460	-0.189572	1
1.896005	0.515080	-1
8.102154	-0.603875	1
2.529893	0.662657	1
1.963874	-0.365233	-1
8.132048	0.785914	1
8.245938	0.372366	1
6.543888	0.433164	1
-0.236713	-5.766721	-1
8.112593	0.295839	1
9.803425	1.495167	1
1.497407	-0.552916	-1
1.336267	-1.632889	-1
9.205805	-0.586480	1
1.966279	-1.840439	-1
8.398012	1.584918	1
7.239953	-1.764292	1
7.556201	0.241185	1
9.015509	0.345019	1
8.266085	-0.230977	1
8.545620	2.788799	1
9.295969	1.346332	1
2.404234	0.570278	-1
2.037772	0.021919	-1
1.727631	-0.453143	-1
1.979395	-0.050773	-1
8.092288	-1.372433	1
1.667645	0.239204	-1
9.854303	1.365116	1
7.921057	-1.327587	-1
8.500757	1.492372	1
1.339746	-0.291183	-1
3.107511	0.758367	-1
2.609525	0.902979	1
3.263585	1.367898	-1
2.912122	-0.202359	1
1.731786	0.589096	-1
2.387003	1.573131	-1