如何解决TypeError:__init __获得了意外的关键字参数“ i”
我正在尝试为机器学习KNneighbors算法确定合适的邻居号。
from sklearn.neighbors import KNeighborsClassifier
training_accuracy = []
test_accuracy = []
n_s = range(1,11)
for i in n_s:
clf = KNeighborsClassifier(i=i)
clf.fit(X_train,y_train)
training_accuracy.append(clf.score(X_train,y_train))
test_accuracy.append(clf.score(X_test,y_test))
我得到的错误:
TypeError Traceback (most recent call last)
<ipython-input-12-80ad682622ef> in <module>
4 n_s = range(1,11)
5 for i in n_s:
----> 6 clf = KNeighborsClassifier(i=i)
7 clf.fit(X_train,y_train)
8 training_accuracy.append(clf.score(X_train,y_train))
C:\ProgramData\Anaconda3\lib\site-packages\sklearn\neighbors\_classification.py in __init__(self,n_neighbors,weights,algorithm,leaf_size,p,metric,metric_params,n_jobs,**kwargs)
152 leaf_size=leaf_size,metric=metric,p=p,153 metric_params=metric_params,--> 154 n_jobs=n_jobs,**kwargs)
155 self.weights = _check_weights(weights)
TypeError: __init__() got an unexpected keyword argument 'i'
如何解决此问题?
解决方法
使用i
代替使用n_neighbors
参数。
for i in n_s:
clf = KNeighborsClassifier(n_neighbors=i)
检查documentation of KNeighborsClassifier。在这里,您可以看到没有i
参数,而n_neighbors
是第一个参数。
算法的语法在时间上几乎没有更新 现在这对我有用!!
> for i in range(1,40):
> knn = RandomForestClassifier(i)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。