Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于多输入(如月份和固定值列)预测多输出_Python_Machine Learning_Regression - Fatal编程技术网

Python 基于多输入(如月份和固定值列)预测多输出

Python 基于多输入(如月份和固定值列)预测多输出,python,machine-learning,regression,Python,Machine Learning,Regression,我有一个数据,如图所示。大约25000行。数据包含了过去4年12个月的详细信息。我想预测特定月份和特定职位的客户和职位空缺 from sklearn.cross_validation import train_test_split from sklearn import preprocessing le = preprocessing.LabelEncoder() df_final['Clientname_numeric'] = le.fit_transform(df_final['Client

我有一个数据,如图所示。大约25000行。数据包含了过去4年12个月的详细信息。我想预测特定月份和特定职位的客户和职位空缺

from sklearn.cross_validation import train_test_split
from sklearn import preprocessing
le = preprocessing.LabelEncoder()
df_final['Clientname_numeric'] = le.fit_transform(df_final['ClientName'])
X = df_final[['MONTH','JobTitleID']]
y = df_final[['PositionsOpened','Clientname_numeric']]
x_train,x_test,y_train,y_test = train_test_split(X,y,test_size = 0.05 )
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix
clf = RandomForestClassifier()
clf.fit(x_train, y_train)
predictions = clf.predict(x_test)
predictions = predictions.astype(int)
accuracy = accuracy_score(y_test,predictions)
我使用上面的代码,并得到错误
ValueError:不支持多类多输出

您可以使用软件包
scikit学习
和。我应该指出,我对机器学习只有非常肤浅的了解,所以对于你的具体情况来说,这可能是错误的。然而,
随机森林分类器
允许一次预测多个输出

通常,根据您的数据,您可以这样处理(使用Scikit学习):

  • 将表拆分为输入列和输出列。这可能是使用
    pandas
    包最容易实现的。然后将它们分成训练和测试子集。Scikit提供了一种新的解决方案
  • 创建一个分类器实例,如
    RandomForestClassifier
    ,并使用训练集中的输入和输出数据对其进行训练(
    classifier.train(inputs\u train,outputs\u train)
  • 给定测试数据的输入,预测输出(
    classifier.predict(inputs\u predict)
    )。确定您是否对分类器的预测质量感到满意

对于分类多个输出,sklearn有一个库,它需要一个基础估计器,如随机森林、梯度提升等

该库允许多重输出回归和分类


希望这有帮助

我没有得到很好的精度,它是0.27。有其他模型可以应用吗?对于每一家公司来说,这是一张不同的图表,我无法理解该应用什么。我已经更新了上面的内容,代码发布在那里