使用准备好的数据进行SCI-KIT分类



我正在尝试使用 SCI-KIT LEAL LEAL LEAL LEALL LIBRARY 将一堆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-KIT,以便它可以使用它来运行分类器?我所看到的示例都来自预定义的Sch-kit库,例如数字或虹膜,或者正在以我已经具有的格式生成。我只是不知道如何使用我必须提供的数据格式

上面是一个玩具示例,我的功能比3

要多。

所需的数据是带有形状(n_samples, n_features)numpy数组(在这种情况下为"矩阵")。

使用numpy.genfromtxt读取正确格式的CSV文件的一种简单方法。另请参阅此线程。

让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

为了加载我们做

data = np.genfromtxt('file.csv', skip_header=True)

skip_header设置为True,以防止读取标头列(a,b,c,target行)。有关更多详细信息,请参考Numpy的文档。

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

要将输入(特征矩阵)与输出(目标向量)分开

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函数。如果您使用的是流行的SVM分类器,则

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

相关内容

  • 没有找到相关文章

最新更新