gpt4 book ai didi

python - 使用 Scikit-Learn 的多元分类和回归模型的准确性

转载 作者:行者123 更新时间:2023-11-30 09:42:48 25 4
gpt4 key购买 nike

我写了一个简单的线性回归模型和一个决策树模型,它们工作得很好。我的问题是,如何计算这两个模型的准确率。我的意思是,计算分类模型和回归模型的准确性有什么区别?我需要将数据分为训练和测试吗?

到目前为止,我正在使用 .score(x_test, y_test) 但我读到这不是模型的准确性。我尝试过使用指标,但总是收到此错误:

ValueError: Found input variables with inconsistent numbers of samples: [2, 1]

请检查我的代码,我尝试让它工作,但失败了。

这是代码:

import pandas as pd
from sklearn import linear_model
from sklearn import tree
from sklearn.model_selection import train_test_split

from sklearn.metrics import accuracy_score
from sklearn.metrics import mean_squared_error


dic = {'par_1': [10, 30, 13, 19, 25, 33, 23],
'par_2': [1, 3, 1, 2, 3, 3, 2],
'outcome': [101, 905, 182, 268, 646, 624, 465]}

df = pd.DataFrame(dic)

variables = df.iloc[:,:-1]
results = df.iloc[:,-1]

var_train, var_test, res_train, res_test = train_test_split(variables, results, test_size = 0.2, random_state = 4)

regression = linear_model.LinearRegression()
regression.fit(var_train, res_train)

input_values = [14, 2]

prediction = regression.predict([input_values])
print(prediction)

accuracy_regression = mean_squared_error(var_test, prediction)
print(accuracy_regression)


dic = {'par_1': [10, 30, 13, 19, 25, 33, 23],
'par_2': [1, 3, 1, 2, 3, 3, 2],
'outcome': ['yes', 'yes', 'no', 'yes', 'no', 'no', 'yes']}

df = pd.DataFrame(dic)

variables = df.iloc[:,:-1]
results = df.iloc[:,-1]

var_train, var_test, res_train, res_test = train_test_split(variables, results, test_size = 0.2, random_state = 4)

decision_tree = tree.DecisionTreeClassifier()
decision_tree.fit(var_train, res_train)

input_values = [18, 2]

prediction = decision_tree.predict([input_values])[0]
print(prediction)

accuracy_classification = accuracy_score(res_test, prediction)
print(accuracy_classification)

最佳答案

准确度是用于分类但不用于回归的指标。在回归的情况下,可以使用R平方、负均方误差等。准确度定义为正确分类的数据点数量占数据点总数的比例,在连续变量的情况下不使用。

您可以使用以下指标来衡量回归模型的可预测性。 https://scikit-learn.org/stable/modules/classes.html#regression-metrics例如,您可以使用

计算 R 平方
metrics.r2_score(y_true, y_pred[, …])

此外,可以为分类模型实现以下内容。 https://scikit-learn.org/stable/modules/classes.html#classification-metrics可以使用

计算准确性
metrics.accuracy_score(y_true, y_pred[, …])

在您的情况下,您可以使用以下方法计算回归模型的 R 平方:

y_pred_test = regression.predict(x_test)
metrics.score(y_true, y_pred_test)

下面还为您提供了决策树的准确性。

y_pred_test = decision_tree.predict(x_test)
metrics.accuracy_score(y_true, y_pred_test)

关于python - 使用 Scikit-Learn 的多元分类和回归模型的准确性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56622349/

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