scikit-learn SVM
来源:互联网 发布:上海地铁免费查询软件 编辑:程序博客网 时间:2024/05/21 14:59
import os
import pickle
import sklearn
from sklearn import cross_validation, grid_search
from sklearn.metrics import confusion_matrix, classification_report
from sklearn.svm import SVC
from sklearn.externals import joblib
import numpy as np
import sys
def train_svm_classifer(features, model_save_file):
"""
train_svm_classifer will train a SVM, saved the trained and SVM model and
report the classification performance
features: array of input features
labels: array of labels associated with the input features
model_output_path: path for storing the trained svm model
"""
# save 20% of data for performance evaluation
#X_train, X_test, y_train, y_test = cross_validation.train_test_split(features, labels, test_size=0.2)
X_train = features[:,3:]
y_train = features[:,2]
X_test = features[:,3:]
y_test = features[:,2]
print "shape of train",np.shape(X_train),np.shape(y_train)
print "shape of test",np.shape(X_test),np.shape(y_test)
param = [
{
"kernel": ["linear"],
"C": [1, 10, 100, 1000]
},
{
"kernel": ["rbf"],
"C": [1, 10, 100, 1000],
"gamma": [1e-2, 1e-3, 1e-4, 1e-5]
}
]
# request probability estimation
svm = SVC(probability=True)
# 10-fold cross validation, use 4 thread as each fold and each parameter set can be train in parallel
grid_model = grid_search.GridSearchCV(svm, param,
cv=5, n_jobs=30, verbose=1)
grid_model.fit(X_train, y_train)
print("\nBest parameters set:")
best_parameters = grid_model.best_estimator_.get_params()
for para, val in best_parameters.items():
print para, val
model = SVC(kernel='rbf', C=best_parameters['C'], gamma=best_parameters['gamma'], probability=True)
model.fit(X_train, y_train)
#pickle.dump(model, open(model_save_file, 'wb'))
y_predict=model.predict(X_test)
print("\nConfusion matrix:")
print(confusion_matrix(y_test, y_predict))
print("\nClassification report:")
print(classification_report(y_test, y_predict))
def run():
raw_data = np.loadtxt(sys.argv[1], dtype=np.str,delimiter=" ",comments=None)
print "shape of input",np.shape(raw_data)
train_svm_classifer(raw_data,"./svm.model")
run()
import pickle
import sklearn
from sklearn import cross_validation, grid_search
from sklearn.metrics import confusion_matrix, classification_report
from sklearn.svm import SVC
from sklearn.externals import joblib
import numpy as np
import sys
def train_svm_classifer(features, model_save_file):
"""
train_svm_classifer will train a SVM, saved the trained and SVM model and
report the classification performance
features: array of input features
labels: array of labels associated with the input features
model_output_path: path for storing the trained svm model
"""
# save 20% of data for performance evaluation
#X_train, X_test, y_train, y_test = cross_validation.train_test_split(features, labels, test_size=0.2)
X_train = features[:,3:]
y_train = features[:,2]
X_test = features[:,3:]
y_test = features[:,2]
print "shape of train",np.shape(X_train),np.shape(y_train)
print "shape of test",np.shape(X_test),np.shape(y_test)
param = [
{
"kernel": ["linear"],
"C": [1, 10, 100, 1000]
},
{
"kernel": ["rbf"],
"C": [1, 10, 100, 1000],
"gamma": [1e-2, 1e-3, 1e-4, 1e-5]
}
]
# request probability estimation
svm = SVC(probability=True)
# 10-fold cross validation, use 4 thread as each fold and each parameter set can be train in parallel
grid_model = grid_search.GridSearchCV(svm, param,
cv=5, n_jobs=30, verbose=1)
grid_model.fit(X_train, y_train)
print("\nBest parameters set:")
best_parameters = grid_model.best_estimator_.get_params()
for para, val in best_parameters.items():
print para, val
model = SVC(kernel='rbf', C=best_parameters['C'], gamma=best_parameters['gamma'], probability=True)
model.fit(X_train, y_train)
#pickle.dump(model, open(model_save_file, 'wb'))
y_predict=model.predict(X_test)
print("\nConfusion matrix:")
print(confusion_matrix(y_test, y_predict))
print("\nClassification report:")
print(classification_report(y_test, y_predict))
def run():
raw_data = np.loadtxt(sys.argv[1], dtype=np.str,delimiter=" ",comments=None)
print "shape of input",np.shape(raw_data)
train_svm_classifer(raw_data,"./svm.model")
run()
阅读全文
0 0
- scikit-learn svm初探
- scikit-learn SVM
- scikit-learn中的SVM
- scikit-learn SVM
- scikit-learn中的SVM使用指南
- Scikit-learn——SVM
- Python Scikit-learn ---- SVM算法
- 【Python学习】Scikit-learn之SVM
- scikit-learn学习之SVM算法
- scikit-learn SVM使用和学习
- Scikit-learn实战之SVM分类
- scikit-learn学习之SVM算法
- scikit-learn学习之SVM算法
- 转载:scikit-learn学习之SVM算法
- scikit-learn学习之SVM算法
- scikit-learn学习之SVM算法
- 在python,Scikit-learn的SVM算法
- scikit-learn学习之SVM算法
- 数据可视化难在哪里?该如何入门
- 对人工神经网络的隐式行为进行可视化
- 数据分析图的十大错误,你占了几个?
- 数据可视化:常用图表使用总结
- 22个免费的数据可视化和分析工具推荐
- scikit-learn SVM
- java web端调用tensorflow模型
- Hashedcubes: 对于大数据的简洁,低存耗,实时的可视探索
- 通过可视化数据分析提升测试质量
- 软考分页存储求物理地址公式
- 路由侧边栏
- bzoj 3563: DZY Loves Chinese
- 30 个最好的数据可视化工具推荐
- input file multiple 配合springmvc实现多文件上传