繁体   English   中英

python 机器学习 sklearn 代码 mosh Python 课程中的语法错误。 如果有人能帮助我,我将不胜感激

[英]Syntax error in python machine learning sklearn code mosh Python course. Id appreciate if someone could hep me

我正在做一个带有 Mosh 编程的 Python 课程,并且在一些机器学习代码中出现错误

代码是这样的->

import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

music_data = pd.read_csv('music.csv')
X = music_data.drop(columns=['genre'])
y = music_data['genre']

model = DecisionTreeClassifier
X_train, X_test, y_train, y_train = train_test_split(X, y, test_size=0.2)
model.fit(X_train, y_train)
predictions = model.predict(X_test)

score = accuracy_score(y_test, predictions)
score

我收到一条错误消息 ->

TypeError                                 Traceback (most recent call last)
<ipython-input-28-0880d58e9ac4> in <module>
 10 model = DecisionTreeClassifier
 11 X_train, X_test, y_train, y_train = train_test_split(X, y, test_size=0.2)
---> 12 model.fit(X_train, y_train)
 13 predictions = model.predict(X_test)
 14 

TypeError: fit() missing 1 required positional argument: 'y'

我是这些库的新手,能够解决问题,如果您能帮助我,我将不胜感激。

错误来自您没有生成 model 的实例这一事实。

model = DecisionTreeClassifier

这是不正确的,因为DecisionTreeClassifier是 function,而不是方法。 要创建 model,您需要将上面的代码行替换为:

model = DecisionTreeClassifier()

这将创建 model,现在您可以传递数据以适应它并执行所有进一步的操作(预测、得分等)。

此外,正如 Gavin Wong 指出的那样,使用train_test_split()时存在错误,因为您定义y_train两次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM