[英]TypeError: to_numeric() missing 1 required positional argument: 'arg'
Hi I am new to Machine Learning and working on a fun project based on Crime Prediction.嗨,我是机器学习的新手,正在从事一个基于犯罪预测的有趣项目。 The following code block is returning an error.
以下代码块返回错误。 I am using the datasets provided on the UCI ML Repo .
我正在使用UCI ML Repo上提供的数据集。
df_d=pd.read_csv('communities-crime-full.csv')
df
df['highCrime'] = np.where(df['ViolentCrimesPerPop']>0.1, 1, 0)
Y = df['highCrime']
# print('total len is ',len(Y))
initial=pd.read_csv('communities-crime-full.csv')
initial = initial.drop('communityname', 1)
initial = initial.drop('ViolentCrimesPerPop', 1)
initial = initial.drop('fold', 1)
initial = initial.drop('state', 1)
initial = initial.drop('community', 1)
initial = initial.drop('county', 1)
skipinitialspace = True
feature_name=list(initial)
#initial=initial.convert_objects(convert_numeric=True)
initial=initial.apply(pd.to_numeric(errors='coerce').isnull())
New_data=initial.fillna(initial.mean())
# print('before...')
# print(initial)
# print('after...')
# print(New_data)
clf = tree.DecisionTreeClassifier(max_depth=3)
# clf = tree.DecisionTreeClassifier()
clf = clf.fit(New_data, Y)
clf
fold=df['fold']
scores = cross_val_score(clf, New_data, Y,fold,'accuracy',10)
print('cross_val_accuracy is ',scores)
print('cross_val_accuracy_avg is ',np.array(scores).mean())
scores = cross_val_score(clf, New_data, Y,fold,'precision',10)
print('cross_val_precision is ',scores)
print('cross_val_precision_avg is ',np.array(scores).mean())
scores = cross_val_score(clf, New_data, Y,fold,'recall',10)
print('cross_val_recall is ',scores)
print('cross_val_recall_avg is ',np.array(scores).mean())
I receive the following error我收到以下错误
TypeError Traceback (most recent call last)
<ipython-input-53-9f206c43d444> in <module>()
17 feature_name=list(initial)
18 #initial=initial.convert_objects(convert_numeric=True)
---> 19 initial=initial.apply(pd.to_numeric(errors='coerce').isnull())
20 New_data=initial.fillna(initial.mean())
21 # print('before...')
TypeError: to_numeric() missing 1 required positional argument: 'arg'
Since you're trying to use pd.to_numeric
as function reference, you can't call it with kwargs this way.由于您尝试使用
pd.to_numeric
作为 function 参考,因此您不能以这种方式使用 kwargs 调用它。
Either:任何一个:
initial = initial.apply(pd.to_numeric, errors='coerce')
Or Use lambda:或使用 lambda:
initial = initial.apply(lambda x: pd.to_numeric(x, errors='coerce'))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.