我在药学领域工作,主要研究化学化合物,通过计算它们的化学性质或描述符,我们可以预测这些化合物的某些生物功能。我使用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)