使用准备好的数据进行Scikit分类

2024-09-30 18:14:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Sci工具包learnpython库对一组url进行分类,以确定是否存在与用户配置文件匹配的特定关键字。用户有名字,电子邮件地址。。。以及分配给他们的url。我创建了一个txt,其中包含每个链接上每个配置文件数据匹配的结果,因此它的格式如下:

Name  Email  Address
  0     1      0      =>Relavent
  1     1      0      =>Relavent
  0     1      1      =>Relavent
  0     0      0      =>Not Relavent

其中0或1表示在页面上找到了属性(每行都是一个网页) 如何将这些数据提供给sci工具包,以便它可以使用它来运行分类器?我看到的例子都有来自预定义的sch-kit库的数据,比如数字或iris,或者是以我已经有的格式生成的。我只是不知道如何使用我必须提供给图书馆的数据格式

上面是一个玩具的例子,我有比3个更多的功能


Tags: 数据用户url工具包电子邮件地址格式配置文件
1条回答
网友
1楼 · 发布于 2024-09-30 18:14:45

所需的数据是一个^{} array(在本例中为“矩阵”),形状为(n_samples, n_features)。在

使用^{}csv-file读入正确格式的简单方法。另请参考this thread。在

让csv文件的内容(比如当前工作目录中的file.csv)为:

a,b,c,target
1,1,1,0
1,0,1,0
1,1,0,1
0,0,1,1
0,1,1,0

我们需要加载它

^{pr2}$

skip_header设置为True,以防止读取标题列(a,b,c,target行)。有关详细信息,请参阅numpy's documentation。在

加载数据后,需要根据输入数据格式进行一些预处理。预处理可以类似于分割输入和目标(分类)或将整个数据集拆分为训练和验证集(用于交叉验证)。在

为了将输入(特征矩阵)与输出(目标向量)分开,我们需要

features = data[:, :3]
targets = data[:, 3]   # The last column is identified as the target

对于上述给定的CSV数据,数组将使用如下所示:

features = array([[ 0, 1, 0],
              [ 1, 1, 0],
              [ 0, 1, 1],
              [ 0, 0, 0]])  # shape = ( 4, 3)

targets = array([ 1, 1, 1, 0])  # shape = ( 4, )

现在这些矩阵被传递给估计器对象fit函数。如果你使用的是流行的支持向量机分类器,那么

>>> from sklearn.svm import LinearSVC
>>> linear_svc_model = LinearSVC()
>>> linear_svc_model.fit(X=features, y=targets) 

相关问题 更多 >