【问题标题】:Combine results from two machine learning models结合两个机器学习模型的结果
【发布时间】:2020-02-03 23:19:42
【问题描述】:

我有两个机器学习模型和一个目标我单独运行每个模型现在正在寻找两者之间的连接以获得一个结果...

其中一个模型包含 tf-idf 和目标的文本,另一个模型包含 6 个属性和目标,这意味着我的所有数据都包含 6 个属性,所以我希望在一个模型中

第一个包含两个功能

from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
DTClass = DecisionTreeClassifier(criterion="gini", splitter="best", 
 random_state=77)
X_train, X_test, y_train, y_test = train_test_split(bow, 
 df1["attacktype1_txt"], test_size = 1/5, random_state = 50)
DTClass.fit(X_train,y_train)
prediction = DTClass.predict(X_test)
from sklearn.metrics import accuracy_score
print("accuracy score:")
print(accuracy_score(y_test, prediction))

第二个

array = df.values
X = array[:,1:7]
Y = array[:,7]
 validation_size = 0.20
seed = 4
X_train, X_validation, Y_train, Y_validation = 
 model_selection.train_test_split(X, Y, test_size=validation_size, 
  random_state=seed)
    seed = 4
      scoring = 'accuracy'
      models.append(('CART', DecisionTreeClassifier()))
       results = []
     names = []
     for name, model in models:
    kfold = model_selection.KFold(n_splits=10, random_state=seed)
    cv_results = model_selection.cross_val_score(model, X_train, Y_train, 
    cv=kfold, scoring=scoring)
     results.append(cv_results)
    names.append(name)
    msg = "%s: %f (%f)" % (name, cv_results.mean(), cv_results.std())
    print(msg)

【问题讨论】:

    标签: python machine-learning scikit-learn decision-tree


    【解决方案1】:

    您的问题似乎不是合并模型的问题,而是合并数据的问题。除非您有理由假设包含数据会降低模型性能,否则应避免因拆分模型而丢失信息。

    在这种情况下,数据似乎有点混乱。也许合并到一个 X 数组(我建议在 pandas 中这样做) 和一个 y。如果您的 y labels 不兼容,那么您需要更正它们。


    此外,我建议查看以下工具:

    【讨论】:

      猜你喜欢
      • 2022-12-10
      • 2020-10-14
      • 2019-06-16
      • 2014-05-20
      • 1970-01-01
      • 2021-08-03
      • 2017-02-01
      • 2021-09-14
      • 1970-01-01
      相关资源
      最近更新 更多