レースの興味深いユーザーデータがあります。私はいつレースを終えようとしているのかを知っていて、いつ何が終わったのか分かっています。目標は、アスリートがいつ遅れて来るかを知ることです。私は、各運動選手のためにサポートベクターマシンを走らせ、決定境界をプロットしたいと思います。ここでpandas colのアイテムをループし、scikitモデルを実行しプロットする方法は?
は、私が何をすべきかです:
import numpy as np
import pandas as pd
from sklearn import svm
from mlxtend.plotting import plot_decision_regions
import matplotlib.pyplot as plt
# Create arbitrary dataset for example
df = pd.DataFrame({'User': np.random.random_integers(low=1, high=4, size=50),
'Planned_End': np.random.uniform(low=-5, high=5, size=50),
'Actual_End': np.random.uniform(low=-1, high=1, size=50),
'Late': np.random.random_integers(low=0, high=2, size=50)}
)
# Fit Support Vector Machine Classifier
X = df[['Planned_End', 'Actual_End']]
y = df['Late']
clf = svm.SVC(decision_function_shape='ovo')
for i, y in df['User']:
clf.fit(X, y)
ax = plt.subplot()
fig = plot_decision_regions(X=X, y=y, clf=clf, legend=2)
plt.title(lab)
plt.show()
私は次のエラーを取得する:TypeError: 'numpy.int64' object is not iterable
- つまり、私は何とか列をループすることはできません。
私はそれがnumpyのデータ形式になると思いますか?それをどうすれば解決できますか?
ありがとうございます!私はちょっとしたテクノロジースタックから来て、私が知っている構文を単純に使用して、それを試しました - 明らかに成功していません。私は最初に 'y'と' i'を使ってかなり間違っていたと思う。私はちょうど 'numpy.int64'で、選手ごとにclfを走らせるアスリートを回りたいです。私は何とかそれを取り除くことはできません。それ以上のヒント? – Rachel
希望は私の編集に役立ちます。 – zipa
ありがとうございます - それはすでにかなり役に立ちます。しかし、私は実際に個々の選手ごとにプロットを作成しようとしています。つまり、私は 'df ['Athelte']'をループし、各アスリート(この場合は4人)に 'clf()'と 'plt.subplot()を実行しようとしています。依存変数はまだ 'df ['Late']'、つまり 'y'であると考えられます。 – Rachel