题目描述:
代码实现:
# coding=utf-8
from sklearn import datasets
from sklearn import cross_validation
from sklearn.naive_bayes import GaussianNB
from sklearn.svm import SVC
from sklearn.ensemble import RandomForestClassifier
from sklearn import metrics
X,y=datasets.make_classification(n_samples=1000,n_features=10,n_classes=2)
kf=cross_validation.KFold(len(X),n_folds=10,shuffle=True)
for train_index,test_index in kf:
X_train,y_train=X[train_index],y[train_index]
X_test,y_test=X[test_index],y[test_index]
#NB算法
print("NB:")
clf = GaussianNB()
clf.fit(X_train, y_train)
pred = clf.predict(X_test)
#performance评估
acc = metrics.accuracy_score(y_test, pred)
print("Evaluated by accuracy score: ",end="")
print(acc)
f1 = metrics.f1_score(y_test, pred)
print("Evaluated by f1 score: ",end="")
print(f1)
auc = metrics.roc_auc_score(y_test, pred)
print("Evaluated by roc auc score: ",end="")
print(auc)
print("*******************************************************\n")
#SVC算法
print("SVC:")
for C in [1e-02, 1e-01, 1e00, 1e01, 1e02]:
clf = SVC(C, kernel='rbf', gamma=0.1)
clf.fit(X_train, y_train)
pred = clf.predict(X_test)
#performance评估
acc = metrics.accuracy_score(y_test, pred)
print("Evaluated by accuracy score: ",end="")
print(acc)
f1 = metrics.f1_score(y_test, pred)
print("Evaluated by f1 score: ",end="")
print(f1)
auc = metrics.roc_auc_score(y_test, pred)
print("Evaluated by roc auc score: ",end="")
print(auc)
print("-----------------------------------------")
print("*******************************************************\n")
#RFC算法
print("RFC:")
for n_estimators in [10, 100, 1000]:
clf = RandomForestClassifier(n_estimators=6)
clf.fit(X_train, y_train)
pred = clf.predict(X_test)
#performance评估
acc = metrics.accuracy_score(y_test, pred)
print("Evaluated by accuracy score:",end="")
print(acc)
f1 = metrics.f1_score(y_test, pred)
print("Evaluated by f1 score:",end="")
print(f1)
auc = metrics.roc_auc_score(y_test, pred)
print("Evaluated by roc auc score:",end="")
print(auc)
print("-----------------------------------------")
print("*******************************************************\n")
运行结果: