作业题目:
解题思路:
1.用sklearn的datasets中的make_classification函数创建一个数据集,根据所给提示,我们设置n_samples=1000, n_features=10;
2.用交叉验证分离数据集为10份,用cross_validation的KFolds函数;
3.分别使用三种训练算法:朴素贝叶斯、支持向量机和随机森林;
4.分别使用三种指标评估交叉验证的性能:精确率、F1值、AUC ROC曲线。
代码:
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
#创建数据集
dataset = datasets.make_classification(n_samples=1000, n_features=10)
#用交叉验证分离数据
cv = cross_validation.KFold(len(dataset[0]), n_folds=10, shuffle=True)
for train_index, test_index in cv:
X_train, y_train = dataset[0][train_index], d