gpt4 book ai didi

machine-learning - 为范围内存在的输入值选择机器学习算法

转载 作者:行者123 更新时间:2023-11-30 09:28:16 26 4
gpt4 key购买 nike

我正在根据土壤 pH 耐受值开发最适合裁剪的机器学习模型。存在于范围(例如(5.0-6.0))中的输入值和多个裁剪值位于单个范围值中。比如

------      ---------  
Crop pH-values
------ ---------
Apple (5.0-6.5)
Basil (5.5-6.5)
Carrot (5.5-7.0)
Cauliflower (5.5-7.5)
Chervil (6.0-6.7)
Corn (5.5-7.5.)
Cucumber (5.5-7.0)

请建议哪种算法最适合当前问题。

最佳答案

如果你想要的是预测Crop的类型,这就是一个分类问题。您可以首先查看 classifiers 中的一些内容。 Scikit-Learn 中,使用起来非常简单。您还可以通过文档中的示例更好地了解如何继续操作。

<小时/>
  • 这是有关如何进行的简要概述

首先,您必须进行一些预处理。您可以首先从 pH 值范围 的上下限中提取信息,例如,您可以这样做:

s = df['pH-values'].str.strip('(&)').str.split('-')
X_df = pd.DataFrame(s.values.tolist(), columns = ['low','high'])
X_df['high'] = X_df.high.str.rstrip('.').astype(float)
X_df['low'] = X_df.low.astype(float)
print(X_df)

low high
0 5.0 6.5
1 5.5 6.5
2 5.5 7.0
3 5.5 7.5
4 6.0 6.7
5 5.5 7.5
6 5.5 7.0

下一步是将训练和测试数据提供给您决定使用的任何分类器(例如 RandomForestClassifier),并预测通过分割数据获得的一些测试数据 X_testtrain和test`中:

from sklearn.model_selection import train_test_split
y = df.Crop.values
X = X_df.values

# Split in train and test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)

# Fit the classifier
rf = RandomForestClassifier()
model = rf.fit(X_train, y_train)

# Predict using X_test
y_pred = model.predict(X_test)

这会给你一些东西:

print(y_pred)
array(['Carrot', 'Carrot', 'Cauliflower'], dtype=object)

最后检查使用定义的模型获得的准确性。为此,您可以使用 accuracy_score :

from sklearn.metrics import accuracy_score
accuracy_score(y_test, y_pred, normalize=False)

关于machine-learning - 为范围内存在的输入值选择机器学习算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53971550/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com