如何将数据集的示例加载到不同的数组中以进行决策树分类?
How to load a dataset's examples into different arrays for a decision tree classification?
我有一个包含 15 个示例的数据集。它有 3 个特征和一个目标标签。如何将对应于 3 个特征的值加载到 Python (Pandas) 中的数组中?
我想在数据集上训练决策树分类器。为此,我必须将示例加载到数组中,这样所有数据点都在数组 X 中,相应的标签在另一个数组 Y 中。我应该如何进行?
数据集如下所示:
x1 x2 x3 z
0 5.5 0.5 4.5 2
1 7.4 1.1 3.6 0
2 5.9 0.2 3.4 2
3 9.9 0.1 0.8 0
4 6.9 -0.1 0.6 2
5 6.8 -0.3 5.1 2
6 4.1 0.3 5.1 1
7 1.3 -0.2 1.8 1
8 4.5 0.4 2.0 0
9 0.5 0.0 2.3 1
10 5.9 -0.1 4.4 0
11 9.3 -0.2 3.2 0
12 1.0 0.1 2.8 1
13 0.4 0.1 4.3 1
14 2.7 -0.5 4.2 1
我已经将数据集加载到数据框中:
import pandas as pd
df = pd.read_csv('C:\Users\Dell\Downloads\dataset.csv')
print(df.to_string())
我需要知道如何将特征 x1、x2 和 x3 对应的值加载到 X(作为训练示例)以及将标签 z 对应的值加载到 Y(作为训练示例的标签)。
谢谢。
首先将数据加载到 data.frame。
由于您的格式非常奇怪,我将其更改为普通的 .csv 以使该示例更易于理解。
x1,x2,x3,z
5.5,0.5,4.5,2
7.4,1.1,3.6,0
5.9,0.2,3.4,2
9.9,0.1,0.8,0
6.9,-0.1,0.6,2
6.8,-0.3,5.1,2
4.1,0.3,5.1,1
1.3,-0.2,1.8,1
4.5,0.4,2.0,0
0.5,0.0,2.3,1
5.9,-0.1,4.4,0
9.3,-0.2,3.2,0
1.0,0.1,2.8,1
0.4,0.1,4.3,1
2.7,-0.5,4.2,1
如果你有data.frame中的数据,就已经完成了一半的工作。我向您发布了一个使用线性回归模型的“caret”包的示例。
library("caret")
my.dataframe <- read.csv("myExample.csv", header = T, sep =",")
fit <- train(z ~ ., data = my.dataframe, method = "lm")
fit
基本上你只需要替换"lm"方法来训练各种其他模型。
这是一个列表,您可以从中进行选择:
http://topepo.github.io/caret/available-models.html
要训练随机森林模型,您需要输入
library("caret")
my.dataframe <- read.csv("myExample.csv", header = T, sep =",")
fit <- train(z ~ ., data = my.dataframe, method = "rf")
fit
但也请注意,您的数据非常有限 - 并非每个模型仅对 15 个数据点都有意义。
随机森林模型会给你这样的警告:
45:在 randomForest.default(x, y, mtry = param$mtry, ...) 中:
响应具有五个或更少的唯一值。您确定要进行回归吗?
我有一个包含 15 个示例的数据集。它有 3 个特征和一个目标标签。如何将对应于 3 个特征的值加载到 Python (Pandas) 中的数组中?
我想在数据集上训练决策树分类器。为此,我必须将示例加载到数组中,这样所有数据点都在数组 X 中,相应的标签在另一个数组 Y 中。我应该如何进行?
数据集如下所示:
x1 x2 x3 z
0 5.5 0.5 4.5 2
1 7.4 1.1 3.6 0
2 5.9 0.2 3.4 2
3 9.9 0.1 0.8 0
4 6.9 -0.1 0.6 2
5 6.8 -0.3 5.1 2
6 4.1 0.3 5.1 1
7 1.3 -0.2 1.8 1
8 4.5 0.4 2.0 0
9 0.5 0.0 2.3 1
10 5.9 -0.1 4.4 0
11 9.3 -0.2 3.2 0
12 1.0 0.1 2.8 1
13 0.4 0.1 4.3 1
14 2.7 -0.5 4.2 1
我已经将数据集加载到数据框中:
import pandas as pd
df = pd.read_csv('C:\Users\Dell\Downloads\dataset.csv')
print(df.to_string())
我需要知道如何将特征 x1、x2 和 x3 对应的值加载到 X(作为训练示例)以及将标签 z 对应的值加载到 Y(作为训练示例的标签)。
谢谢。
首先将数据加载到 data.frame。
由于您的格式非常奇怪,我将其更改为普通的 .csv 以使该示例更易于理解。
x1,x2,x3,z
5.5,0.5,4.5,2
7.4,1.1,3.6,0
5.9,0.2,3.4,2
9.9,0.1,0.8,0
6.9,-0.1,0.6,2
6.8,-0.3,5.1,2
4.1,0.3,5.1,1
1.3,-0.2,1.8,1
4.5,0.4,2.0,0
0.5,0.0,2.3,1
5.9,-0.1,4.4,0
9.3,-0.2,3.2,0
1.0,0.1,2.8,1
0.4,0.1,4.3,1
2.7,-0.5,4.2,1
如果你有data.frame中的数据,就已经完成了一半的工作。我向您发布了一个使用线性回归模型的“caret”包的示例。
library("caret")
my.dataframe <- read.csv("myExample.csv", header = T, sep =",")
fit <- train(z ~ ., data = my.dataframe, method = "lm")
fit
基本上你只需要替换"lm"方法来训练各种其他模型。 这是一个列表,您可以从中进行选择: http://topepo.github.io/caret/available-models.html
要训练随机森林模型,您需要输入
library("caret")
my.dataframe <- read.csv("myExample.csv", header = T, sep =",")
fit <- train(z ~ ., data = my.dataframe, method = "rf")
fit
但也请注意,您的数据非常有限 - 并非每个模型仅对 15 个数据点都有意义。
随机森林模型会给你这样的警告:
45:在 randomForest.default(x, y, mtry = param$mtry, ...) 中: 响应具有五个或更少的唯一值。您确定要进行回归吗?