[英]create an array or dataframe using different variables from nested for loop in python
如何創建一個數組或 dataframe 來存儲 seedN, clf.score(X_test, y_test)
, n_neighbors
?
from sklearn.model_selection import train_test_split
for seedN in range(1,50,1):
X_train, X_test, y_train, y_test = train_test_split(indicators,data2['target'],
test_size=0.25, random_state=seedN)
training_accuracy = []
test_accuracy = []
neighbors_settings = range(1, 70) # try n_neighbors from 1 to 50
for n_neighbors in neighbors_settings:
clf = KNeighborsClassifier(n_neighbors=n_neighbors) # build the model
clf.fit(X_train, y_train)
training_accuracy.append(clf.score(X_train, y_train)) # record training set accuracy
test_accuracy.append(clf.score(X_test, y_test)) # record generalization accuracy
創建一個臨時空列表來存儲結果:
tmp = []
對於每個擬合,添加一個包含所需值的新列表:
for seedN in range(1, 50, 1):
# your code
for n_neighbors in neighbors_settings:
# your code
tmp.append([seedN, clf.score(X_test, y_test), n_neighbors])
最后,使用這個臨時列表創建 dataframe:
df = pd.DataFrame(tmp, columns=["seedN", "score", "n_neighbors"])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.