- 金錢
- 45
- 威望
- 3183
- 貢獻值
- 0
- 推廣值
- 0
- 性別
- 保密
- 在線時間
- 38 小時
- 最後登錄
- 2024-2-25
- 主題
- 0
- 精華
- 0
- 閱讀權限
- 70
- 註冊時間
- 2012-3-17
- 帖子
- 553
 
該用戶從未簽到 - 推廣值
- 0
- 貢獻值
- 0
- 金錢
- 45
- 威望
- 3183
- 主題
- 0
|
import numpy as np+ ]- P7 T \4 h, a7 {
import matplotlib.pyplot as plt
5 m# x& c+ h2 I# T" Z+ L; s) @1 ]+ ?$ S( K# `5 V
import utilities V/ i/ H# n. A
6 U1 Z# H) n, b9 P
# Load input data
; I( O: x$ B( xinput_file = 'D:\\1.Modeling material\\Py_Study\\2.code_model\\Python-Machine-Learning-Cookbook\\Python-Machine-Learning-Cookbook-master\\Chapter03\\data_multivar.txt'
b" C, p! u# j$ dX, y = utilities.load_data(input_file)2 h) S$ q. ` Y: N) u
. W f* }# Q! g. r; u# }/ {% Z" _###############################################
, F- K/ I1 s: G0 O1 Y# Separate the data into classes based on 'y'4 q4 J2 Z- U+ x/ j z" P" @
class_0 = np.array([X[i] for i in range(len(X)) if y[i]==0])
, C: @" K: v6 D( c- Cclass_1 = np.array([X[i] for i in range(len(X)) if y[i]==1]) ^: X8 s; m" ^( R6 p! q
# A$ S, B% e. M
# Plot the input data
; ]$ C8 U. O7 n. Q E- ?8 Xplt.figure()' i( } k" Z1 Y% ^( H( }, T- `
plt.scatter(class_0[:,0], class_0[:,1], facecolors='black', edgecolors='black', marker='s')) W# _4 `+ `# U6 C" o
plt.scatter(class_1[:,0], class_1[:,1], facecolors='None', edgecolors='black', marker='s'): Q7 R/ T. B) U, ?7 i
plt.title('Input data')
* }5 G, H' ~/ z; T. x( T. N
$ ?1 U4 C% X( e+ u###############################################0 P3 P" K: D! I1 \' L& v
# Train test split and SVM training0 X n6 b8 I7 B* @ F
from sklearn import cross_validation' J5 c; b0 y' Y1 Q
from sklearn.svm import SVC
3 |7 A8 p: P, K7 M/ [
; g- y$ w1 [, IX_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.25, random_state=5)
% N- ?1 q. j2 n: u r
) }6 W7 j: K; }( z0 _#params = {'kernel': 'linear'}/ p7 H/ q9 d' i
#params = {'kernel': 'poly', 'degree': 3}
: |# U6 f# z: o. r% @) Yparams = {'kernel': 'rbf'}
& Y' p$ [3 }3 B2 V3 ]1 T+ }6 Rclassifier = SVC(**params)* q/ F3 {5 Q7 \/ |0 K# e
classifier.fit(X_train, y_train)
4 a, O& I, a' {9 g4 e i, d( sutilities.plot_classifier(classifier, X_train, y_train, 'Training dataset')' \" @ O- z# r0 h
, s7 t% ~+ m1 \. \; Ry_test_pred = classifier.predict(X_test)
4 G! [& O4 a3 [3 W. |utilities.plot_classifier(classifier, X_test, y_test, 'Test dataset')( W- C; M. j8 y
. l) ^/ b7 }+ C###############################################3 X5 X5 ~: v% w& O8 B& E; ?/ u
# Evaluate classifier performance; G q0 u/ p/ U8 F2 W; u( {+ d: U
$ q2 o! a# d& {( }3 @7 `from sklearn.metrics import classification_report% H$ ~% j* m& |$ M% [+ e
; S# |. _/ N/ Y0 ?+ y9 k* qtarget_names = ['Class-' + str(int(i)) for i in set(y)]
* v0 Y0 d- s1 fprint "\n" + "#"*30/ `* d& K& H% d2 |/ q
print "\nClassifier performance on training dataset\n"
. X+ a8 X' `; W, V0 Z0 sprint classification_report(y_train, classifier.predict(X_train), target_names=target_names)
, c8 H% l* z& K# [( Eprint "#"*30 + "\n"/ D! E* G) |: g1 i9 y' C
' o4 a3 y- E* l. n6 N0 Q
print "#"*306 m( I( j5 X0 E; N. `
print "\nClassification report on test dataset\n"5 B3 L! Q# g0 ?: O) L4 ^
print classification_report(y_test, y_test_pred, target_names=target_names)
$ v2 ?3 M- e3 T- e) A& p8 h$ ^print "#"*30 + "\n"
* u! \4 R8 `! u; X, K C# ?
8 }- w) v) N6 r% c% E4 n I |
|