在 Python 中将数据表示为特征向量的最佳方法

数据挖掘 机器学习 Python 分类 熊猫
2022-03-03 14:47:28

我有一个从推文集合中检索到的事件主题列表。一组特征已被提取,它们的值在 0 和 1 之间进行归一化。事件示例:

"paris_attack_news-20150107_100842-20150107_112852": {
    "ages": 0.5557594006583049,
    "density": 0.0012022814250710345,
    "followers": 0.1144661871115895,
    "friends": 0.13507755010659472,
    "hashtagCount": 0.033270950301517985,
    "lifespan": 0.29613227044582224,
    "mediaCount": 0.1095890410958904,
    "mentionCount": 0.020275919732441472,
    "objectivity": 0.2850584551023736,
    "polarity": 0.2963684492294102,
    "retweetCount": 0.21431767337807606,
    "status_count": 0.09222093073720204,
    "truth": 1.0,
    "tweetCount": 0.01300578034682081,
    "urlCount": 0.29494007989347537,
    "verified": 0.3392857142857143
}

现在我需要将每个事件表示为其特征的数组:

paris_attack_news-20150107_100842-20150107_112852 = [0.5557594006583049, 0.5557594006583049, 0.1144661871115895, 0.13507755010659472, ...]

之后,我需要以某种方式操作/聚合数组值,以根据结果对特定事件进行排序。

数据已经在 Python Pandas DataFrame 中(事件名称作为索引,特征作为列)。

从这里开始构建数组的最佳方式是什么(用于进一步存储的数据结构或 NumPy、sklearn 或类似的库)?

PS:然后我需要应用一些机器学习算法来检测事件是 TRUE 还是 FALSE,使用名为“truth”的特征:1 或 0 作为标签分类。

2个回答

Numpy 是最好的。你可以拿

np.array(dict.values())。

例如,dict = Paris_attck

大多数 ML 库都在 numpy 数组上运行。

Python 中的列表非常强大,使用列表列表并不是一个复杂的过程。

以下内容可能是您想要调查的内容。

events = [] for event in range(0,len(df.index)): an_event = [] an_event.append(df[event,'ages']) an_event.append(df[event,'density']) events.append(an_event)