最近,一位潜在雇主给我一项任务,要求我做以下工作:
- transfer a data set to S3
- create metadata for the data set
- creat a feature for the data set in spark
现在,这是一个实习生的职位,我对数据工程的概念还很陌生,我很难理解元数据是如何或者是否被用来创建特性的。
在特性工程和元数据方面,我已经浏览过许多站点,但这些网站都没有给我提供一个关于元数据是否直接用于构建特性的指示。
到目前为止,我在远离站点的地方收集到的是,当您构建一个特性时,它从给定的数据集中提取某些列,然后将这些信息放入一个
我有一个20列的训练数据集,所有这些都是我必须用于训练模型的因素,我已经获得了测试数据集,我必须应用我的模型进行预测并提交。
我在做最初的数据探索,出于好奇,我检查了训练数据和测试数据的级别,因为我们正在处理所有的分类variables.To,我很沮丧,大多数类别(变量)在训练和测试数据集中都有不同的级别。
例如
table(train$cap.shape) #training data column levels
b c f k x
196 4 2356 828 2300
table(test$cap.shape) #test data
b
我是机器学习的新手,我认为开始获得一些经验的一个好方法是尝试一些真实的数据库和python scikit库。我使用了哈伯曼的手术数据,这是一个二进制分类任务,可以在上找到。我用这些数据训练了一些感知器。在某种程度上,我决定演示过拟合的概念。因此,我将所有306个数据点(每个点有3个特征)映射到一个非常高的维度,使所有项都达到并包括11度。这是一个庞大的364个特征(比306个数据点还多)。然而,当我训练模型时,我没有实现零样本误差。我认为原因应该是有一些重合的点和不同的标签,所以我删除了重复的数据点,但同样,我无法实现零样本误差。下面是我使用scikit库的方法编写的代码中有趣的部分:
per
我想使用ExtraTreesClassifier计算给定数据集的特征重要性。我的目标是为进一步的分类过程找到高得分的特征。X数据集的大小为(10000,50),其中50列是特征,该数据集仅表示从一个用户(即,来自同一类)收集的数据,Y是标签(全零)。
但是,输出会以零的形式返回所有要素的重要性!!
代码:
from sklearn.ensemble import ExtraTreesClassifier
import matplotlib.pyplot as plt
model = ExtraTreesClassifier()
model.fit(X,Y)
X = pd.DataFrame(X
所以我使用的是textblob库,但是性能很差。
我已经序列化它并在循环之前加载它(使用泡菜)。
目前只需0.1(用于小训练数据)和0.3 ( 33'000个测试数据)。我需要让它更快一点,这可能吗?
一些代码:
# Pass trainings before loop, so we can make performance a lot better
trained_text_classifiers = load_serialized_classifier_trainings(config["ALL_CLASSIFICATORS"])
# Specify witch