- 金錢
- 46
- 威望
- 3183
- 貢獻值
- 0
- 推廣值
- 0
- 性別
- 保密
- 在線時間
- 38 小時
- 最後登錄
- 2024-2-25
- 主題
- 0
- 精華
- 0
- 閱讀權限
- 70
- 註冊時間
- 2012-3-17
- 帖子
- 558
該用戶從未簽到 - 推廣值
- 0
- 貢獻值
- 0
- 金錢
- 46
- 威望
- 3183
- 主題
- 0
|
import numpy as np
/ x2 B C4 |$ g% h1 M$ V" Cimport matplotlib.pyplot as plt; N5 [0 C: B Q: u# Z9 [
/ x {! Z% C9 yimport utilities 0 H- r0 q3 p3 s4 e- X
( t, r: O y+ M
# Load input data
# D( X9 W2 `. Tinput_file = 'D:\\1.Modeling material\\Py_Study\\2.code_model\\Python-Machine-Learning-Cookbook\\Python-Machine-Learning-Cookbook-master\\Chapter03\\data_multivar.txt'
6 e% w. r5 Z. X4 p1 c3 fX, y = utilities.load_data(input_file)3 C* J0 ?; W- p6 h, _( _) q8 A9 Y
. w+ f9 n4 J$ b/ L5 E) \$ Z###############################################
; @3 `: Y3 Q' Z# C( Q; ]# Separate the data into classes based on 'y', l3 C) D2 x) C7 P8 m
class_0 = np.array([X[i] for i in range(len(X)) if y[i]==0])
c: R, \$ ]2 I; B6 J9 Jclass_1 = np.array([X[i] for i in range(len(X)) if y[i]==1])
! x" u2 r. s0 q8 g& g/ O: k2 Y! K5 A; S0 w
# Plot the input data; r8 G" o( u! U9 h: v
plt.figure()3 v; M, s' ~! b9 ]
plt.scatter(class_0[:,0], class_0[:,1], facecolors='black', edgecolors='black', marker='s')
' O; h" }& e( d( \plt.scatter(class_1[:,0], class_1[:,1], facecolors='None', edgecolors='black', marker='s')' h8 @! _( f! f" y% \( x% S ?
plt.title('Input data')
0 G: H! M6 u& m6 Z
7 F d$ X+ L0 Q, {( N/ V###############################################
) ^0 \1 c2 D' B: _+ _# Train test split and SVM training
9 Y) U, x/ W2 Q7 |! zfrom sklearn import cross_validation" j/ l+ p) y1 E
from sklearn.svm import SVC7 {- [7 j1 d. x; {, H8 t5 R7 N& H+ D
& }$ E% {& t5 G! @+ }
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.25, random_state=5)& U b# m0 t- X3 [; b
# Z+ t5 L( O$ P
#params = {'kernel': 'linear'}" P$ G4 H9 }6 ?# e$ J9 i) e2 t* ?+ W3 F
#params = {'kernel': 'poly', 'degree': 3}
8 H G- `5 @, C: O4 Bparams = {'kernel': 'rbf'}
* s8 a' j4 n1 M ] x8 u) Sclassifier = SVC(**params)
! R- V) T( e. {& Z- tclassifier.fit(X_train, y_train)
# ~8 F* S( ^0 w' K. X. cutilities.plot_classifier(classifier, X_train, y_train, 'Training dataset') Y9 x5 e0 f2 V4 a
. ]' q) d: l5 Z8 U1 R3 S9 {' Sy_test_pred = classifier.predict(X_test)
~4 T" M' v) H, w3 outilities.plot_classifier(classifier, X_test, y_test, 'Test dataset')
) T, E6 A! q# A9 \& `
, x# c* s& ?+ G' }( b, A p# k###############################################
4 o, ]# d8 N" e! Y4 d8 ?# Evaluate classifier performance
) {" @- K ~' S4 L* v" e# x% q$ W# X, i+ \& K6 v
from sklearn.metrics import classification_report4 j8 h a( G5 r' z) s8 Q! u
2 [0 n2 Y. W- Z: }& i# itarget_names = ['Class-' + str(int(i)) for i in set(y)]& Z$ z, x; n4 D* Q. M
print "\n" + "#"*30
. w2 C7 O+ v3 w6 @; [+ aprint "\nClassifier performance on training dataset\n"( w3 O( v3 B8 j
print classification_report(y_train, classifier.predict(X_train), target_names=target_names)& q2 R$ s7 k3 V" v' i- t" a5 u
print "#"*30 + "\n"6 f! m" K5 y# ^1 ^# t% |
4 z* R" Y1 L# f( M6 v2 ^: I
print "#"*30
/ V2 K' X# J: H! dprint "\nClassification report on test dataset\n"
1 h, Z" \* Z! k+ i5 Cprint classification_report(y_test, y_test_pred, target_names=target_names)
5 I5 s1 l$ }3 d7 vprint "#"*30 + "\n"
0 T5 d8 o% q# y# c/ X2 j3 _+ x! ~: R/ ~5 n3 ]% w5 L, u( S2 h/ ~
|
|