- 金錢
- 45
- 威望
- 3183
- 貢獻值
- 0
- 推廣值
- 0
- 性別
- 保密
- 在線時間
- 38 小時
- 最後登錄
- 2024-2-25
- 主題
- 0
- 精華
- 0
- 閱讀權限
- 70
- 註冊時間
- 2012-3-17
- 帖子
- 553
 
該用戶從未簽到 - 推廣值
- 0
- 貢獻值
- 0
- 金錢
- 45
- 威望
- 3183
- 主題
- 0
|
import numpy as np
+ f* k+ c7 I: C2 _import matplotlib.pyplot as plt8 q) ~2 X3 M) F
. m- k) Y$ x z+ {. O
import utilities . n% I3 s( Z, |0 c! y
% z) n% O; q( I, e* V% D
# Load input data
/ Y7 D% s9 D) P! d9 |7 S0 binput_file = 'D:\\1.Modeling material\\Py_Study\\2.code_model\\Python-Machine-Learning-Cookbook\\Python-Machine-Learning-Cookbook-master\\Chapter03\\data_multivar.txt'
- E1 q! V+ H' r& V: WX, y = utilities.load_data(input_file)
0 a$ r5 U7 \; J( W9 A( v7 h4 V7 C% U9 B3 g
###############################################
' b; {* e8 ]2 E, V# Separate the data into classes based on 'y' g! b; F& F& ^/ @2 t
class_0 = np.array([X[i] for i in range(len(X)) if y[i]==0])
3 X# s9 u {" D0 c7 {% P- Eclass_1 = np.array([X[i] for i in range(len(X)) if y[i]==1])
# y* L7 W# \. J+ x8 E! m2 n3 a. r& `* q8 O7 H x% B
# Plot the input data
$ ?( C) e, r9 C, ?$ U2 o$ Fplt.figure()
0 u* W p9 U3 `; ^plt.scatter(class_0[:,0], class_0[:,1], facecolors='black', edgecolors='black', marker='s')0 m7 X3 ~& ?0 ]1 i
plt.scatter(class_1[:,0], class_1[:,1], facecolors='None', edgecolors='black', marker='s')1 ?1 P2 L2 i& l- J
plt.title('Input data')
, S6 g2 P2 `+ p
& d# e' f9 D+ P###############################################4 p, `6 W" o3 I9 X' C6 C0 x) Z5 _9 l
# Train test split and SVM training0 R- K: }. |) m: B0 b' `
from sklearn import cross_validation: D& n9 q( a* [* i0 p$ x9 O
from sklearn.svm import SVC
; t5 ~( h# k- O! o7 J2 ]0 h; K* q
( c! G1 {& O0 ^5 H) r i% ^X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.25, random_state=5)
9 a0 V7 \7 k" m! a+ n0 R% |& J H& j7 p0 J: k k/ w
#params = {'kernel': 'linear'}
, b/ L/ G M4 }% k! k1 I#params = {'kernel': 'poly', 'degree': 3}
v" ^+ `4 K+ c0 xparams = {'kernel': 'rbf'}) F4 \; x+ w0 n0 ^$ ] S
classifier = SVC(**params)( S- ~. |: @, A- L" U4 O
classifier.fit(X_train, y_train)
" B; B6 C: u/ O: sutilities.plot_classifier(classifier, X_train, y_train, 'Training dataset')7 d1 M" i8 G4 H* o: e7 r& e
- m& l. [& I% P1 `y_test_pred = classifier.predict(X_test)
/ y3 U s" x2 t; Futilities.plot_classifier(classifier, X_test, y_test, 'Test dataset')
9 d+ E0 f+ ^) C; I0 A) [9 m6 ^8 m% X1 A- _' p3 A* P4 M5 S3 [
###############################################
3 _" a+ ?! g7 ]# Evaluate classifier performance% t3 s7 @7 B' G( ~0 |9 E
& O3 E4 Q* g7 g
from sklearn.metrics import classification_report
( c( _8 f5 _/ t" l0 }0 \+ O; x( g* T
target_names = ['Class-' + str(int(i)) for i in set(y)]
* [: I/ {3 }1 N' r1 J5 {print "\n" + "#"*30) b u( s+ O1 J4 P( r
print "\nClassifier performance on training dataset\n"
& S. f( s8 o4 W0 u; _7 aprint classification_report(y_train, classifier.predict(X_train), target_names=target_names)
5 x2 g3 a j3 h( Eprint "#"*30 + "\n"
0 u% w. w+ Y# |5 p8 O4 y+ d {% x: S1 R ]
print "#"*30
6 Z- _$ R ]' D7 y3 X6 m- bprint "\nClassification report on test dataset\n"
( j) r: G0 T. ^4 z& t6 g% aprint classification_report(y_test, y_test_pred, target_names=target_names)3 ^9 }5 y" p5 K" e |/ w
print "#"*30 + "\n"
6 |( T% W |9 V; X
1 z( Q, k' e+ a1 m. a) }9 Y- e |
|