题目:
题目大意是这样的:生成一个数据集合,并且使用三种机器学习算法进行训练,并且根据训练结果使用三种方法评估三种算法的性能
步骤1:生成数据集合
使用make_classification函数生成一个数据集
dataset = datasets.make_classification(
n_samples=
1000,
n_features=
10)
步骤2.使用10-fold cross validdation对数据集合进行划分
kf = cross_validation.KFold(
1000,
n_folds=
10,
shuffle=
True)
for train_index, test_index
in kf:
X_train, y_train = dataset[
0][train_index], dataset[
1][train_index]
X_test, y_test = dataset[
0][test_index], dataset[
1][test_index]
1.高斯NB
\\
GaussianNB_clf = GaussianNB()
GaussianNB_clf.fit(X_train, y_train)
GaussianNB_pred = GaussianNB_clf.predict(X_test)
2.SVM
SVC_clf = SVC(
C=
1e-01,
kernel=
'rbf',
gamma=
0.1)
SVC_clf.fit(X_train, y_train)
SVC_pred = SVC_clf.predict(X_test)
3.随机森林
Random_Forest_clf = RandomForestClassifier(
n_estimators=
6)
Random_Forest_clf.fit(X_train, y_train)
Random_Forest_pred = Random_Forest_clf.predict(X_test)
步骤4:对性能进行评价
分别使用accuracy_score,fi_score,roc_auc_score得到准确度
可以看到综合来看随机树的效果是最好的