- 金錢
- 45
- 威望
- 3183
- 貢獻值
- 0
- 推廣值
- 0
- 性別
- 保密
- 在線時間
- 38 小時
- 最後登錄
- 2024-2-25
- 主題
- 0
- 精華
- 0
- 閱讀權限
- 70
- 註冊時間
- 2012-3-17
- 帖子
- 553
 
該用戶從未簽到 - 推廣值
- 0
- 貢獻值
- 0
- 金錢
- 45
- 威望
- 3183
- 主題
- 0
|
import numpy as np" A: T+ u# Q0 H- B! `0 ?
import matplotlib.pyplot as plt: c' x$ o; w4 f9 k8 W$ N
* d. W A( c6 E% J
import utilities
/ f4 n8 c% }) F3 Y$ \. [3 g1 [! z3 M* _2 X
# Load input data
. Z. \4 Z" R! ^input_file = 'D:\\1.Modeling material\\Py_Study\\2.code_model\\Python-Machine-Learning-Cookbook\\Python-Machine-Learning-Cookbook-master\\Chapter03\\data_multivar.txt'
. T# B" W% x8 W) G3 t9 MX, y = utilities.load_data(input_file)
. _# R4 j( s8 k s0 M2 l+ N; q- Z+ C- f' r
############################################### f$ t5 k5 \6 J: B3 P# u
# Separate the data into classes based on 'y'" G8 X% t* s3 r0 F2 B5 F+ c6 }
class_0 = np.array([X[i] for i in range(len(X)) if y[i]==0])5 z% g; H- C4 j- g4 c& c: d
class_1 = np.array([X[i] for i in range(len(X)) if y[i]==1])5 N6 L) G% F8 L' Q' ^3 Q
( n7 f2 r# x- H8 X$ C- m3 X# Plot the input data1 i. |# Z' b& Q& A" V' z# `$ O
plt.figure()- q( G* v9 D3 @+ }/ g' W
plt.scatter(class_0[:,0], class_0[:,1], facecolors='black', edgecolors='black', marker='s')
- L, {2 o6 s. u: v( }plt.scatter(class_1[:,0], class_1[:,1], facecolors='None', edgecolors='black', marker='s')- P3 @) `8 x# x, ^) u/ Z Y
plt.title('Input data'), [( B1 F6 E% l$ k1 E: X3 M
' i& F# o) V J4 M K###############################################8 Y* J# b/ V: }/ T5 B
# Train test split and SVM training m F- m( ?8 n9 H2 C
from sklearn import cross_validation
2 S5 v6 a8 m( _% w# [6 _! Afrom sklearn.svm import SVC
- o$ M" l8 ~7 ^( o: Y
8 ^2 d! v0 O2 t$ P& w& nX_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.25, random_state=5)
# x0 I( W; D6 v) ^, ?! s1 \+ t, Y3 D7 v# p7 B
#params = {'kernel': 'linear'}
; ?8 g" V8 ^8 i, s S: O#params = {'kernel': 'poly', 'degree': 3}
: U4 X$ e) [$ |$ e4 C& q* D7 g; I0 Tparams = {'kernel': 'rbf'}
1 r$ H D; k8 D1 Oclassifier = SVC(**params)
. T( F" J+ |, }8 oclassifier.fit(X_train, y_train)5 c" m$ H4 A/ n/ |. y- }1 e4 `
utilities.plot_classifier(classifier, X_train, y_train, 'Training dataset')0 W7 l F& T# R" W; n# u
2 l- }& h: M* x1 V+ p( ?% K' j" C7 C3 xy_test_pred = classifier.predict(X_test); N& S }9 f8 \5 F
utilities.plot_classifier(classifier, X_test, y_test, 'Test dataset')0 U% ?9 C1 ?; V* A6 r: {0 m( g& {
+ r/ p4 A) J x/ |9 O
###############################################+ P/ W" D1 C( P9 e! m
# Evaluate classifier performance3 O* C# ^4 e; p( y
2 b5 w5 c) S2 r( q! y6 _from sklearn.metrics import classification_report" O$ p9 _3 r3 h4 n5 Q7 p# }) O
% E3 ~! J2 Z' u: m Jtarget_names = ['Class-' + str(int(i)) for i in set(y)]
) J7 k" p2 C( s/ S% b( Rprint "\n" + "#"*306 S8 v8 m" } B/ K( |0 B- `
print "\nClassifier performance on training dataset\n" K6 _1 L: n4 Z8 l& F0 H+ h& C
print classification_report(y_train, classifier.predict(X_train), target_names=target_names)# Y# h2 ~2 f! M9 x
print "#"*30 + "\n"/ b2 ?. L2 J( y# w
2 r+ r& Q- @& I2 @* @print "#"*30. B% f. |9 K' ]2 J
print "\nClassification report on test dataset\n"
. F( ^/ T/ _4 tprint classification_report(y_test, y_test_pred, target_names=target_names)
- _( q9 t% w1 q! K, Cprint "#"*30 + "\n" P; ~5 ~* i" a; q1 g/ J0 E4 c
. b$ f& z3 r" O( K! ]+ `/ b |
|