Python
1import numpy as np 2import matplotlib.pyplot as plt 3import mglearn 4from sklearn.model_selection import train_test_split 5from sklearn.svm import LinearSVC 6 7X = csv_titanic[["Age"],["Fare"]] 8y = csv_titanic["Survived"] 9 10X_train,X_test,y_train, y_test=train_test_split(X, y, stratify=y, random_state = 0 ) 11 12print(y_train.value_counts()) 13print(y_test.value_counts()) 14print(y.value_counts()) 15 16 17svm = LinearSVC().fit(X_train,y_train) 18 19X_array = np.array(X) 20 21def plot_separator(model): 22 mglearn.plots.plot_2d_separator(model,X_array) 23 mglearn.discrete_scatter(X_array[:,0],X_array[:,1],y) 24 plt.xlabel("Age") 25 plt.ylabel("Fare") 26 plt.legend(["abc","alive"]) 27 plt.xlim([0,80]) 28 plt.ylim([0,300]) 29 plt.show() 30 31svm_15 = LinearSVC(C=15).fit(X_train,y_train) 32plot_separator(svm_15) 33 34svm_100 = LinearSVC(C=100).fit(X_train,y_train) 35plot_separator(svm_100) 36 37 38 39
上のようなコードでSVMを用いてモデルを作ったのですが、最後の4行だけを何度か実行すると実行するたびに異なるモデルが生成されます。(異なる分離直線が引かれます)
つまり、全く同じ訓練データを用いて同じアルゴリズムで学習させても、その時々で生成されるモデルに違いが出るということでしょうか?
よろしくおねがいします。
回答1件
あなたの回答
tips
プレビュー