- 金錢
- 45
- 威望
- 3183
- 貢獻值
- 0
- 推廣值
- 0
- 性別
- 保密
- 在線時間
- 38 小時
- 最後登錄
- 2024-2-25
- 主題
- 0
- 精華
- 0
- 閱讀權限
- 70
- 註冊時間
- 2012-3-17
- 帖子
- 553
 
該用戶從未簽到 - 推廣值
- 0
- 貢獻值
- 0
- 金錢
- 45
- 威望
- 3183
- 主題
- 0
|
import numpy as np) a8 [4 \# B' ~7 q
import matplotlib.pyplot as plt
9 i1 m" u8 z3 E$ ~& Z" D/ i% V- N$ v6 U+ Y' z
import utilities 2 k( @! ~% f, {
* f, z* f" v& n9 w: K
# Load input data3 u# V, ^" A3 h9 l4 Q0 `
input_file = 'D:\\1.Modeling material\\Py_Study\\2.code_model\\Python-Machine-Learning-Cookbook\\Python-Machine-Learning-Cookbook-master\\Chapter03\\data_multivar.txt'
, m( ]% g4 k" z. `5 t* ?X, y = utilities.load_data(input_file)# e% n3 {6 D- n* D
/ y- F; f3 ]6 t$ o( i###############################################
0 u! l$ J! \" l& p0 ^. T# Separate the data into classes based on 'y'0 b) L) [+ |* Q4 z' u. h
class_0 = np.array([X[i] for i in range(len(X)) if y[i]==0])
$ r) ^# K0 Q1 l: h6 Rclass_1 = np.array([X[i] for i in range(len(X)) if y[i]==1])6 ~. [& K$ J; L% {0 _
4 J% [/ V, v: B4 i& |% Q5 a" a
# Plot the input data& [0 y5 c3 x3 c
plt.figure()
6 W/ n! K, j5 C E' I1 g: ~plt.scatter(class_0[:,0], class_0[:,1], facecolors='black', edgecolors='black', marker='s')) r3 K" N# X* t; {
plt.scatter(class_1[:,0], class_1[:,1], facecolors='None', edgecolors='black', marker='s')4 Q0 u4 l, P% r; \
plt.title('Input data')/ y% y+ U% `. T2 w
" O9 [3 k0 W# q8 r###############################################% J- l& d* R b" M5 q1 U. D
# Train test split and SVM training: v- P; h8 Q% p! t% V& h$ T+ g- W% S
from sklearn import cross_validation% f# \% P E0 Q5 m, r; C5 U! h- k
from sklearn.svm import SVC# _" |, P( M b' {! n
0 g; @% |* y( j( D5 J8 n" V, G% uX_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.25, random_state=5)
5 M! v4 V$ B$ d5 l, N
" }# ?" z& M) f3 T; b! f8 I#params = {'kernel': 'linear'}1 i! ]3 l$ f+ b) K
#params = {'kernel': 'poly', 'degree': 3}1 _( R9 B4 E5 ~ `3 q
params = {'kernel': 'rbf'}
& N* Z0 q: _0 H* l* k2 cclassifier = SVC(**params)
- E2 l3 v2 l8 r8 D( r& y1 Qclassifier.fit(X_train, y_train)+ W% Z1 o* z+ D" h
utilities.plot_classifier(classifier, X_train, y_train, 'Training dataset'). P7 Y4 [, V5 \0 i
7 A, d3 {( F) B ty_test_pred = classifier.predict(X_test)
; `7 A# _; Z C$ B: D1 w7 |utilities.plot_classifier(classifier, X_test, y_test, 'Test dataset')0 J9 V% }: Q2 I: X L5 Z
& U3 f3 z: e9 U+ K7 G9 y7 h###############################################
l4 U& {# |: _$ u) O# Evaluate classifier performance
# j$ U/ O4 r* b5 B M/ p8 N. O/ ]% ~( @3 ?6 [' v% R* v
from sklearn.metrics import classification_report9 Y( d' E$ J" }; \, u, U- |
1 n5 F# G# R( V+ K- U# U
target_names = ['Class-' + str(int(i)) for i in set(y)]) R# b; t0 J$ }% Y6 ?3 u
print "\n" + "#"*30
8 Z* Q9 \4 ~7 z! j% d% ^$ bprint "\nClassifier performance on training dataset\n"
/ U! M& @8 T. i6 Nprint classification_report(y_train, classifier.predict(X_train), target_names=target_names)
5 V* p8 Y1 p* R( i b: \print "#"*30 + "\n") C6 N6 d- o; ~
% E4 K) H. T! \% `
print "#"*30- r9 E' `0 q5 E( [7 Z
print "\nClassification report on test dataset\n" N, r5 s/ l' {4 T% ~% G
print classification_report(y_test, y_test_pred, target_names=target_names)
+ I1 f) f: K/ E. ]# L/ wprint "#"*30 + "\n"
, S% g! d) S: [ p) i' s9 s% Q q2 o4 n) M8 m/ X. ?: M0 }! O
|
|