【发布时间】:2020-06-29 08:50:44
【问题描述】:
我正在尝试根据因变量对记录进行分类,如下所示。我想选择分店代码作为默认分店,与同城其他分店相比,收入更高或客户数量更多。
我已经使用了所有的分类算法(决策树、MLPClassifier、ExtraTreesClassifier、RandomForestClassifier 等)但无法得到正确的解决方案。
我的代码:
data = pd.read_csv('train.csv')
le = LabelEncoder()
for column in data.columns:
if data[column].dtype == type(object):
data[column] = le.fit_transform(data[column])
feature_cols = ['City','State','Branch Code','Revenue','Customers']
X = data.iloc[:,[0,1,2,3,4]].values
y = data.iloc[:,5].values
clf = ExtraTreesClassifier(n_estimators=10)
clf.fit(X, y)
print('Default Branch',le.inverse_transform(clf.predict([le.fit_transform(['Chennai','TN','K9092',15000,3])])))
print("Score", clf.score(X,y))
到目前为止,我无法做出正确的预测。我可能做错了什么?
【问题讨论】:
-
您的目标列是什么?从您的代码看来,您正在尝试预测
Default Branch而您的X矩阵也包含该列。你应该得到 100% 的准确率。 -
你是对的。目标列是默认分支。我得到了 100% 的准确率,但预测总是错误的。我添加了 100 行来提高准确率。但是预测检查总是错误的
-
你的意思是你有 100% 的准确率,但总是错的?
-
我的意思是,clf.score(X,y) 总是显示 100%。但我知道这是错的。
标签: python pandas algorithm artificial-intelligence