在学习机器学习使用KNeighborsRegressor时出现了AttributeError: 'NoneType' object has no attribute 'split'的错误。
代码如下:
#从sklearn算法库中导入k近邻回归模型算法
from sklearn.neighbors import KNeighborsRegressor
clf=KNeighborsRegressor(n_neighbors=5,algorithm='ball_tree')
clf.fit(train_data,train_target)
test_pred=clf.predict(test_data)#报错出现在这一行
报错如下:
解决方法如下:
修改算法里的参数,KNeighborsRegressor里的参数algorithm默认为auto,修改为ball_tree即可
clf=KNeighborsRegressor(n_neighbors=5,algorithm='ball_tree')
以下是讯飞星火给出的不同参数的作用:
`algorithm`参数在`KNeighborsRegressor`中有这几个可选值:
* `"auto"`:自动选择最近邻搜索算法,默认值。
* `"ball_tree"`:使用Ball Tree算法进行最近邻搜索。
* `"kd_tree"`:使用KD Tree算法进行最近邻搜索。
* `"brute"`:暴力搜索所有可能的邻居。
* `"auto"`:自动选择最近邻搜索算法,默认值。
这些算法的具体实现方式和性能表现不同,具体选择哪个算法需要根据具体情况来决定。