如何解决Catboost 分类器:“numpy.ndarray”对象不可调用
我对机器学习研究问题很陌生。在 Jupyter Notebook 中,我的主要目标是开发 CatBoost 分类模型并预测未包含在该模型训练阶段的数据的概率值。然而,在概率估计阶段(最后一行代码),出现了错误。当我在测试数据上尝试同样的事情时,我没有遇到这样的问题。因此,我不明白到底是为什么。
import pandas as pd
from catboost import CatBoostClassifier
training = pd.read_csv(r"C:\Users\User\Desktop\TRB\training.csv")
training = training.drop(['roads','valleydept','rivers','profilecur','TPI','plancurvat'],axis=1)
training = training.dropna()
training.head()
target = 'A'
X_train = training.loc[:,training.columns!=target]
Y_train = training.loc[:,training.columns==target]
from sklearn.preprocessing import MinMaxScaler
scalar = MinMaxScaler()
scalar.fit(X_train)
X_train = scalar.transform(X_train)
testing = pd.read_csv(r"C:\Users\User\Desktop\TRB\testing.csv")
testing = testing.drop(['roads',axis=1)
testing = testing.dropna()
testing = testing.loc[:,~testing.columns.str.contains('^Unnamed')]
testing.head()
target = 'A'
X_test = testing.loc[:,testing.columns!=target]
Y_test = testing.loc[:,testing.columns==target]
scalar = MinMaxScaler()
scalar.fit(X_test)
X_test = scalar.transform(X_test)
#importing library and building model
from catboost import CatBoostClassifier
model=CatBoostClassifier(iterations=50,depth=3,learning_rate=0.1,loss_function='Logloss',eval_metric = "Accuracy")
model.fit(X_train,Y_train,plot=True)
Y_Test_Pred = model.predict(X_test)
model.predict_proba(X_test)
dz_test = pd.read_csv(r"C:\Users\User\Desktop\C\FS\all.csv")
raster_pred_prob = model.predict_proba(dz_test)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-50-57aa857c8b15> in <module>
----> 1 raster_pred_prob = model.predict_proba(dz_test)
TypeError: 'numpy.ndarray' object is not callable
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。