python scikit svm을 사용하여 clf.fit (X, Y)를 실행 한 후 지원 벡터를 얻습니다. svm.SVC 객체를 인스턴스화 할 때 이러한 지원 벡터를 직접 매개 변수로 전달할 수 있습니까? 즉, 매번 프리디 케이션을 수행 할 때마다 fit() 메소드를 실행할 필요가 없습니다.scikit SVM을 배우고 지원 벡터를 저장 /로드하는 방법?
9
A
답변
17
: http://scikit-learn.org/stable/modules/model_persistence.html
1.2.4 모델의 지속성 그것은 사용하여 scikit의 모델을 저장 할 수 있습니다 파이썬의 내장 지속성 모델, 즉 피클. scikit의 특정 경우
>>> from sklearn import svm
>>> from sklearn import datasets
>>> clf = svm.SVC()
>>> iris = datasets.load_iris()
>>> X, y = iris.data, iris.target
>>> clf.fit(X, y)
SVC(kernel=’rbf’, C=1.0, probability=False, degree=3, coef0=0.0, eps=0.001,
cache_size=100.0, shrinking=True, gamma=0.00666666666667)
>>> import pickle
>>> s = pickle.dumps(clf)
>>> clf2 = pickle.loads(s)
>>> clf2.predict(X[0])
array([ 0.])
>>> y[0]
0
, 그것은 빅 데이터에 더 효율적입니다 피클의 JOBLIB의 교체를 사용하는 것이 더 재미있을 수 있지만, 수 만 피클 문자열로 디스크가 아닌 :
당신이 훈련 모델을 저장할 때
>>> from sklearn.externals import joblib
>>> joblib.dump(clf, ’filename.pkl’)
3
나중에 사용할 수 있도록 모델을 저장할 수 있습니다. 이전에 장착하고 저장 한 모델이있을 때 모델을 사용하려면 아래 코드를 작성했습니다. scikit 설명서에서
from sklearn.externals import joblib
svm_linear_estimator = svm.SVC(kernel='linear', probability=False, C=1)
try:
estimator = joblib.load("/my_models/%s.pkl"%dataset_name)
print "using trained model"
except:
print "building new model"
estimator.fit(data_train, class_train)
joblib.dump(estimator,"/my_models/%s.pkl"%dataset_name)
+0
, 그것은 이상을 만들 수 있습니다 파일. 하지만 여전히 "dataset_name.pkl"이름을 사용하여 호출합니다. 그리고 위의 변수 추정기는 svm_linear_estimator이어야합니다. –
+1
방금 os.path.exists()가 try catch를 사용하는 것보다 더 똑똑하다는 것을 깨달았습니다. –
관련 문제
- 1. scikit-learn, linearsvc - 훈련 된 SVM에서 지원 벡터를 얻는 방법?
- 2. 게임에서 개체를 저장 /로드하는 방법
- 3. scikit-learn을 사용하여 작은 데이터 세트를 통해 SVM을 배우려면 어떻게해야합니까?
- 4. RichTextBox의 데이터를 파일로 저장 /로드하는 방법
- 5. XML을 사용하여 IntrinsicCameraParameters를 저장 /로드하는 방법
- 6. libsvm 지원 벡터를 제공하지 않음/지원 벡터 없음
- 7. scikit-learn에서 새 데이터의 특성 벡터 저장
- 8. 자필 자로 scikit-learn SVM을 구현하는 피쳐 추출기 예
- 9. scikit-learn에서 누락 된 데이터로 SVM을 멋지게 재생하려면 어떻게해야합니까?
- 10. 로드하는 방법/여기
- 11. Java에서 SVM을 사용하는 방법
- 12. scikit-learn을 사용하여 새로운 기능 저장
- 13. SciPy NumPy 및 SciKit 배우고 희소 행렬을 만듭니다.
- 14. AS3에서 파일을 저장 /로드하는 좋은 방법은 무엇입니까?
- 15. 계획에 게임의 상태를 저장 /로드하는 방법은 무엇입니까?
- 16. 백업을 위해 NSUserDefaults를 저장 /로드하는 방법은 무엇입니까?
- 17. 벡터를 Matlab 파일로 저장
- 18. Train scikit SVM, 점수 맞춤 계산
- 19. 루비의 대화식 모드에서 작업 공간을 보거나 저장 /로드하는 방법
- 20. Windows Forms 저장 /로드하는 가장 좋은 방법 ToolStripMenuItem
- 21. toolstripmenuitem 항목/컬렉션을 properties.default.settings에 저장 /로드하는 방법? (C#)
- 22. SVM을 사용한 분류
- 23. WPF에서 목록 컬렉션에 개체를 저장 /로드하는 방법은 무엇입니까?
- 24. 뷰를 "올바르게"로드하는 방법 iOS
- 25. 로드하는 동안 Jqgrid를 비활성화하는 방법?
- 26. 안드로이드에서 Listview를 "원활하게"로드하는 방법
- 27. UIViewController에서 xib를 사용 /로드하는 방법
- 28. C# 설정 파일 -로드하는 방법?
- 29. 로드하는 방법 자세한 내용은 자동으로
- 30. 정수가 아닌 클래스 레이블 Scikit-Learn
가능한 중복 http://stackoverflow.com/questions/11440970/how-can-i-save-a-libsvm-python-object-instance – Pedrom