作业题目:
源代码:
from sklearn import datasets
from sklearn import cross_validation
from sklearn import metrics
# creat dataset
dataset = datasets.make_classification(n_samples = 1000, n_features = 10, n_informative=2, n_redundant=2, n_repeated=0, n_classes=2)
X_ori, y_ori = dataset[0], dataset[1]
kf = cross_validation.KFold(len(X_ori), n_folds = 10, shuffle = True)
for train_index, test_index in kf:
X_train, y_train = X_ori[train_index],y_ori[train_index]
X_test, y_test = X_ori[test_index],y_ori[test_index]
print("X_train is : ")
print( X_train)
print("X_test is : ")
print(X_test)
print("y_train is : ")
print(y_train)
print("y_test is : ")
print(y_test)
#GaussianNB
from sklearn.naive_bayes import GaussianNB
clf = GaussianNB()
clf.fit(X_train, y_train)
pred = clf.predict(X_test)
print("GaussianNB:")
acc = metrics.accuracy_score(y_test, pred)
print("ACU score of GaussianNB:")
print(acc)
f1 = metrics.f1_score(y_test, pred)
print("f1 score of GaussianNB:")
print(f1)
auc = metrics.roc_auc_score(y_test, pred)
print("ROC ACU score of GaussianNB:")
print(auc)
print("\n")
#SVC
from sklearn.svm import SVC
le_list = [1e-02, 1e-01, 1e00, 1e01, 1e02]
print("SVC : ")
for i in le_list:
clf = SVC(C = i, kernel = 'rbf', gamma = 0.1)
clf.fit(X_train, y_train)
pred = clf.predict(X_test)
print("C = " + str(i) + " : ")
acc = metrics.accuracy_score(y_test, pred)
print("ACU score of "+ str(i)+ " : ")
print(acc)
f1 = metrics.f1_score(y_test, pred)
print("f1 score of "+ str(i)+ " : ")
print(f1)
auc = metrics.roc_auc_score(y_test, pred)
print("ROC ACU score of "+ str(i)+ " : ")
print(auc)
print('\n')
print('\n')
#RandomForestClassifier
from sklearn.ensemble import RandomForestClassifier
print("RandomForestClassifier:")
for value in [10, 100, 1000]:
clf = RandomForestClassifier(n_estimators = value)
clf.fit(X_train, y_train)
pred = clf.predict(X_test)
print("n_estimators = " + str(value) + " : ")
acc = metrics.accuracy_score(y_test, pred)
print("ACU score of "+ str(value)+ " : ")
print(acc)
f1 = metrics.f1_score(y_test, pred)
print("f1 score of "+ str(value)+ " : ")
print(f1)
auc = metrics.roc_auc_score(y_test, pred)
print("ROC ACU score of "+ str(value)+ " : ")
print(auc)