train\predict\cross_validation demo include almost all Classifier from scikit-learning

12 篇文章 0 订阅
2 篇文章 0 订阅
import numpy as np
from sklearn.model_selection import train_test_split
#from sklearn import cross_validation
from sklearn import model_selection
from sklearn.naive_bayes import GaussianNB
from sklearn.naive_bayes import MultinomialNB, BernoulliNB
from sklearn import tree
from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier, BaggingClassifier, ExtraTreesClassifier, VotingClassifier
from sklearn import svm
from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.gaussian_process import GaussianProcessClassifier
from sklearn.neural_network import MLPClassifier
from sklearn.gaussian_process.kernels import RBF
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import StandardScaler
from sklearn import linear_model
from sklearn import preprocessing
from sklearn.ensemble import GradientBoostingClassifier,RandomTreesEmbedding
import datetime
from sklearn import datasets as ds

estimators = {}
estimators['GaussianNB'] = GaussianNB()
#estimators['MultinomialNB'] = MultinomialNB()
estimators['BernoulliNB'] = BernoulliNB()
estimators['DecisionTreeClassifier'] = tree.DecisionTreeClassifier()
estimators['ExtraTreeClassifier'] = tree.ExtraTreeClassifier()
estimators['forest_100'] = RandomForestClassifier(n_estimators = 100)
estimators['forest_50'] = RandomForestClassifier(n_estimators = 50)
estimators['forest_10'] = RandomForestClassifier(n_estimators = 10)
estimators['svm_c_rbf'] = svm.SVC()
estimators['svm_c_linear'] = svm.SVC(kernel='linear')
estimators['svm_linear'] = svm.LinearSVC()
estimators['QuadraticDiscriminantAnalysis'] = QuadraticDiscriminantAnalysis()
estimators['LinearDiscriminantAnalysis'] = LinearDiscriminantAnalysis(solver='svd')
estimators['gaussian_process'] = GaussianProcessClassifier(1.0 * RBF(1.0), warm_start=True)
estimators['neural_network'] = MLPClassifier(hidden_layer_sizes=(256,128,64))
estimators['AdaBoost'] = AdaBoostClassifier()
estimators['BaggingClassifier'] = BaggingClassifier()
#stimators['VotingClassifier'] = VotingClassifier()
estimators['ExtraTreesClassifier'] = ExtraTreesClassifier()
estimators['KNeighborsClassifier'] = KNeighborsClassifier(7)
estimators['LogisticRegression'] = linear_model.LogisticRegression(dual=True)
estimators['PassiveAggressiveClassifier'] = linear_model.PassiveAggressiveClassifier()
estimators['RidgeClassifier'] = linear_model.RidgeClassifier()
estimators['SGDClassifier'] = linear_model.SGDClassifier()
estimators['GradientBoostingClassifier'] = GradientBoostingClassifier(n_estimators=100, max_depth=8)

x = np.loadtxt('trainf.csv',delimiter=",")
y = np.loadtxt('trainl.csv',delimiter=",")

# x, y = ds.load_svmlight_file("color.txt")
# x = x.toarray()

#x = RandomTreesEmbedding().fit_transform(x)
#z = StandardScaler().fit_transform(x)
#z = [y ,x]#
#ds.dump_svmlight_file(z,y,"UVN.txt",zero_based=False)
#x = preprocessing.Normalizer(x)
#x = preprocessing.minmax_scale(x)
#x = preprocessing.normalize(x)
x = StandardScaler().fit_transform(x)
data_train, data_test, target_train, target_test = train_test_split(x, y, test_size=0.2, random_state=3)


for k in estimators.keys():
    start_time = datetime.datetime.now()
    print '----%s----' % k
    estimators[k] = estimators[k].fit(data_train, target_train)
    pred = estimators[k].predict(data_test)
    print("%s Score: %0.4f" % (k, estimators[k].score(data_test, target_test)))
    scores = model_selection.cross_val_score(estimators[k], x, y, cv=5)
    print("%s Cross Avg. Score: %0.4f (+/- %0.4f)" % (k, scores.mean(), scores.std() * 2))
    end_time = datetime.datetime.now()
    time_spend = end_time - start_time
    print("%s Time: %0.4f" % (k, time_spend.total_seconds()))


data download:

http://download.csdn.net/detail/u014333051/9709819


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值