LinearSVCを使って、機械学習の2クラス分類をしたいのですが、
このコードを実行すると、毎回lr.scoreの出力が変わります。
random_stateを指定しているのですが。。。
from sklearn.svm import LinearSVC from sklearn.datasets import load_breast_cancer cancer = load_breast_cancer() X_train, X_test, y_train, y_test = train_test_split( cancer.data, cancer.target, stratify=cancer.target, random_state=42) lr = LinearSVC().fit(X_train, y_train) print("Training: {:.3f}".format(lr.score(X_train, y_train))) print("Test: {:.3f}".format(lr.score(X_test, y_test)))
特に支障はないのですが、
理由と対応策を教えてください。
ちなみに、以下のように同じようなコードでロジスティック回帰をしても、出力は変わらず毎回同じです。
from sklearn.linear_model import LogisticRegression from sklearn.datasets import load_breast_cancer cancer = load_breast_cancer() X_train, X_test, y_train, y_test = train_test_split( cancer.data, cancer.target, stratify=cancer.target, random_state=42) logreg = LogisticRegression(C=0.01).fit(X_train, y_train) print("Training: {:.3f}".format(logreg.score(X_train, y_train))) print("Test: {:.3f}".format(logreg.score(X_test, y_test)))
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/13 00:33
2017/11/13 12:34