【问题标题】:What are the steps should we take to analyze a dataset? [closed]我们应该采取哪些步骤来分析数据集? [关闭]
【发布时间】:2019-12-21 03:12:45
【问题描述】:

我是数据科学领域的新手,我想了解获取用于机器学习任务的任何数据集属性的关键步骤。

【问题讨论】:

  • 许多机器学习入门书籍、文章和课程都详细介绍了这一点
  • 欢迎来到 StackOverflow。请按照您创建此帐户时的建议遵循帮助文档中的发布指南。 On topichow to ask 和 ...the perfect question 在此处申请。 StackOverflow 不是设计、编码、研究或教程资源。您要求提供关于整个研究领域的基础广泛的入门书;这超出了 Stack Overflow 的范围。

标签: machine-learning deep-learning data-science


【解决方案1】:

您的要求非常笼统,并且您的要求没有明确定义,但是,我会尝试给您一个简短的介绍以帮助您入门。 所需知识(我认为):

  • 统计和概率
  • 数学基础知识
  • AI 技术和算法的基本知识

每一项研究的第一步都是定义问题,你想做什么?

例如:

“我想预测下一个买这辆车的人是男是女”

这类问题是一个分类问题,这意味着,解决方案会将“输入”的人正确地标记为男性或女性。 这称为模型,模型是现实世界及其属性的表示,我们希望使用机器学习工具来创建它。

我们通过查看历史数据来做到这一点,例如,假设在 1000 名男性顾客和 1000 名女性顾客中,850 名男性购买了汽车 X,其余购买了汽车 Y,760 名女性购买了汽车 Y,其余购买了 X .

现在,如果我告诉你下一位顾客买了汽车 X,你能告诉我它的性别吗?

你可能认为它是男性,但它仍然有机会成为女性,然而,它实际上是男性的可能性更高,因为我们已经知道男性和女性的选择模式。 这基本上就是它的工作原理,给定一个数据集,比如你的数据集,你需要使用它来预测其中的一些东西。

注意:您的数据集是否适合这一点,或者您将从中获得多少信息是另一回事。

现在,您可以从中学习的每条数据都称为一条记录:

first_name:'LEROY',last_name:'JENKINS',年龄:'25',性别:'male' car_bought:'x'

每个属性都称为一个特征。 有些特征对你来说可能没用,在我们的例子中,只有性别很重要,其余的都没用,根据无用的特征学习可能会导致你的模型学习到无效数据。 此外,某些记录可能包含无效数据,例如 NULL 和缺失数据,首先需要做的是预处理您的数据并为学习做好准备。

一旦你的数据准备好了,你就可以开始训练了,为此,你必须选择最适合你的算法,我不会重复这些算法,因为有很多,你必须获得更多关于这些的知识,但是有很多图书馆,你应该谷歌它。

我会给你一个简单的神经网络使用的简短代码示例,让你开始预测一个简单数学函数的结果:F(x) = 2*x

# prepare the dataset
X = np.arange(0.0, 1000.0, 1.0)
Y = np.empty(shape=0, dtype=float)
for x in X:
    Y = np.append(Y, float(2*x)))
return X, Y

还有一个使用 keras 的简单神经网络:

model = Sequential()
model.add(Dense(5, input_shape=(1,)))
model.add(Dense(1, activation='linear'))

# compile model
model.compile(loss='mean_absolute_error', optimizer='adam', metrics=['accuracy'])

# train model
m = model.fit(self.x_train, self.y_train, epochs=500, batch_size=1)

使用输出模型进行预测:

for i in np.arange(2000.0, 2010.0, 1.0):
    df = pandas.DataFrame()
    df['X'] = [i]
    print('f(',i,') = ',model.predict(df)[0][0])

将输出:

f(2000.0) = 4000.0
f(2001.0) = 4002.0
f(2002.0) = 4004.0
.
.

即使模型在现在可以通过从数据集中学习模式来预测输出之前从未见过这些数字。 我不希望您了解 keras 的工作原理或作用,只是让您了解使用 ML 算法是什么感觉。

我希望这回答了你的问题,它可以帮助你自己开始。

【讨论】:

    【解决方案2】:

    您的问题过于笼统,您需要详细说明。数据集的属性是什么意思? 不过,我会尝试回答我从您的问题中理解的内容。

    在选择您遇到的问题类型(分类或回归)后,您需要尝试将数据可视化,以便更好地了解您在做什么。

    Facets 是执行此操作的绝佳工具https://pair-code.github.io/facets/。它将帮助您更好地理解您的数据是如何分布的,并可能让您对如何解决您的问题有一些额外的见解,但您如何使用它取决于您遇到的问题。

    您还应该可视化您的相关矩阵,以查看您是否具有高度相关的特征,因此您可以删除不必要的特征。

    我记得当我开始从事我的第一个机器学习项目时,事情变得不堪重负,但我能给你的最好建议是尝试找到一个分步指南来处理你面临的类似问题,我相信你会找到很多并尝试澄清更多您的问题,我们可以为您提供更多见解

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 2014-09-03
      • 1970-01-01
      • 2020-12-08
      相关资源
      最近更新 更多