0
我通過在Jupyter筆記本中使用matplotlib和mlxtend從Iris數據集製作了SVM圖。我試圖讓物種名稱對劇情的傳說,而不是0,1和2。到目前爲止,我的代碼是:將圖例名稱添加到matplotlib中的SVM圖中
我不能。
from sklearn import svm
from mlxtend.plotting import plot_decision_regions
X = iris[['SepalLengthCm', 'SepalWidthCm']]
y = iris['SpecieID']
clf = svm.SVC(decision_function_shape = 'ovo')
clf.fit(X.values, y.values)
# Plot Decision Region using mlxtend's awesome plotting function
plot_decision_regions(X=X.values,
y=y.values,
clf=clf,
legend=2)
# Update plot object with X/Y axis labels and Figure Title
plt.xlabel(X.columns[0], size=14)
plt.ylabel(X.columns[1], size=14)
plt.title('SVM Decision Region Boundary', size=16)
在該地塊
和結果找到如何用物種名稱(Iris-setosa,Iris-versicolor和Iris-virginica)取代0,1和2。
import pandas as pd
iris = pd.read_csv("Iris.csv") # the iris dataset is now a Pandas DataFrame
iris = iris.assign(SepalRatio = iris['SepalLengthCm']/iris['SepalWidthCm']).assign(PetalRatio = iris['PetalLengthCm']/iris['PetalWidthCm']).assign(SepalMultiplied = iris['SepalLengthCm'] * iris['SepalWidthCm']).assign(PetalMultiplied = iris['PetalLengthCm'] * iris['PetalWidthCm'])
d = {"Iris-setosa" : 0, "Iris-versicolor": 1, "Iris-virginica": 2}
iris['SpecieID'] = iris['Species'].map(d).fillna(-1)
如何確保圖例中出現的手柄的順序與標籤的順序相同? – ImportanceOfBeingErnest
@ImportanceOfBeingErnest對不起,我沒有想到我更新了答案。 – Dark