使用scikit-learn进行变量预测而非二元分类是否可行,如果可以,如何操作

我在药学领域工作,主要研究化学化合物,通过计算它们的化学性质或描述符,我们可以预测这些化合物的某些生物功能。我使用Python和R编程语言进行这项工作,同时也使用Weka机器学习工具。Weka提供了使用SVM和其他支持算法进行二元预测的功能。

示例数据集:训练集

Chem_ID   MW LogP HbD HbE IC50 Class_label  001    232  5    0   2    20    0  002    280  2    1   4    41    1  003    240  5    0   2    22    0  004    300  4    1   5    48    1  005    245  2    0   2    24    0  006    255  1    0   2    20    0  007    299  5    1   4    49    1

测试集

Chem_ID  MW   LogP HbD HbE IC50 Class_label    000   255  1    0   2    20    

在Weka中,有几种算法可以用来预测“class_label”,或者我们也可以预测特定的变量(我们通常预测“IC50”值)。scikit-learn或Python中的其他机器学习库是否具有这种能力?如果有,如何使用?谢谢。


回答:

是的,这是一个回归问题。有许多不同的模型可以解决回归问题,从简单的线性回归,到支持向量回归决策树回归器(还有更多)。

它们的工作原理与二元分类器类似:你提供训练数据,并不是给出0/1标签,而是提供目标值进行训练。在你的情况下,你会将想要预测的特征作为目标值,并从训练数据中删除它。

简短示例:

target_values = training_set['IC50']training_data = training_set.drop('IC50')clf = LinearRegression()clf.fit(training_data, target_values)test_data = test_set.drop('IC50')predicted_values = clf.predict(test_data)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注