python - 创建“类”时ipython中的语法错误
问题描述
我很难理解为什么我不能执行这段代码?当我这样做时,我不断收到语法错误(第 6 行)。有任何想法吗 :( ?
from collections import Counter
def Edistance(x1, x2):
return np.sqrt(np.sum((x1-x2)**2)
class KNN:
def _init_(self, k=3):
self.k = k
def fit(self, X, y):
self.X_Train = X
self.y_Train = y
def predict(self, X):
predicted_labels = [self._predict(x) for x in X]
return np.array(predicted_labels)
def _predict(self, x):
distances = [Edistance(x, x_train) for x_train in self.X_Train]
k_indices = np.argsort(distances)[:self.k]
k_nearest_labels = [self.y_Train[i] for i in k_indices]
most_common = Counter(k_nearest_labels).most_common(1)
return most_common[0][0]
文件“<ipython-input-388-25faf7c817d3>”,第 6 行类 KNN:^ SyntaxError:无效语法
解决方案
您没有在第 4 行关闭括号,因此在第 4 行末尾添加一个括号。
PS 构造函数是__init__
,但你写的_init_
推荐阅读
- javascript - 销毁对象数组而不为每个对象分配一个变量
- python - sklearn.utils._fast_dict.pyx 的速度
- python - 使用 os.environ 访问环境变量?
- delphi - 在设计时在结构视图面板中隐藏子组件
- ruby-on-rails - 如何将资产从 ruby gem 导出到 rails
- angular - RxJs 管道作为参数
- html - HTML删除按钮侧内联,而不是整个边框线
- angular - Angular RxJS 根据数组对象中不同的持续时间创建计时器循环
- bash - bash 审计(写入日志文件)
- php - 是否可以使用 TextArea 将图像插入数据库并使用 PHP 和 MySQL 在 Web 上显示?