TowardsDataScience 博客中文翻译 2021(三十六)

原文:TowardsDataScience Blog

协议:CC BY-NC-SA 4.0

让我作为数据科学家的工作更轻松的 5 件事

原文:https://towardsdatascience.com/5-things-that-make-my-job-as-a-data-scientist-easier-dc0820f0f136?source=collection_archive---------1-----------------------

办公时间

在作为一名数据科学家工作了一年之后,我在这里分享我一路走来学到的一些东西,我觉得这些东西很有帮助,并且提高了我的效率。希望这些建议能对你的旅程有所帮助:)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

博伊图梅洛·菲特拉Unsplash 上的照片

  1. 熊猫的时间序列数据处理

如果您使用时间序列数据,那么您可能已经花费了大量的时间来计算缺失的记录,或者通过 SQL 查询或编写自定义函数以特定的时间粒度来聚合数据。Pandas 有一个非常高效的重采样函数,它可以帮助您以特定的频率处理数据,只需将 DataFrame 索引设置为时间戳列。

我将使用房间占用率数据集来举例说明这个函数。你可以在这里找到数据集。这个数据集记录了分钟级别的观察结果。

import pandas as pd
data = pd.read_csv('occupancy_data/datatest.txt').reset_index(drop = True)
data.head(5)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

首先,我展示了一个简单的聚合,可以每小时获取一次指标。

data.index = pd.to_datetime(data['date'])
pd.DataFrame(data.resample('H').agg({'Temperature':'mean',
                                     'Humidity':'mean',
                                     'Light':'last',
                                     'CO2':'last',
                                     'HumidityRatio' : 'mean',
                                     'Occupancy' : 'mean'})).head(5)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

尽管这个数据集并不稀疏,但在现实世界中,人们经常会遇到缺少记录的数据。考虑这些记录很重要,因为如果没有记录,您可能希望输入 0 值,或者使用上一个或下一个时间步长进行插补。下面,我删除了第 15 小时的记录,以展示如何使用第 14 小时的时间戳来估算缺失值:

data = pd.read_csv('occupancy_data/datatest.txt').reset_index(drop = True)data_missing_records = data[~(pd.to_datetime(data.date).dt.hour == 15)].reset_index(drop = True)data_missing_records.index = pd.to_datetime(data_missing_records['date'])data_missing_records.resample('H', base = 1).agg({'Temperature':'mean',
        'Humidity':'mean',
        'Light':'last',
        'CO2':'last',
        'HumidityRatio' : 'mean',
         'Occupancy' : 'mean'}).fillna(method  = 'ffill').head(5)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.通过 Plotly Express 实现快速可视化

从分析到模型训练到模型报告,经常需要可视化。特别是对于时间序列图,我注意到我花了很多时间试图在 matplotlib 中定制我的 x 轴刻度的大小和角度。在我改用 Plotly Express 后,我减少了大约 70%的制作图表的时间。如果我想在我的视觉效果中实现特定的细节,我仍然可以通过使用 Plotly Graph 对象来实现。此外,Plotly 通过 Express 提供了许多简单的选项,如在绘图中设置组颜色,从而产生更强大的可视化效果。

import plotly.express as px
data['Temp_Bands'] = np.round(data['Temperature'])
fig = px.line(data, x = 'date',
              y = 'HumidityRatio',
              color = 'Temp_Bands',
             title = 'Humidity Ratio across dates as a function of
             Temperature Bands',
             labels = {'date' : 'Time Stamp',
                      'HumidityRatio' : 'Humidity Ratio',
                      'Temp_Bands' : 'Temperature Band'})
fig.show()

使用上面提到的占用数据集,我使用 Plotly Express 创建了带有颜色分组的线图。我们可以看到只用两个函数创建这些图是多么容易。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.通过 Swifter 加速熊猫申请()

我有时在处理 pandas 列时会遇到很长的等待时间,即使是在有大型实例的笔记本上运行代码。取而代之的是一个简单的单词添加,可以用来加速 pandas 数据框架中的应用功能。人们只需要更快地导入库。

def custom(num1, num2):

    if num1 > num2:
        if num1 < 0:
            return "Greater Negative"
        else:
            return "Greater Positive"
    elif num2 > num1:
        if num2 < 0:
            return "Less Negative"
        else:
            return "Less Positive"
    else:
        return "Rare Equal"import swifter 
import pandas as pd
import numpy as npdata_sample = pd.DataFrame(np.random.randint(-10000, 10000, size = (50000000, 2)), columns = list('XY'))

我创建了一个 5000 万行的数据帧,并比较了通过更快的 apply()和普通的 apply()处理它所需的时间。我还创建了一个带有简单 if else 条件的虚拟函数来测试这两种方法。

%%timeresults_arr = data_sample.apply(lambda x : custom(x['X'], x['Y']), axis = 1)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

%%timeresults_arr = data_sample.swifter.apply(lambda x : custom(x['X'], x['Y']), axis = 1)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们能够将处理时间减少 64.4%,从 7 分 53 秒减少到 2 分 38 秒。

4.Python 中的多重处理

虽然我们的主题是降低时间复杂度,但我经常以处理我希望在多个粒度上处理的数据集而告终。在 python 中使用多处理可以帮助我通过利用多个工作者来节省时间。

我使用上面创建的相同的 5000 万行数据框架来演示多处理的有效性。除了这次我添加了一个分类变量,它是从一组元音中选择的随机值。

import pandas as pd
import numpy as np
import randomstring =  'AEIOU'data_sample = pd.DataFrame(np.random.randint(-10000, 10000, size = (50000000, 2)), columns = list('XY'))
data_sample['random_char'] = random.choices(string, k = data_sample.shape[0])
unique_char = data_sample['random_char'].unique()

我使用了一个 for 循环和 concurrent.futures 中的进程池执行器来演示我们可以实现的运行时减少。

%%timearr = []for i in range(len(data_sample)):

    num1 = data_sample.X.iloc[i]
    num2 = data_sample.Y.iloc[i]

    if num1 > num2:
        if num1 < 0:
            arr.append("Greater Negative")
        else:
            arr.append("Greater Positive")
    elif num2 > num1:
        if num2 < 0:
            arr.append("Less Negative")
        else:
            arr.append("Less Positive")
    else:
        arr.append("Rare Equal")

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

def custom_multiprocessing(i):

    sample = data_sample[data_sample['random_char'] == \
    unique_char[i]]

    arr = []

    for j in range(len(sample)):
        if num1 > num2:
            if num1 < 0:
                arr.append("Greater Negative")
            else:
                arr.append("Greater Positive")
        elif num2 > num1:
            if num2 < 0:
                arr.append("Less Negative")
            else:
                arr.append("Less Positive")
        else:
            arr.append("Rare Equal")

    sample['values'] = arr

    return sample

我创建了一个函数,允许我分别处理每个元音分组:

 %%time 
import concurrentdef main():
    aggregated = pd.DataFrame()

    with concurrent.futures.ProcessPoolExecutor(max_workers = 5) as executor:
        results = executor.map(custom_multiprocessing, range(len(unique_char)))if __name__ == '__main__':
    main()

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们看到 CPU 时间减少了 99.3%。尽管必须记住小心使用这些方法,因为它们不会序列化输出,因此通过分组使用它们是利用这种能力的好方法。

5.作为公制的梅斯

随着使用机器学习和深度学习方法进行时间序列预测的兴起,使用仅仅基于预测值和实际值之间的距离的度量标准而不是是必不可少的。预测模型的度量还应该使用时间趋势的误差来评估模型的性能,而不仅仅是时间点的误差估计。输入平均绝对刻度误差!该指标考虑了如果我们使用随机游走方法(上一个时间戳的值将是下一个时间戳的预测值)时会出现的误差。它将模型的误差与简单预测的误差进行比较。

def MASE(y_train, y_test, pred): 

    naive_error = np.sum(np.abs(np.diff(y_train)))/(len(y_train)-1)        
    model_error = np.mean(np.abs(y_test - pred))return model_error/naive_error

如果 MASE > 1,则该模型的表现比随机漫步差。MASE 越接近 0,预测模型越好。

在本文中,我们介绍了一些我经常使用的技巧,让我作为一名数据科学家的生活变得更加轻松。评论分享一些你的小技巧吧!我很想了解更多其他数据科学家在工作中使用的技巧。

这也是我的第一篇媒体文章,我觉得我在对虚无说话,所以如果你有任何反馈要分享,请随时批评和联系:)

攻读数据科学硕士学位需要考虑的 5 件事

原文:https://towardsdatascience.com/5-things-to-consider-in-a-data-science-masters-degree-48a84028959d?source=collection_archive---------20-----------------------

意见

以下是在攻读数据科学或机器学习研究生学位时要考虑的最重要的因素。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Unsplash【1】上由 Seyi Ariyo 拍摄的照片。

目录

  1. 介绍
  2. 学费
  3. 学校位置(即使偏僻)
  4. 节目持续时间
  5. 专业化类型
  6. 顶点
  7. 摘要
  8. 参考

介绍

作为一个研究并应用于许多数据科学硕士项目的人,我逐渐认识到一系列决定一个程序是否优秀的特征,以及通常需要考虑的因素。虽然在选择你最终将完成哪个硕士学位时有无数事情要考虑,但我整理了我在选择数据科学硕士学位时考虑的五件事情。我的希望是,你也可以思考这些特征,并将它们应用到你自己的搜索中,这将使你成为一名拥有硕士学位的专业数据科学家。

学费

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

照片由 NeONBRANDUnsplash【2】上拍摄。

这个话题可能是讨论的禁忌,因为它更经常地以一种关于金钱或个人财务,或者你有多少钱,你愿意为一个学位花多少钱的方式被详细讨论。也就是说,我希望看到更多的人谈论学费,以及学费对他们的影响,不仅是在他们寻找工作之前,而且是在他们寻找研究生课程之后。我为我的项目支付了相当多的费用,将近 60,000 美元,虽然我认为这是一个天文数字,但我可以说这是我愿意支付的金额,因为我的投资回报。我这么说的意思是,有了数据科学硕士学位,完成课程后有了一份新的数据科学工作,以及在数据科学领域的长期职业生涯,我向自己证明了这是值得的,因为它将为我提供否则我不会得到的报酬。虽然你面试或工作的一些公司不会要求硕士学位,但一些公司会或会把它作为工作描述中的必备条件。这可以让公司放心,你已经在某个领域学习和专攻了几个月,让他们在面试之外对你的能力有更多的信任和信心。也就是说,低学费绝不是更糟糕的投资,反之亦然,这只是你在参加最终选定的数据科学硕士学位课程时需要考虑的事情。最终,你会考虑很多事情,学费和学位的价格总体来说非常重要。

以下是你应该考虑学费的一些原因:

  • 投资回报率
  • 一定年限内你愿意承担的债务量
  • 你想花多少中等/可接受的学费
  • 如果学费比我将在下面讨论的其他因素更重要的话
  • 如果你的雇主愿意支付你的学费

如你所见,学费是决定你最终去哪所学校的一个重要因素。如果你在项目完成后并不打算成为一名数据科学家,不要让自己负债,相反,如果你出于好奇想了解更多,可以寻找一个更便宜、期限更短的数据科学认证。然而,如果你决定了一个硕士项目,学校本身及其各自的位置也很重要,就像学费一样。

学校位置(即使偏远)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

提莫·维林克Unsplash【3】上拍摄的照片。

现在很多硕士课程都是在线的,尤其是在数据科学方面。世界事件的现状使得这一点变得更加普遍。考虑学校在哪里是很关键的,即使学校完全在线或者很偏远。为什么是因为你学校的位置往往是你工作的地方。当你申请数据科学工作时,在公司所在州或城市的知名学校完成学位会更好。例如,我在达拉斯的 SMU 完成了我的硕士学位。这个项目大部分是远程的(有一些亲身经历 s)。因为我申请的是德克萨斯州的工作,公司、招聘经理和招聘人员会看到他们更熟悉的学校。虽然这并不一定能保证更多的招聘人员和经理会更认可你,但对某些人来说可能是这样,而且这是值得的。此外,如果你去一个离你住的地方很近的学校,你可以和那些也在同一所学校上学的人建立联系和网络。

如果你最终亲自参加硕士课程,那么地点当然也是决定的一个重要因素。大多数攻读硕士学位的人目前会同时从事一份工作。也就是说,缩短通勤时间是有好处的,这样你就不会太累了。

以下是考虑学校位置的主要原因:

  • 学校的声誉让公司、招聘人员和招聘经理找到你/你可能会更突出
  • 与你学校的同学建立关系网
  • 如果你是面对面学习,通勤时间会更短

无论您是面对面学习、远程/在线学习还是两种方式的混合学习,学校位置都是决定注册哪个数据科学硕士项目时要考虑的重要因素。接下来要考虑的是程序的长度。

节目持续时间

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Icons8 团队Unsplash【4】上的照片。

根据你目前的状态,你会发现这个因素在你的考虑中特别重要。数据科学硕士项目的时间长短差异很大。尽管硕士学位传统上要求两年完成,但有些要短得多——甚至总共一年左右。你可能想解决这样的问题,比如你是否有孩子,你是否想在一年的时间里同时学习和工作,你是否想在学习之余享受三个月/暑假,等等。我做的这个项目花了将近 2 年时间,修了大约 33 个学分。这很好,因为我有一些休息,但不是太多,我浪费时间。

您的课程持续时间可能会受到以下因素的影响:

  • 如果你想要一个减速的节目而不是平均节目长度
  • 如果你时间紧迫,有些项目还提供速成课程
  • 如果你的雇主愿意支付较短或较长的课程时间
  • 如果你有一个家庭,想选择一个减速课程,以便在一周内少上几节课,这样你就能更好地平衡学习、工作和生活

有几个原因可以解释为什么一个项目的持续时间很重要。我已经讨论了一些我经历过的更明显的原因,这些原因也适用于你的情况。一旦你深入了解具体的硕士课程,你会想考虑该课程提供的专业类型。

专业化类型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

布莱克·康纳利在Unsplash【5】上拍摄的照片。

通常,研究生课程会提供数据科学下更具体的专业。您还可以期待不同程序之间更独特的专门化。例如,我可以选择更多地关注商业分析,而不是作为专业的机器学习。有些项目可能根本不提供专业,所以记住这一点也很重要。我选择专注于机器学习,因为我想了解更多关于常见的机器学习算法以及如何将它们应用到商业场合,以及使用机器学习进行编程。业务分析方法适用于希望更多地面向客户的人,可能是利用数据科学知识来推动决策的公司的高层领导,或者是希望较少关注代码和编程,而更多关注洞察力的人。

以下是一些常见的专业化:

  • 统计数字
  • 数据分析
  • 商业分析
  • 数据工程
  • 机器学习
  • 数据分析

根据你想在职业生涯中做什么,专业化可能非常有价值。我会比较不同的类型,看看哪一种最适合你——同时,看看每个专业下有哪些课程。有时,一个专业只能有一到两门课程,而有些专业可能有五到六门。值得注意的是,一些不提供专业的项目确实提供选修课,在某种程度上,这些选修课可以作为一个专业,由你而不是学校来定义。例如,如果你发现你所选的五门选修课中有三门都是高级统计学课程,那么在你的简历中突出这一点作为统计学专业是有益的。无论你最终选择哪一条路,在申请研究生项目时,专业都是一个重要的考虑因素。也就是说,其他要考虑的类似事情是一个项目提供的主要课程以及它提供的选修课程。

课程

为了详细说明专业的类型,你在研究生项目上所学的课程也是非常重要的。我能给出的最好建议是,确保你不要上太多数据科学的普通课程。数据科学涵盖了几个不同的方面,如统计学和机器学习;然而,如果你想专攻某个专业,或者至少有一个更独特、更详细的经历,那么你会想确保有几门综合课程可以报名。例如,如果你想学习语言,确保有不止一门自然语言处理( NLP )课程可供选择,这样你才能真正物有所值。

顶点

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

产品学校Unsplash【6】上的照片。

研究生课程的一个更独特的特点是能够完成一个顶点项目。这个项目通常由多个学分组成,因为你可能会研究超过两个学期。你将和一群同学一起工作,有一个教授顾问,和一个在你所写的方面是专家的专业顾问。顶点过程可能需要一个演示以及你将要写的论文的出版——你的顶点主题。例如,我的顶点是假新闻检测。这是向你未来的雇主展示你如何与人合作,你想在数据科学领域关注什么,以及你在数据科学方面的学术能力的绝佳方式。一个顶点项目可能会帮助你在数据科学领域找到一份工作,因为你的文章也会被公开发表和同行评议。

以下是在开展顶点项目时需要考虑的一些关键因素以及好处:

  • 你将和多少人一起工作
  • 你将和谁一起工作,仅仅是同学,你项目的指导老师,还是专业领域的指导老师?)
  • 它占了多少学分/它占了这个项目的多少?
  • 顶石项目的持续时间
  • 如果你需要向观众展示你的顶点

好处:

  • 放上你的简历
  • 成为特定机器学习主题的专家
  • 有一个不仅仅是学校的经历,更与现实世界的经历密切相关

正如你所看到的,研究生课程的顶点部分是非常独特的(与本科课程或认证相比),与其他课程相比也是独一无二的,所以检查你将从特定课程的顶点中获得什么是至关重要的。

沉浸

除了顶点课程之外,研究生课程还提供一种叫做沉浸式的东西。这通常是一个面对面的活动,在这里您可以第一次见到您的同学和教授,与数据科学领导者和专业人士建立联系,并听取和介绍您的顶点项目。

摘要

研究、注册和完成数据科学的理学硕士学位可能会让人不知所措。然而,我希望我能够阐明一些在申请硕士学位时要考虑的最有用的因素。虽然我已经讨论了五个,但还有无数其他的,所以请记住,还有更多需要研究。在完成我的硕士学位后,我真的可以说,我过去和在这篇文章中认为在决定读研究生院时很重要的因素,现在仍然适用。

总结一下,下面是读数据科学硕士需要考虑的五件事:

**Tuition****School Location** (*even if remote*)**Duration of Program****Type of Specializations**- courses**Capstone**- immersion

我希望你觉得我的文章既有趣又有用。如果你已经研究了硕士课程,你发现什么是申请时最有用的考虑因素,如果这些在你完成课程后仍然适用,请在下面随意评论。

以上为本人观点,不隶属。

请随时查看我的个人资料和其他文章,也可以通过 LinkedIn 联系我。

这里是我的一篇文章,概述了五大数据科学认证【7】,如果你想了解更多关于学习数据科学的一些更快的方法:

参考

[1]照片由 Seyi AriyoUnsplash(2019)上拍摄

[2]照片由 NeONBRANDUnsplash(2017)拍摄

[3]照片由 Timo WielinkUnsplash(2020)上拍摄

[4]2018 年 Icons8 团队Unsplash 上的照片

[5]照片由布莱克·康纳利Unsplash(2017)上拍摄

[6]照片由产品学校Unsplash(2019)拍摄

[7] M.Przybyla,五大数据科学认证,(2020)

2021 年作为数据科学基础要学的 5 件事

原文:https://towardsdatascience.com/5-things-to-learn-as-a-data-science-foundation-in-2021-1b22c1098e2?source=collection_archive---------23-----------------------

通过这篇短文了解和理解数据科学的一些基础知识!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(src =https://unsplash.com/photos/Xz7MMD5tZwA

介绍

很容易理解为什么有人可能想在 2021 年进入数据科学领域。这个行业已经蓬勃发展了好几年,而且似乎还会继续在久而久之发展。最重要的是,这份工作报酬很高,所以这两者加起来是一个很好的职业选择。

然而,尽管数据科学是一个热门话题和热门领域,但它也是一个复杂的领域。这个学科有如此多不同的方面,以至于很难知道从哪里开始。有这么多不同的主题,有时是交织在一起的,很难知道一个人到底从哪里开始接近这个领域。幸运的是,没有科学甚至编程经验的人可以通过一些方式进入数据科学领域!这肯定会有大量的工作,持续的教育肯定是人们在考虑数据科学之前就应该知道的事情。今天,我想揭示一些重要的基础,人们甚至可以在进入数据科学之前就开始工作。这个主题主要针对那些没有获得任何数据科学或类似定量学科认证,但想知道从哪里开始的人。

№1:了解电脑

鉴于许多数据科学都是在计算机上编程和工作,这第一点可能看起来有点显而易见,但您可能会惊讶于个人希望在数据科学领域工作而对计算机了解不多的情况。首先,您应该了解如何实际使用您的文件分配表。作为一名成功的数据科学家,能够很好地理解和使用文件是至关重要的。除此之外,您应该知道如何在各自的操作系统上做大多数事情。当然,这种教育通常是通过修修补补获得的,这需要时间,但你仍然可以通过基础研究对你正在使用的计算机有一个牢固的了解。

我认为许多数据科学家也忽视了软件之上的硬件。对于任何从事软件行业的人来说,了解硬件都是一项非常重要的技能!可以理解为什么有时数据科学家可能不具备这方面的知识或技能,而且他们很容易被忽视。大多数数据科学家使用相对声明性的编程语言工作,很少或没有与计算机的实际硬件进行交互。然而,了解这种硬件对于任何一个作为数据科学家的人来说都是一个巨大的优势。

№2:学会如何研究

数据科学家绝对需要具备的另一项重要技能是研究能力。主要原因是,作为一名数据科学家,您可能需要不断学习。如果你不总是思考问题,并不断渴望新知识,老实说,数据科学不适合你。是的,这将会很难——但是当学习关于这个学科的新信息时,拥有良好的研究技能将会走得非常远。能够快速有效地阅读文档,知道要查找什么,甚至知道点击谷歌搜索中的哪些链接,这些都是需要练习的,对解决问题至关重要。事实上,我在 2019 年写了一篇关于数据科学教育要求的文章,你可以在这里阅读:

在这篇文章发表的时候,我只做了一年左右的程序员,尽管在那之前我已经编程很多年了,但我仍然发现所需的信息量和持续的信息量有点大。我认为这将是所有数据科学家都需要面对的事情,并独自努力应对。

变得擅长研究还有另一个很好的理由。

特色。

术语“特征”是一个描述给定数据集的不同方面的词。这些也可以被认为是数据框中的列。了解这些术语将会很好地融入我在 3 中要说的内容,但是现在,让我们把注意力集中在研究如何应用到特性上。通过研究正在使用的功能,可能更容易看出功能是否真正相关,或者可能只是不相关的相关。

理解数据很重要,而不仅仅是处理数据。在某种程度上,如果不完全理解数据,就无法真正处理数据。这可能导致一些不准确的结果,并最终导致糟糕的科学。也就是说,我认为学习如何研究与实际领域本身完全无关的东西肯定是一个好主意。以下是我给你的一些建议:

  • 确保您正在研究的东西与您正在处理的实际数据集相关。当脱离上下文时,某些事情总是意味着其他事情,所以确保你的研究有相同的上下文。
  • 省去不重要的词。如果关键词很重要,它们会出现在搜索结果的标题中,这是大多数搜索引擎首先用来识别结果是否相关的。
  • 当为了研究而阅读时,不要就这一方面阅读整篇文章。一个人只需要广泛的理解,略读是完全可以接受的。

№3:学习程序员/科学家的“行话”

从事研究也是在学习程序员和科学家用语言表达事物的方式。在上一节中,我使用了“特性”这个词,这是一个表示维度的科学术语。维度是一些科学家的行话,意思是与一组观察值相关的一系列值。这个列表可以继续解释这些术语的意思,并把它们带到正常的英语口语中。也就是说,大多数科学家不会解释什么样的特征足够深入到普通人能够理解的程度。

程序员也是如此。记住这一点,如果一个人要阅读这两个学科提供的信息,那么对单词的意思有一个明确的理解当然是非常重要的。知道如何研究也将有助于一个人学习这些术语,所以这两者确实是协同工作的——你需要一个有另一个。

№4:了解 I/O

对那些对编程感兴趣的人有很大帮助的一些建议是,成为软件工程师的第一步是理解输入和输出。第一个编程步骤是打印出一些输出,“Hello World!”例如,接受输入是有原因的。

当然,这延伸到计算机编程的许多不同方面。最终,无论你在编程什么,你都需要明白,最终它总是会成为一个输入和输出的问题。你需要什么输出?一旦理解了这一点,人们就可以决定做这样一件事所必需的输入,然后是到达那里的算法。考虑到这些因素,事情真的变得比想象的要简单得多。也就是说,我认为这对任何想成为程序员或数据科学家的人来说都是非常好的建议。

№5:选择一个域

所有的数据科学家都需要处理大量的概念和编程任务。例如,数据科学家应该总是对机器学习模型及其应用、统计和测试有很好的理解。也就是说,在这些地区内部肯定有一些专业化的空间。

例如,一些数据科学家主要居住在分析领域。这并不是说数据分析师不知道很多机器学习或数据工程,而是他们所做的工作可能符合他们的偏好。对我来说,我来自编程背景而不是科学背景,所以我热爱做的和最熟悉的是计算机硬件、软件、数据和人工智能。我喜欢将模型编程得非常好,并从较低层次的角度处理数据。当然,这并不是每个数据科学家最喜欢的工作部分,但这正是我的观点——该领域的某些部分会比其他部分更适合。选择一个最适合你的地方当然是个好主意。

结论

虽然数据科学是一个很难进入的领域,但那些决心到达那里并通过教育的困难坚持下来的人肯定会得到回报。尽管需要学习的内容多得令人难以置信,但其中一些技巧可能对新人很有价值,有助于他们熟悉作为一名数据科学家可能需要做的事情,也有助于他们开始工作。这些技巧肯定会帮助你在开始数据科学职业生涯时不那么不知所措。也就是说,我希望这些建议很适合读者。感谢您的阅读,祝您度过美好的一天或一夜!

Anaconda Navigator 有 5 样你不知道的东西

原文:https://towardsdatascience.com/5-things-you-didnt-know-anaconda-navigator-had-a09ad3080cdd?source=collection_archive---------27-----------------------

意见

深入探讨这一流行的数据科学平台的特性和优势。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

简·kopřiva 在unsplash【1】上的照片。

目录

  1. 介绍
  2. Python 培训
  3. 视频教程
  4. 学习网络研讨会
  5. 社区活动
  6. 社区论坛
  7. 摘要
  8. 参考

介绍

数据科学家经常使用Anaconda Navigator【2】,其中包含了 JupyterLab、Jupyter Notebook 和 RStudio 等流行且有用的应用程序。通常在这三个应用程序中,我们会停止在这个平台上寻找其他工具。当您离开主页或主页仪表板时,您会看到有EnvironmentsLearningCommunity部分。后两个功能是我们可能会错过的,因为它们与编写您自己的即时代码和在主笔记本应用程序中处理您的机器学习算法没有直接关系。然而,它们仍然很重要,可能是你还没有注意到的。我将讨论这些与 Jupyter 笔记本等更受欢迎的功能相一致的功能。其中一些工具可能对刚刚开始职业生涯的数据科学家特别有用,而其中一些工具对更有经验的数据科学家更有益,如下文所示。记住这一点,如果您想了解关于 Anaconda Navigator 平台的五件事情,请继续阅读。

Python 培训

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Python 教程位置。作者截图[3]。

第一个特性是为刚刚开始学习如何编码的数据科学家准备的,或者是为想要更新和提高 Python 技能的数据科学家准备的。也就是说,如果您是更高级的人员,那么请随意进入下一部分,在那里您将找到更多关于数据科学中更复杂的用例的信息。

该功能位于Learning选项卡中,然后位于Documentation选项卡下。它被命名为’ Python 教程’,简单来说就是一个“官方 Python 新手入门指南”的链接。

本教程涵盖了 Python 的所有主要主题,当您开始将编程语言与统计学和数据科学理论和实践相结合时,了解这些主题至关重要。

以下是本教程将涉及的一些主要章节:

  • 控制流工具
  • 数据结构
  • 模块
  • 输入和输出
  • 错误和异常
  • 虚拟环境和包
  • 浮点运算

正如您所看到的,在 Python 的官方指南中有许多您期望看到的主要主题。几乎所有这些都是你在数据科学家的职业生涯中会遇到的事情。除了本教程之外,Anaconda 本身也有专门的 Python 培训,其中他们提到“通过Anaconda Academy可以让你的数据科学更上一层楼”。

视频教程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

视频教程位置。作者截图[4]。

在菜单的Learning部分,您会看到大约有 21 个视频可供选择。这些视频特定于数据科学的某些使用案例。例如,显示的第一个“使用开源技术构建安全和透明的 ML 管道”在单击时,将会弹出一个 YouTube 页面。这个例子大约有 36 分钟长。它具体讨论了对抗性鲁棒性工具箱(ART)、深度学习和 Kubeflow 管道。可以看出,这个特性比 Python 初学者指南更高级。无论哪种方式,接触这种类型的数据科学内容或作为数据科学家自己学习都是有益的。

你可能会问自己,为什么不自己在 YouTube 上搜索数据科学视频呢?当然,你可以这样做,但这很有趣,可以让你更加信任这些视频,因为它们是由一个你可能已经在使用的知名数据科学平台推广的。它们也与 Anaconda 的其他工具和特性相关。

以下是他们在平台上分享的一些有趣的视频:

  • 阿帕奇箭;用于内存分析的跨语言开发平台
  • 康达深潜
  • 用 Dask 并行化科学 Python
  • PyViz:轻松可视化和探索您的所有数据
  • 用于图像分类的深度学习:识别分心驾驶行为

这些主题可能更复杂、更具体、更高级。然而,对于任何数据科学家来说,它们都仍然是很好的资源。

学习网络研讨会

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

网络研讨会地点。作者截图[5]。

类似于Learning选项卡的视频部分,该功能允许您查看和学习 Anaconda 赞助的内容,这些内容被标记为网络研讨会。还有大约 20 场这样的网络研讨会,包括各种数据科学主题的视频。

以下是一些您有望在该平台上看到的有趣的网络研讨会:

  • 使用 GPU 加速深度学习
  • 在整个组织中扩展数据科学的最佳实践
  • 人工智能治理和安全——领导者需要知道什么
  • 用 Dask 扩展 Python
  • 金融服务人工智能
  • 带着 Python 数据可视化丛林

如您所见,有几个不同的视频可以让您和您的数据科学职业受益。这些网络研讨会从关注个人贡献者到领导者,如数据科学经理。网络研讨会还涵盖金融和安全等特定行业。

社区活动

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

活动地点。作者截图[6]。

主菜单的最后一个选项卡是Community部分。本部分包括更多关于数据科学活动的独特信息,如数据科学领域主要公司的会议。我个人去过的一个地方是数据科学沙龙,参加这个沙龙不仅有趣,而且对体验非常有益,可以见到来自不同公司的不同数据科学家。

以下是本节中您可能会看到的一些有趣的事件:

  • 数据科学沙龙
  • 紧张的会议
  • 地层数据会议
  • PyCon
  • Gartner 数据和分析峰会

重要的是要记住,其中一些事件现在可能是虚拟的,一些事件可能取决于你的物理位置。

社区论坛

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

论坛地点。作者截图[7]。

类似于事件部分,在Community选项卡中有论坛位置。您可能已经在使用其中的一些论坛,在这些论坛上,您可以就数据科学中的常见问题和特定用例问题展开对话,包括编码和理论。

虽然您可能已经对 Stack Overflow 很熟悉了,但是还有一些其他更独特的论坛,加入其中仍然很有好处,例如:

  • Bokeh 论坛
  • 火焰发展论坛
  • 数字发展论坛
  • Matplotlib 论坛
  • NumPy 和 SciPy 项目邮件列表

摘要

无论您是刚刚开始数据科学职业生涯,还是数据科学专家,Anaconda Navigator 都有几个特性可以让您和您的工作受益。这些功能的主题从学习到社区。我希望其中一些工具是新的,对您也有用。

总结一下,这里有你可能不知道的 Anaconda Navigator 的五个特性:

* Python Training* Video Tutorials* Learning Webinars* Community Events* Community Forum

我希望你觉得我的文章既有趣又有用。如果您使用过 Anaconda Navigator 的任何这些特性,或者如果您认为这些特性已经或将会对您作为一名数据科学家有所帮助,请在下面不吝赐教。

请随时查看我的个人资料和其他文章,也可以通过 LinkedIn 联系我。我不隶属于蟒蛇导航。

参考

[1]扬·kopřiva 在 Unsplash 上拍摄的照片,(2019)

[2] Anaconda 公司,Anaconda Navigator 个人版,(2021 年)

[3] M. Przybyla,Python 教程位置截图,(2021)

[4] M. Przybyla,视频教程位置截图,(2021)

[5] M. Przybyla,网络研讨会地点截图,(2021 年)

[6] M. Przybyla,活动地点截图,(2021 年)

[7] M. Przybyla,论坛位置截图,(2021 年)

关于协方差你应该知道的 5 件事

原文:https://towardsdatascience.com/5-things-you-should-know-about-covariance-26b12a0516f1?source=collection_archive---------1-----------------------

协方差的详细解释

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

米克·豪普特在 Unsplash 上的照片

在处理统计和机器学习问题时,最常遇到的一件事就是协方差。虽然我们大多数人都知道方差代表单个变量的值的变化,但我们可能不确定协方差代表什么。此外,知道协方差可以为解决多元问题提供更多的信息。大多数预处理或预测分析的方法都依赖于协方差。多元异常值检测、维数减少和回归可以作为例子给出。

在这篇文章中,我将解释关于协方差你应该知道的五件事。我们不会从维基百科中的定义来解释它,而是试图从它的公式来理解它。读完这篇文章,你将能够回答以下问题。

  • 协方差是如何计算的?
  • 协方差告诉我们什么?
  • 什么是强协方差?
  • 协方差矩阵告诉你什么?
  • 协方差矩阵的特征向量和特征值给了我们什么?

1-方差和协方差公式

最好先看一下方差来理解协方差。方差解释了变量中的值是如何变化的。这取决于彼此的价值观有多远。看一下公式 1,了解方差是如何计算的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

公式 1-根据已知和未知总体均值的方差公式

在公式中,变量中的每个值都从该变量的平均值中减去。差值平方后,除以该变量中值的数量(N)。好的,当方差低或高时会发生什么。您可以查看图 1,了解方差值低或高时会发生什么。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 1——高低方差之间的差异(图片由作者提供)

现在,是时候看看协方差公式了。它就像方差公式一样简单。与方差不同,协方差是在两个不同的变量之间计算的。它的目的是找到指示这两个变量如何一起变化的值。在协方差公式中,两个变量的值通过取平均值的差来相乘。可以看看公式 2 看清楚。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

公式 2-根据已知和未知总体均值的协方差公式

方差和协方差之间的唯一区别是使用两个变量的值和平均值,而不是一个。现在,让我们看看你应该知道的第二件事。

**注:**从公式 1 和公式 2 可以看出,有两个不同的公式,分别是已知总体和未知总体。当我们处理样本数据时,我们不知道总体均值,我们只知道样本均值。这就是为什么我们应该用 N-1 的公式。当我们有了受试者的全部人口,我们就可以用 n 来表示。

2-协方差矩阵

你应该知道的第二件事是协方差矩阵。因为协方差只能在两个变量之间计算,所以协方差矩阵代表多元数据中每对变量的协方差值。同样,相同变量之间的协方差等于方差,因此,对角线表示每个变量的方差。假设在我们的数据集中有两个变量 x 和 y。协方差矩阵应该类似于公式 3。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

公式 3–2 和 3 维协方差矩阵

它是一个对称矩阵,显示每对变量的协方差。协方差矩阵中的这些值显示了多维空间中多元数据的分布大小和方向。通过控制这些值,我们可以获得关于数据如何在二维空间中传播的信息。

3-协方差的正、负和零状态。

关于协方差,你应该知道的第三件事是它们的正、负和零状态。我们可以通过公式来理解它。当Xi-XmeanYi-Ymean同时为负或同时为正时,乘法返回正值。如果这些值的和为正,协方差为正。这意味着变量 X 和变量 Y 的变化方向相同。换句话说,如果变量 X 中的某个值较高,则预计变量 Y 中的相应值也会较高。简而言之,两者之间是正相关的。如果有一个负的协方差,这被正确地解释为相反。也就是说,这两个变量之间是负相关的。

只有当Xi-XmeanYi-Ymeanis的乘积之和为零时,协方差才能为零。然而,Xi-XmeanYi-Ymean的乘积可以在一个或两个都为零时接近零。在这种情况下,变量之间没有任何关系。为了清楚地理解它,你可以看到下面的图 2。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-正、负和接近零的协方差(图片由作者提供)

作为另一个可能的场景,我们可以有一个如图 3 所示的分布。当协方差接近于零,变量的方差不同时,就会发生这种情况。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-不同的方差和接近零的协方差(图片由作者提供)

4-协方差值的大小

与相关性不同,协方差值没有介于-1 和 1 之间的限制。因此,当协方差较高时,得出变量之间可能存在较高关系的结论可能是错误的。协方差值的大小取决于变量中值之间的差异。例如,如果变量中的值介于 1000 和 2000 之间,则可能具有高协方差。但是,如果两个变量的值都在 1 和 2 之间,则可能会有较低的协方差。因此,我们不能说第一个例子中的关系比第二个更牢固。协方差只代表两个变量之间的变化和关系方向。从图 4 可以理解。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 4-高协方差值与低协方差值的对比(图片由作者提供)

虽然第一个图中的协方差非常大,但第二个图中的关系可以更高或相同。(图 4 中的值是作为例子给出的,它们不是来自任何数据集,也不是真实值)

5 —协方差矩阵的特征值和特征向量

特征值和特征向量告诉我们什么?这些是协方差矩阵的基本部分。需要协方差矩阵来寻找数据点的大小和方向的方法使用特征值和特征向量。例如,特征值代表 PCA 中主分量方向上的扩展幅度。在图 5 中,第一个和第二个图显示了协方差接近零时的点分布。当协方差为零时,特征值将直接等于方差值。第三和第四个图表示协方差不为零时的点分布。与前两个不同,这两个都要计算特征值和特征向量。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 5-协方差的特征值和特征向量及其对方向和大小的影响(图片由作者提供)

从图 5 可以看出,特征值代表变量 x 和 y 的幅度,特征向量表示方向。当协方差为正时,可以从值v[0,0]的反余弦中找到传播角度。如果协方差为负,则值v[0,0]的余弦给出传播方向。

如何从协方差矩阵中求特征值和特征向量?在 Python 中使用 NumPY 可以同时找到特征向量和特征值。你要做的第一件事是用方法[numpy.cov()](https://numpy.org/doc/stable/reference/generated/numpy.cov.html).找到协方差矩阵,找到协方差矩阵后,你可以用方法numpy.linalg.eig(M)找到特征向量和特征值。

你可以看看我的另一篇文章,了解特征值在主成分分析中是如何使用的。

https://sergencansiz.medium.com/pca-where-to-use-and-how-to-use-b207a1d8e206

结论

协方差是数据科学中最常用的度量之一。了解协方差及其细节为理解多元数据提供了许多机会。因此,我想和你分享关于协方差你应该知道的五件事。如果您有任何问题或建议,请随时发表评论。

给分析师(和他们的经理)的 5 个建议

原文:https://towardsdatascience.com/5-tips-for-analysts-and-their-managers-4327ef6e9e13?source=collection_archive---------20-----------------------

办公时间

我在大型零售机构做了两年多的专业分析师。根据你工作的公司的不同,分析师要么被视为一种资产,要么只是一个数字咕噜,在我的经验中,这种鸽子洞是由一些经理的不安全感驱动的,当涉及到更多的数据驱动而不是基于直觉的决策时,也就是所谓的河马(最大PaidPperson 的 O 小齿轮)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

照片由 Isaac SmithUnsplash 上拍摄

这篇文章的灵感来源于每周一次的会议,在会上,不同的团队展示了他们上周的职能 KPI 指标。你知道那种会议,经理们用他们团队中的分析师准备的电子表格解释他们的数字,用 KPI 框,或者更糟的未格式化的表格。有人关注吗?我们如何才能做得更好?在这里,我为分析师提供了 5 个技巧,以增加他们给团队带来的价值,并为经理提供了一些建议,以更好地与您的分析师打交道。

分析师提示 1—了解您的最终用户

分析师的生活很艰难。我们需要成为强有力的沟通者、极具逻辑性的思考者和创意者。在深入研究您的数据仓库(或数据湖)之前,花一些时间考虑您的最终用户需求。这甚至可能意味着留出时间从他们那里获取一份摘要,并询问有意义的问题,因为最终这将使编写查询更加容易。无论他们要求什么,都要增加 50%的范围。浏览可能为您的分析增加更多价值的相邻数据集。我总是有“如果”这个问题为新的分析编写查询时在我的脑海中盘旋。

经理提示:非常具体地说明你要求你的分析师做什么,当他们试图充实你的想法时,要有耐心。设定明确的期望,并给出合理的交付时间表。将此视为协作,而不是自上而下的管理练习。

分析师提示# 2——通过可视化分析产生影响

数据可视化是一种艺术形式。大多数人都是视觉化的,分析师的努力是通过使用设计良好的视觉化,让他们的目标受众很容易察觉到洞察力。我见过很多次,人们在一个表格里有四个星期的数据,而你的观众会更容易、更好地察觉到时间序列图的变化。观想应该在头脑中设计一个他们想要回答的特定问题。理解一段时间内的趋势对管理者来说非常重要,而理解趋势如何变化或保持不变的原因更为重要。报告汇总数字往往会隐藏简单 KPI 报告无法反映的潜在变化,通过一系列精心设计的可视化来讲述故事。

经理提示:勇敢一点,在你的下一次演讲中展示一些形象化的东西,这些形象化的东西以更好的细节报告了同样的数字,提高了你与听众的互动。这可能会引发一场讨论,带来更好的业务成果。

分析师提示 3——开发灵活、动态的仪表盘

以上的延伸,是仪表板设计过程。谁不喜欢好的仪表盘呢?仪表板是度量和可视化的集合,目的是能够提供更深层次的分析,并使 KPI 无法立即看到的潜在趋势能够被感知。我曾与 Tableau、Microstrategy、PowerBI 和 Quicksight 合作过,总的来说,它们都是同一主题的变体。当你开始开发交互手段时,它们会变得更加强大。这通常是以可控过滤器和参数的形式。

参数是我最喜欢的,尤其是在处理时间序列数据时,能够改变 group by 子句使用的维度,或者改变度量的计算方式是如此强大。我最近开发了一个仪表板,可以让你改变时间序列,从一周到一周的数字,今年到目前为止的累计,每周的百分比变化和 4 周的移动平均值。仪表板应该易于使用且直观,并使您的客户能够使用您收集的数据回答一系列问题。设计是一个令人难以置信的深思熟虑和创造性的过程,不应该匆忙。不时回顾一下你的工作,考虑改进的方法

经理提示:花时间和你的分析师在一起,让他们解释新仪表板的特点,以及你如何最有效地使用它。确保理解它可以回答的问题的范围,并提供有意义的反馈。这是一种合作。

分析师提示 4——不要访问原始数据

这是我最讨厌的事情,当经理不信任你提供的数据,所以他们坚持要看数据或者在仪表板上显示原始数据。这到底有什么意义?事实上,关键是你没有做好你的工作。如果你被要求提供大型数据集,一定要问“你想了解什么?”。你最不希望的事情就是经理或同事浪费时间玩电子表格,试图找到一些不存在的东西,或者更糟的是,有一些东西你却没有发现。为了透明起见,如果有人想了解数据集是如何生成的,请解释(在合理的情况下)表逻辑。这又回到了我们的第一个技巧,在理解了最终用户的需求之后,正确理解你所收集的数据。

经理提示:不要要求看原始数据,把这作为一个反馈的机会,和你的分析师一起探索你想要回答的问题。10 次中有 9 次可能需要生成进一步的查询。

分析师提示 5——重视自己

有时分析师没有得到我们应得的赞扬或认可。我们苦于复杂的查询,与数据工程师和架构师合作,这样我们就可以访问额外的数据源,开发可视化和仪表板。在付出所有努力后,你最不希望的就是不被你的团队和管理层重视。我们所做的需要时间,但当分析可重复地完成时,会为我们各自的业务增加巨大的价值。现在是做分析师的最佳时机,随着新冠肺炎的影响遍及全球,下一波技术提升正在加速,企业正在转向更好地利用他们最宝贵的资产——数据。所以,珍惜你自己,你的技能,如果你觉得自己没有被重视,(谨慎地)找另一份工作。你没什么可失去的。

经理提示:让你的分析师从事有意义的工作,并促进他们的持续发展。给他们找一个内部导师,或者如果你的组织有能力的话,让他们接受进一步的培训。就业市场正在经历一场代际转变,随着企业寻求提高内部分析能力,竞争越来越激烈。员工流失通常是糟糕的管理和组织文化的结果。

结束语

我曾在对分析师的角色有不同看法的环境中工作过。分析师是天生的商业伙伴;我们的业务线和数据之间的接口。您在贵组织的未来发展方向中扮演着越来越重要的角色。您可以通过数据驱动决策来传达您的发现,并实现自助服务分析。你对业务系统有独特的理解,并能看到别人可能看不到的链接。你将跨职能领域合作,并在组织内部和外部建立专业网络。想一想你可以增加价值的方法,以及如何更聪明地工作。最后,要引人注目,并为自己的工作邀功。

对于阅读本文的经理们,我建议建立一个定期的一对一会议,以保持与你的分析师的沟通渠道畅通。与他们进行建设性的协作,他们将为您提供推动业务成果所需的数据火力。

今天的分析师是明天的商业领袖,通过数据和独特的商业理解获得信息,我们代表着新一代的管理者,他们将做出更好更快的决策。

初学自由职业数据科学家的 5 个技巧

原文:https://towardsdatascience.com/5-tips-for-beginner-freelance-data-scientists-e2b421f239d?source=collection_archive---------29-----------------------

陆上演出指南

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Unsplash 上的 KAL 视觉拍摄的照片

无论你是希望用一份利润丰厚的兼职来补充你目前的全职工作,还是你是一名寻求灵活的赚钱方式并在学习中获得经验的研究生,自由职业都是一种很好的方式,可以通过灵活的时间获得现实世界的经验,同时赚一些钱,无论你是一名经验丰富的数据科学家还是一名新手。

我不知道其他职业的情况如何,但获得数据科学自由职业者的工作极其困难。雇主需要确保他们雇佣的人能够完成手头的任务。这并不会让经验丰富的数据科学专业人员在成本、可信度、营销等各种因素方面变得更加容易。

由于 10 月份被裁员,我开始了自由职业的数据科学工作,从那时起,这就是我在学习新技术的同时维持自己的方式。

在那段时间里,我学到了以下几点:

#1 走出去

我觉得品牌在整个数据科学中很重要,但对于任何寻求自由职业的人来说,你必须付出额外的努力让自己脱颖而出。

这不仅仅意味着创建一个数据科学博客或者在你的 Github 文件夹中添加一些项目。当你开始成为自由职业者时,你应该积极寻找和申请工作机会——不管你是否有经验。

不要自相矛盾,这并不意味着拥有一个博客/个人网站或向你的 Github 添加项目不重要,它很重要。有一个目的地,让潜在的雇主能够找到你所做的工作,并评估你的工作是否达到公司期望的标准,这是非常重要的。不要忽视这一点,并不断添加,使您的页面不会休眠。

此外,另一个让自己脱颖而出的方法是告诉别人。关于数据科学中网络的重要性,我已经说过无数次了。我是“的坚定信徒,如果人们不知道你需要什么,他们就不会帮助你。永远不要害怕寻求帮助,并且说你不是在请求他们帮你找到一份工作。一个简单的“嘿,你知道有谁在找自由数据科学家吗?”可能会走很长的路,但你永远不会知道,直到你尝试。

注意:除非你已经建立了这种关系,否则询问另一位自由职业数据科学家是否知道任何自由职业的工作是没有意义的,因为如果他们知道,他们可能会接受这份工作,如果他们不知道,他们可能会把它交给他们可以担保的人。

#2 坐在巨人的肩膀上

在很大程度上,我们在生活中做的很多事情都不会是新的,幸运的是,我们不会成为第一个为地球增光的自由数据科学家。

因此,有许多人已经走在了前面,要达到自由职业舞台上一些最优秀的人的高度,你可以简单地复制他们已经做到的方式。

例如,我跟踪一个叫乔什·伯恩斯的家伙。他是一名 SQL Server DBA,但就他在 Upwork 上实现的目标而言,我非常热衷于在 Upwork 上复制这些目标,因此,我关注他的工作。

如果你想关注他的作品,这里有一个完整的 Youtube 播放列表:

#3 在正确的地方

如果你想见到德雷克或碧昂斯,你就不会去丛林。当你在珠穆朗玛峰漫步时,偶然遇到莱昂内尔·梅西的几率非常小,但如果你去巴塞罗那,在诺坎普附近闲逛,你的几率就会发生巨大变化。

我将为获得数据科学工作的最佳自由职业平台创建一个单独的帖子,但现在,我将简单地告诉你,Upwork 和 Fiverr 对于自由职业数据科学家来说是可信的——我个人在工作中使用 Upwork。

注意:我要说的是,如果你在 LinkedIn 很活跃,你不应该把它排除在外。我的一些工作直接来自 LinkedIn,但最近我决定我希望有更多的结构,因此我问我的两个客户我们是否可以搬到 Upwork,让我惊讶的是他们已经在那里了。

#4 确定您的费率

我认为这一部分对刚开始做自由职业者来说是最困难的部分,因为你几乎不想收取太多的费用,这样客户对你的期望太高,你就无法实现,你也不想收取太少的费用,以至于你无法维持自己的生活。

我对此的看法可能与其他人不同。

我相信,当你没有可信的经验可以参考,或者没有来源可以提供关于你过去为客户做过的工作的正面参考时,那么你必须首先忽略金钱方面,专注于建立雇主的信誉。

这可能意味着你在开始的日子里挣得少一点,我知道人们认为这是低估你自己,但我相信从长远来看,如果你能在你的个人资料上积累许多积极的评价,你会更加感激。

尽管如此,你应该考虑你必须提供的技能,并根据具体情况降低价格。例如,如果有人想让你教他们逻辑回归,那么每小时收取 100 美元没有多大意义(在我看来),很可能有人会以更低的价格来做这件事。然而,向客户收取每小时 10 美元的费用来进行全面的端到端机器学习项目对你来说是不合理的。

#5 设定你的界限

你的界限是从工作时间到工作环境的一切。当你从事自由职业时,你应该尽一切努力确保你尽可能的高效,例如,确保无论你决定在哪里工作,都有稳定的互联网连接以及最少的干扰。

我从来都不喜欢在咖啡店工作,但是如果这是唯一一个你可以安静地完成工作的地方,那么无论如何,做你必须做的事情——只要确保你每次去店里都花了一些钱,否则如果他们不把你赶出去,你会被员工怒目而视。

设定工作时间的界限可以让你为工作做好准备,这样在你致力于工作的时间里,你的注意力就会被你正在做的工作所吞没。我还发现与雇主沟通这一点是有益的,这样他们就知道你会有什么样的期望,可以更好地跟踪你的进展——正如你可以想象的那样,对于自由职业者来说,沟通是非常重要的,你如何沟通可以决定一个好的评价和一个坏的评价。

希望你能从这些提示中有所收获。

LinkedInTwitter 上与我联系。

设计能够带来价值的数据治理的 5 个技巧

原文:https://towardsdatascience.com/5-tips-for-designing-data-governance-that-delivers-value-9da3cb1d62bc?source=collection_archive---------32-----------------------

人们过分强调数据治理的防御方面,但这只是一种心态。主动出击,关注数据的价值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一份来自 Canva 的设计使用许可

在当今快节奏、日益数字化的商业世界中,数据的重要性毋庸置疑。它是决策的基础,是计划的驱动力,是组织超越竞争对手的动力。对于一些企业来说,数据甚至渗透到最基本的日常运营中。

因此,数据的可用性、质量、一致性、相关性和可信度对于企业的运作能力和实现目标至关重要。当组织定义数据治理服务(他们从中获得什么)时,我们希望通过确定五个要记住的要点来帮助您,以确保价值创造处于议程的首位。这也将指导您将要进行的任何数据治理评估。

设计交付价值的数据治理的重要性

世界各地的组织都饱受无效的数据治理服务之苦。问题通常始于高层的高管,他们没有充分认识到数据治理的增值潜力。

没有实施适当的数据治理的组织会错失创收和优化运营的机会。由于分析的质量受到影响,决策者无法获得可靠的信息来制定正确的行动方案。

根据研究,由于糟糕的数据治理,全球企业的数据科学家将 45%的工作时间花在非增值任务上。

此外,缺乏适当设计的数据治理计划剥夺了企业跨系统标准化数据格式和定义的机会。普遍存在的数据不一致性使集成工作变得复杂,破坏了商业智能,并抑制了法规遵从性计划。

清理数据错误会消耗您的分析团队大量的时间,导致员工沮丧。根据研究,由于糟糕的数据治理,全球企业中的数据科学家将 45%的工作时间花费在非增值任务上。

作为一名高管,您可能很难赋予数据治理服务直接的价值。然而,良好的数据治理可以间接带来显著的节约和收入。它在持续盈利的组织和苦苦挣扎的组织之间划了一条线。

如何定位数据治理的价值

设计有效且可扩展的数据治理计划是一项挑战,只有少数组织克服了这一挑战。许多人将精力放在 IT 团队这样的支持职能上,并想知道为什么他们没有从数据中获取任何价值。

通过下面的步骤,您可以从基于松散遵循的策略的数据治理转变为积极推动实现您的战略目标的数据治理。

重新思考你的组织设计

通常情况下,擅长数据治理的公司和失败的公司之间的差异来自于他们在教育和让每个人参与业务方面的投资规模。

数据治理不仅仅是 IT 部门的责任。整个组织必须团结起来,确定优先数据资产,定义支持最大价值创造的策略,并将这些资产分配给整个公司的指定保管人。这种方法可以提高公司建立优先领域的效率,减少数据清理时间,并加快分析用例的交付。

设计良好的数据治理模型通常包括以下组件:

  • 由首席数据官(CDO)领导的执行数据委员会,其成员根据明确定义的数据战略制定政策。成员代表该组织的所有主要职能。
  • 数据管理员,他们被分配了由域组织的个人角色。他们负责数据治理计划的日常实施。
  • 数据委员会将团队和数据管理员聚集在一起。它确保各项活动与公司的整体战略和优先事项保持一致。

这种结构是数据治理和公认最佳实践的基础。它平衡了数据利用率和策略,同时将决策权交给创建和使用数据的业务用户。如果您确实执行了数据治理评估,请询问您的团队他们将如何实现协作和沟通。

获得最高管理层的支持

成功的数据治理实施需要组织领导层坚定不移的支持。CDO 的职责是与首席执行官接洽,了解他们的需求,并解释数据治理如何帮助企业。提出跟踪进展和价值创造的切实方法也是有益的。这可能包括衡量数据科学家为优先用例定位数据所花费的时间或与数据错误相关的财务损失。这些指标可以确保高层管理人员的关注和持续支持。

在一些组织中,数据委员会包括一个或两个首席执行官,以确保制定的政策和标准与整体业务战略保持一致。这些高管必须花一些时间来理解数据治理计划,包括数据架构的核心元素和相关法规。

虽然还有很多工作要做,但我们必须强调,高管们需要为数据治理的成功提供强有力的支持

拥有最高管理层的支持有助于避免角色定义不明确和员工授权的常见挑战。每个相关人员都会理解他们的工作是业务的重中之重,并给予最大的关注。

将数据治理与现有的数据转换活动联系起来

当数据治理与组织中的其他转型工作相联系时,它展示了最大的价值。假设你的公司已经在从事一个项目,比如数字化或资源规划现代化;在这种情况下,数据治理将是一个非常受欢迎的焦点。

在您现有的转型计划中包括数据治理,可以更容易地让您的组织支持该计划并培养责任感。比方说,你的营销部门正在探索全渠道营销。将数据治理与这个项目联系起来将会改变思维模式,将精力集中在人们需要解决的实际问题上,并展示它的有效性。这一举措将确保数据生产和消费的权利也得到整合。项目经理可以成为数据领导者和渠道主管、数据域所有者。

这种方法将数据治理计划导向真实的和正在进行的业务活动,加速其实现并最大化其有效性。任何数据治理评估都应该强调哪些正在进行的计划将从一些支持中获益最多。

确定数据域和数据元素的优先级

许多组织通过将数据视为一个整体来开始实现数据治理。然而,采用如此广泛的范围会产生这样的风险,即花费时间在低价值的数据资产上而牺牲了高价值的数据资产。

因此,一旦您确定了数据域并将其分配给数据管理员,就不要马上开始执行。相反,应根据潜在价值、持续的数据转换工作和法规要求等重要考虑因素对它们进行优先级排序,并创建部署路线图。从小处着手,专注于两到三个最高优先级的领域。

您可能还想更进一步,对您的域中的数据元素进行优先级排序。关键数据通常最多占组织中总数据的 20%

假设你选择了市场营销作为一个重要的优先领域。在这种情况下,您可以从客户姓名和地址等基本要素开始,将客户以前的服务提供商等很少使用的信息放在次要位置。这种策略将数据治理的范围缩小到最关键的数据。

实施更精简、更敏捷的数据治理方法

不同行业和组织的数据治理计划大相径庭。例如,银行需要复杂的模型来遵守像 BCBS 239 这样的法规。大多数其他行业没有面临同样程度的监管压力。因此,他们不需要以同样的力度实现数据治理。

成功的公司采用“基于需求”的方法。他们只部署适合其法规和数据复杂性的数据治理级别。

一家全球性银行可能会选择一个全面的结构,包括一个有高管层领导参与的执行治理委员会、高度自动化和广泛的领域范围。另一方面,区域性金融科技公司可能有一个仅定期包括高层管理人员的委员会,以及一个基于用例优先级的更窄的领域范围。

领先的组织还跨数据域调整数据治理工作。例如,传统的数据治理标准通常严重倾向于监管数据质量和访问。然而,尽管这种方法在风险管理方面非常出色,但它也错过了创造价值的机会。为了实现平衡,公司可以对勘探和测试等阶段使用的数据应用较宽松的治理,对与客户直接交互的敏感应用应用更稳健的原则。关注点的转移将允许 it 投入一些精力来从数据资产中获取更多价值。

只有整个组织都参与并致力于数据治理的实现,数据治理才有用。因此,投资于变革管理,以获得整个公司的支持,并激励人们在数据价值链的早期提高数据质量,最好是在源头。

最高领导层应成为可接受的数据实践的榜样,并开始认可推动改进的员工。您还可以提供培训和资格认证,如果可能的话,在数据管理领域创造更多的职业机会。您选择的策略必须面向围绕数据建立整体兴奋感和责任感。这将指导数据治理服务的定义。

结论

每个组织都有数据,但只有少数组织能够释放其全部潜力。不当的数据管理会让您付出巨大的代价,包括错失机会、做出不理想的业务决策,以及在清理数据时浪费时间。

通过适当的治理,您可以实现从数据中获取最大价值所需的准确性、一致性和质量,并保持对法规的完全遵从。您所需要的是思维方式的转变,从将治理视为政策和标准,到将其嵌入到您公司的日常工作方式中。

使您的数据治理计划与您组织的持续业务需求保持一致。此外,根据价值确定实施的优先顺序,并使用精简和集中的部署方法。最后,不要忘记让顶级管理层参与数据治理活动。你将很快开始意识到你所期望的价值。

策划一次成功的 ML 黑客马拉松的 5 个技巧

原文:https://towardsdatascience.com/5-tips-for-planning-a-successful-ml-hackathon-1ac4c24a73dd?source=collection_archive---------22-----------------------

办公时间

一应俱全

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

马文·迈耶Unsplash 上拍摄的照片

TL;速度三角形定位法(dead reckoning)

黑客马拉松【hak-uh-thon】名词

  • 无论你是一家初创企业还是成熟企业,黑客马拉松都是创新的催化剂。
  • 黑客马拉松通常旨在利用技术解决特定的问题。在这篇文章中,我们要关注的技术是机器学习(ML)。
  • 在黑客马拉松中,团队成员聚集在一起,目标是在短时间内编码(或一起黑客攻击)一个最小可行产品**——因此得名!**
  • 在黑客马拉松上开发的原型可以成为新想法和产品的发射台。

🔩#1:做好基础工作

在这里,我们将介绍规划黑客马拉松的基础知识。实际上,你可以将这篇技巧中的大部分建议应用于任何黑客马拉松。我们将在稍后的文章中讨论 ML 黑客马拉松的细节。

定义你的目标

我们都喜欢好的黑客马拉松。有什么比一群工程师和设计师聚在一起更有趣的呢——在红牛和披萨的神奇组合的推动下,在短短几天内,一直干到深夜,完成他们伟大想法的精彩演示?

在进入运行黑客马拉松的细节之前,首先弄清楚你想从黑客马拉松中得到什么是很重要的。

你想:

  • 关注新产品创意
  • 教开发人员新工具
  • 满足紧急需要

💡了解目标将有助于你确定黑客马拉松的最佳形式和持续时间。在我们的 ML hackathon 例子中,它覆盖了 3 天,但是 hackathon 可以在任何地方运行 1 到 7 天。

解决后勤问题

您将希望创建一个环境,让人们能够轻松协作,并为他们提供所有设备和资源,以最大限度地提高工作效率。

  • 虚拟的(或物理的)

自疫情以来,我们不得不变得更有创意,让人们一起参加传统上作为大型室内聚会举行的活动。

希望在不久的将来,将有机会举行物理会议。

对于一项体育活动,你最好想要一个宽敞的房间,桌子成组摆放,这样人们就可以团队合作了。假设人们会带着自己的笔记本电脑,你还需要确保足够多的电源插座(或延长线)。拥有一个易于访问的可靠 Wi-Fi 网络也很重要。

  • 何时以及持续多长时间

建议尽早确定活动的日期(如果可行的话,还有场地)。给人们尽可能多的通知,以提高参与水平。还要决定你是想在工作时间还是工作时间之外举办活动,如果这可能会中断你的正常业务活动——参与者能够 100%专注于黑客马拉松是很重要的。

在我们的例子中,我们选择中间范围,因为一天的时间可能不足以运行一个 ML 黑客马拉松。下图显示了 3 天时间内通常涵盖的内容:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 1:ML 黑客马拉松的关键组成部分和建议时间。作者插图。

你们当中精明的🧐会注意到,这只是创建和部署 ML 模型所需的典型数据科学步骤的压缩版本。

➡️ 参见提示 2 & 3,了解如何为不同的日子做计划。

  • 技术

你使用的技术需要准确,特别是如果你的活动是虚拟的。

你决定好参与者如何合作了吗?我们建议结合使用可靠的视频会议工具(例如 Google Meet 或 Zoom)、团队可以聊天的地方(例如 Slack 或 Discord)以及请求辅导员或导师的帮助。

您希望参与者在哪里开发和部署他们的代码?你是否乐于让团队自己解决这个问题,或者有你更喜欢的特定平台、产品或工具集吗?

例如,如果您打算使用云环境,如 GCP 或 AWS,您将需要确保为入职用户提供一个良好的、一致的流程——请不要把这留到将来的某一天!

无论你做出什么决定,都要事先测试你所有的技术是否如预期的那样工作。

  • 🍕食物和 ☕️ 咖啡因

无论是虚拟的还是物理的,你都想让每个人吃饱,用他们选择的兴奋剂/松弛剂。无论如何都要让参与者开心地进入夜晚!😃

如果您有预算,您可以将食品和饮料包裹送到参与者的家中,甚至可以分享食品配送券(例如,Just Eat,Doordash)。

当我们再次见面时,提前组织餐饮是非常值得的。

如果你选择在正常工作时间举办你的黑客马拉松,在一天辛苦的黑客工作后举办一个晚上的活动是个不错的主意。非正式的烧烤或欢乐时光是团队和主持人放松、交流想法和谈论一天中最重要的事情的好方法。

招募人员、项目和团队

  • 招募参与者(和导师)

你想让谁参加?你的目标是你的企业或社区中的特定团队吗?根据你的黑客马拉松的目标,你会想相应地招募一些人。

同样重要的是招募志愿者。例如,能够在当天帮助你进行后勤工作的辅导员。我们稍后还将讨论导师的角色。

  • 征集项目

只要与你的黑客马拉松目标一致,你会让黑客做他们选择的任何事情吗?或者也许只有选定的项目才能参与?

如果有选择过程:确定是谁在选择项目,以及如何选择。此外,一定要清楚地传达选择过程和标准。

如果所有的项目都受欢迎,人们可以自由地用脚投票——让人们尽可能容易地招募/加入团队。

鼓励参与者事先考虑他们的项目和团队总是一个好主意,这样他们就可以在黑客马拉松期间充分利用他们的时间。

这里有一些简单的方法可以帮助你提前征求项目想法:

  1. 使用一个简单的共享谷歌表单,人们可以在其中提交他们的项目想法,并注册领导或加入一个团队。
  2. 使用类似专用 Slack 频道的东西,人们可以通过投票提交项目并进行投票。
  3. 使用类似 Miro 或 Sketchboard 的东西创建自己的想法板,人们可以提交、投票和/或讨论项目想法。
  • 组建团队

任何参加过黑客马拉松的人,如果组织者没有促进团队组建过程,都会体验到那种轻微的无助和失落。

这是黑客马拉松组织过程的一部分,在这个过程中,主持人可以真正帮助参与者放松,并创造一个愉快而富有成效的体验。

关于如何做到这一点的一些想法:

  1. 推介会议—您可能已经有了预定义的项目,参与者可以注册成为团队成员。或者邀请那些已经知道他们想要做什么的人来展示他们的想法,时间限制在 30 秒到 1 分钟。
  2. 社交聚会时间——当你轮流进行推销后,给人们机会进行交流,这样他们可以问更多的问题。给它一个有趣的非正式氛围,鸡尾酒桌或小吃是一个好主意。
  3. 终于有一个简单的方法来跟踪谁将做什么。这可能是共享的谷歌文档或类似的东西。

🖼 #2:第一天,数据准备

让您的参与者直接进入代码和模型构建可能很有诱惑力。但是任何 ML 应用的成功都严重依赖于:

  1. 正确描述你试图解决的问题,
  2. 收集正确的培训数据

在这里,我们涵盖了你可以用来帮助引导你的参与者通过问题框架和数据准备过程的问题。

为了省去你的麻烦,我们还为参与者提供了一个“问题框架和数据设计”模板,你可以在自己的黑客马拉松中重复使用。跳转到本文末尾的参考资料部分下载。

框定问题

一个好的开始方式是用简单的语言描述你的问题。你甚至需要 ML 来解决问题吗?你希望你的 ML 模型做什么,它将如何帮助你实现你的目标?

假设你建立了一个闪亮的 ML 模型,成功是什么样子的?您将使用什么标准来确定您的 ML 模型是产生了成功的结果,还是失败了!

通常一个好的基准是在应用 ML 之前解决问题的方法。你的模型比这种启发式方法成功多少?

数据收集和组织

因此,现在您已经确定了 ML 将如何解决您的问题,您将需要弄清楚您需要哪些数据来训练您的模型。

首先,您可能希望编写希望 ML 模型使用的数据,以便进行预测。例如,什么是输入,什么是期望的输出(或标签)。

下一步是弄清楚你需要的数据从哪里来。您需要的输入是否可以以原始形式获得,在使用之前,您是否必须从多个来源收集数据、净化并混合它们?

您还应该考虑您使用的训练数据中是否存在任何偏差,这会对模型预测产生不利影响吗?模型能够有效地“学习”吗?例如,如果某个特定输出的训练数据不足。

**你有没有考虑过你收集训练数据的方式或者你如何应用 ML 是否有任何道德风险?**这是一个复杂且有时被忽视的设计因素,参见参考资料部分的一些推荐读物。

🏗#3:第 2-3 天,构建模型

最后两天是关于构建模型,迭代,最后到达你的参与者已经部署了他们的最小可行产品(MVP)的点。

在这一点上,你可能想要提供一些关于你期望参与者使用的特定 ML 框架和产品的指导。根据每个团队的经验水平和黑客马拉松的目标,这一点尤其重要。

先决条件

当谈到 ML 时,你希望每个参与者都有一个基本的理解水平吗?为了确保你的团队有一个公平的竞争环境,你可以建议一个免费的在线课程,比如谷歌的机器学习速成班、或者用你自己的材料代替。

在进入黑客马拉松的这个阶段之前,创建一个你希望每个团队完成的项目清单也是值得的。

**甚至考虑一下“数据准备”和“建立模型”之间几天或几周的间隔。**这让人们有时间收集高质量的数据,并确保他们从接下来的两天黑客马拉松中获得最大收益。

例如,对于每个团队来说,一个好的检查点可能是:

  • 一个明确定义的 ML 问题
  • 您和/或您的导师可以访问带有标签的培训数据
  • 一个明确定义的(或者至少是思考过的)ML 生产系统在部署 MVP 时的样子。从数据收集、培训、可视化到服务基础设施,无所不包。

问题的类型

缩小选择范围的另一个方法是让你的团队积极地思考他们提出的问题的最佳 ML 解决方案。

例如,它是一个“有监督的”还是“无监督的”问题,对于前者,它是一个“回归”还是“分类”任务?这里有一个关于常见 ML 问题的便捷指南。

我们在“问题框架和数据设计”模板中也提到了这一点。

API,代码什么的中间?

根据你的团队的经验水平,引导参与者走这条或那条路可能是个好主意。

例如,如果你有一个由优秀开发人员组成的黑客马拉松团队,但是他们缺乏 ML 经验。你可以建议他们走预先训练好的 ML 模型的路线,公开为 API,用最少的编码接受输入并返回结果。

大多数领先的云提供商为不同的应用程序提供此类服务,如图像识别、语音转文本、自然语言处理等等。

如果大多数人都是经验丰富的 ML 开发人员,他们可能已经有了特定的选择。现在并不缺少框架,TensorFlow、PyTorch 和 SciKit Learn 是其中比较流行的。您可以选择将它缩小到一个特定的框架。

最后,您可能会发现 AutoML 工具提供了一个很好的中间地带。AutoML 使具有有限机器学习专业知识的开发人员能够训练针对其业务需求的高质量模型。

AutoML 和 ML APIs 之间的关键区别在于使用您自己的数据构建定制模型的能力。

☀️ #4:当天

闪电谈话

“闪电谈话”只是简短、易于理解的陈述。他们通常由一名主题专家带领,涵盖与您的黑客马拉松相关的主题。

它们是激励人们的好方法,也可以帮助你的参与者熟悉他们可能第一次遇到的新技术、平台或概念。

你进行闪电谈话的次数取决于你需要报道的内容。我们建议每次不要超过 15-20 分钟,采用清晰一致的格式。

通常在一天开始时安排灯光讲座是个好主意。剩下的时间保持非结构化,直到你结束,这样人们就有足够的时间来编写他们的项目。

导师

导师在这一天扮演着非常重要的角色,并将成为你的黑客马拉松成功的关键因素。

导师如何帮助你的黑客马拉松团队和参与者:

  • 集思广益,挑战想法,引导问题框架。
  • 定期检查,以便每个人都保持在正轨上,并专注于黑客马拉松。
  • 分享知识、良好实践,并帮助避免想法重复。

导师的良好实践:

  1. 试着经常交换导师,以确保团队获得不同的视角,不要推行你自己的想法。
  2. 作为一名导师,你作为一个集体团队来帮助所有的团队
  3. 强调心理安全。导师允许团队不带任何评判地表达感受,这是一个安全的地方。
  4. 使用感觉词来识别和验证情绪,让团队敞开心扉,尝试讲述您自己的经历以及您过去如何处理类似情况。
  5. 如果我帮不上忙怎么办?这完全没问题,这也是一个招募广泛的导师的好理由,这样你们就能一起找到答案。你不需要成为技术专家,但应该能够鼓励团队以不同的方式思考问题,并促进讨论。

👩🏾‍⚖️ #5:总结和判断

结束黑客马拉松

有一个明确的截止时间,团队必须停止使用工具,停止黑客攻击,并准备与团队的其他成员分享他们的项目。

**迅速失败。经常失败。**强调 3 天后,产品可能不会推出,而且在这 3 天里想出的大部分主意都会失败。但同样要认识到,这种快速的原型和迭代过程可以带来巨大的创新!

让参与者了解未来的黑客马拉松机会,如果适用的话,让他们知道如何与导师和其他软件工程师会面,以构建新想法的原型。

选择获胜者

最后,您已经到达了黑客马拉松的终点,最重要的任务之一仍然存在——选择获胜者!

如果可行,试着从你组织中的执行发起人那里获得支持。他们不仅可以帮助评判团队,还可以确保获胜的项目获得适当水平的资源并坚持到底。这是在早期激励团队的好方法,因为他们知道获胜的想法会产生持久的影响。

如何确保评判成功:

  • 为每个团队安排演示时间(确保提前提醒他们,以便他们练习演示)。大约 3-5 分钟是一个很好的经验法则。
  • 召集不同背景和经验的专家小组,提供有用的反馈。
  • 使用清晰的评判标准选出获胜者,这些标准也应该提供给参赛队。
  • 如果合适的话,为获胜者决定合适的奖品。

后续步骤

一天结束了,但你的工作还没有完成,收集与会者的反馈以了解哪些进展顺利以及如何改进非常重要。

**专业提示:确保人们在离开前填写好调查问卷!

与获胜团队(和执行发起人)合作,讨论他们将如何推进他们的想法,以及接下来需要采取什么行动。

鼓励所有参与者保存他们的代码、输出和调查结果摘要。

最后,在得到许可的情况下,在社交媒体上与与会者分享当天的任何照片、视频、引言和截图——这是给每个人一天纪念品的简单方式!

🙏🏼谢谢

非常感谢夏洛特·哈钦森与我在这篇文章上的合作!

📚资源和延伸阅读

如何获得机器学习工作的 5 个技巧

原文:https://towardsdatascience.com/5-tips-on-how-to-land-machine-learning-jobs-8eb5c1c3ee95?source=collection_archive---------10-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

UnsplashMarten Newhall 拍摄的照片

从 FAANG MLE

机器学习是一个不断发展的领域,受到了很多关注,但获得机器学习工作仍然非常困难。在大公司获得工程职位意味着不仅要知道数据科学,还要知道编程和系统设计之类的东西。通常情况下,为申请新职位做准备需要大量的研究和学习。

当我准备机器学习工作面试时,我在面试前两个月就开始准备了。这时候我才真正明白我想要的数据科学和机器学习岗位需要什么。幸运的是,许多招聘人员允许并鼓励你花时间准备。

然而,这留下了一个重要的问题:你到底如何为你的角色做准备?在这篇文章中,我将分享一些获得机器学习工作的策略,从了解市场和建立投资组合到技能提高和申请过程本身。

1.熟悉机器学习

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

MLE - 12 的部分工作描述

每一个机器学习的工作都是不同的,每一个都会有不同的侧重点。例如,有些专注于机器学习,有些专注于机器学习管道,有些专注于大数据,还有一些专注于深度学习。

也就是说,任何机器学习工程师(MLE)工作的核心部分都是进行机器学习。因此,即使在申请任何 MLE 职位之前,首先要确保你对 ML 有足够的了解。亲身体验各种机器学习项目。构建自己的基本系统,了解它们是如何工作的。了解 Spark 这样的大数据平台和 Pytorch 这样的深度学习库。如果你需要更多的资源来理解这一切,我有一个专门的博客来帮助你。

这里有一个很好的基本目标,让你知道你已经做好了充分的准备:在你的 ML 准备结束时,你应该能够将一个商业问题转化为一个机器学习系统。理想情况下,您应该能够设计一个端到端的系统,这意味着数据收集、探索性数据分析、特性工程、模型评估、模型测试和部署。

2.为机器学习工作应用建立一个文件夹:在 Github 和 Kaggle 上创建一个存在

对于机器学习工程师职位的工作申请来说,一个重大挑战就是获得面试机会。那么,公司怎么才能找到你呢?怎样才能让自己脱颖而出?

一个答案是用你的技能去创造和完成项目。尝试许多新的玩具项目,并利用 Kaggle 等资源获取灵感。参加论坛是另一个有多重好处的途径;在推销自己的同时,你可以向他人学习并与他人讨论。

尽可能有创造性和主动性。在 GitHub 上建立你的个人资料真的很有帮助。编写大量代码,解决各种问题。靠自己很难找到这些,但是参加 Kaggle 比赛是一个很好的开始。

从事编程项目是建立投资组合的另一个选择。当我刚开始的时候,我做我喜欢做的事情,做我感兴趣的事情。有一段时间我试图自己创造一些游戏,但现在我经常通过实现他们的系统来理解研究论文。理解理论是一回事,写代码实现系统是另一回事。当你申请一份机器学习的工作时,你会想确保你能做到这两者。

3.提高你的编码技能

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

约书亚·阿拉贡Unsplash 拍摄的照片

许多公司在选择过程中会进行多次编码。这是目前为止你准备工作中最关键的部分,因为即使是机器学习工程师,到最后还是工程师。虽然这似乎是寻找合适人选的次优过程,但它仍然是当前结构的一部分,所以如果你想做 MLE,你需要了解与特定工作领域相关的各种数据结构和算法。为了有所帮助,这里有一些建议和资源。

为了理解数据结构的基础知识,Gayle Laakmann McDowell 的书破解编码面试包含了许多准备技巧。这是一本简明的书,包含了破解编码面试的适量信息。每种数据结构都有 2-3 页的解释,并附有练习题以加深理解。

我还建议根据你的喜好、经验等,列出你需要准备的话题清单。例如,我的列表是这样的:

**数据结构:**数组、栈/队列、字典、树、堆、图。

**算法:**排序、分治、动态规划/记忆、递归、二分搜索法、广度优先搜索/深度优先搜索、树遍历。

理想的情况是,在你准备结束的时候,你已经熟读了必要的题目,并且在 Leetcode 这样的地方解决了一些容易和中等难度的问题。

我也推荐 UCSanDiego 在 Coursera 上的算法专精课程。我也写了一些关于这些主题的简单解释的基础文章。你可以在下面找到它们。

4.理解大系统是如何工作的

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

疾控中心Unsplash 上拍照

在一家公司工作本质上意味着致力于创建端到端的系统,同时牢记诸如延迟、可维护性和可伸缩性等因素。出于这个原因,许多公司将系统设计作为面试过程的一部分。他们想知道你能理解到什么程度,并有可能帮助他们改进自己的系统。为此,示例问题可能如下所示:

  • 你会如何设计网飞?
  • 你会如何设计 Youtube?
  • 你会如何设计 Twitter/脸书订阅源?

虽然这些问题看起来令人生畏,但当你开始准备它们时,它们是相当开放的。另外,记住没有错误的答案。互联网上有很多这种准备的好资源,但我想特别提到两个:

  • Donne Martin 的《系统设计入门》:这是任何准备进行系统设计的人都应该至少浏览一次的资源。它对性能、延迟、可扩展性、可用性、吞吐量、一致性、cdn、数据库、缓存、负载平衡等基本主题进行了精彩的报道。
  • Techdummies :虽然 Youtube 上有很多视频在谈论最受欢迎和最大的服务(网飞、Youtube、WhatsApp、脸书、Gmail、亚马逊等)的系统设计。),这是我参考故障最多的渠道

最后,最重要的是了解一个特定的系统在最基础的层面上是如何工作的,它是如何被设置来减轻各种故障点的,以及该系统如何为大量用户工作。正是从这些构件开始,你将真正展示你的系统设计能力。

5.如何开始申请机器学习工作

所以你对数据科学有信心,你了解数据结构,你知道各种系统如何工作,你已经开发了一个很好的投资组合。

你应该如何开始申请工作? 这是一个根本问题,往往没有任何真正细节的回答。因此,如果我建议我的任何一个朋友如何开始找工作,我会给他们以下建议:

  • 调查并列出你的公司:首先调查并创建一份提供你所寻找工作的目标公司名单。
  • 努力获得推荐:如果可能,如果你有朋友或同事在你列出的公司工作,努力获得推荐。
  • **不要完全依赖你的推荐人:**如果你不能获得推荐(即使你能获得),试着联系公司的人力资源代表,或者通过 LinkedIn 联系招聘人员。我建议每家公司至少联系 3 到 4 名招聘人员。这会增加你得到回复的机会。
  • **按照偏好对公司进行排序:**根据你接到的电话数量,尝试按照最不感兴趣到最感兴趣的顺序对你的面试进行排序。例如,如果你的目标梦想公司是谷歌,试着把谷歌面试留到最后。这将确保之前的面试也作为你最重要的面试的练习。许多公司也有冷静期,所以你不想浪费这个机会。
  • 冲洗并重复:如果你找到了工作,太好了!然而,事实是您可能不会,在这种情况下,您可以从列表的顶部重新开始。不要失去希望!

结论

这篇文章列出了我如何准备机器学习工作的面试,以及我目前为我的工作做了哪些研究和准备。正如我在开始时所说的,这不是一个简单的过程,所以重要的是要有时间和耐心。也就是说,不要失去希望是非常重要的!每天专注于学习和提高一点,明白这里没有捷径,每个人都走相同的路,所以你必须坚持下去。

毕竟,只有通过一系列的小步骤,一步接一步,你才能走完长距离。所以保持决心,坚持下去。你的结果会出来的。

另外,如果你想了解我自己的面试经历,请看这里。

继续学习

如果你想以更结构化的方式阅读更多关于算法和数据结构的内容,这里有一个 UCSanDiego 在 Coursera 上的 算法专门化。我在准备的时候旁听了这门课程。

谢谢你的阅读。将来我也会写更多初学者友好的帖子。关注我在 媒体 或订阅我的 博客 了解他们**。**

此外,一个小小的免责声明——这篇文章中可能会有一些相关资源的附属链接,因为分享知识从来都不是一个坏主意。

促进数据科学学习的 5 个技巧

原文:https://towardsdatascience.com/5-tips-to-boost-your-data-science-learning-320a2284690?source=collection_archive---------12-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Julia Nikulski 制作的图片展示了推动您的数据科学学习之旅的 5 个技巧。由 Flaticon 制作的 BecrisFreepikultimatearm桉树的图标。

入门

通过专注于这 5 件事来增加你的学习曲线,而不是参加更多的在线课程

许多指导者给你关于如何开始数据科学的建议:参加哪些在线课程,为你的作品集实施哪些项目,以及获得哪些技能。但是,如果你已经开始了你的学习之旅,而现在你正处于中途,不知道下一步该去哪里,那该怎么办?

Udacity 完成我的数据科学家纳米学位后,我处于那个中间点。我已经建立了各种数据科学主题的基础——ML、深度神经网络、NLP、推荐系统等等——我的学习曲线非常陡峭。所以我觉得仅仅参加另一个在线课程不会每天学到很多东西另外,我有点不耐烦了,想现在就应用我的技能,而不是在一个半小时的讲座之后。但是我该怎么办呢?

我想分享我关注的 5 件事,它们确实帮助我提高了数据科学学习,并构建了更深刻的知识和技能。我提高了自己的技术和非技术能力,以实施成功的项目并取得成果。如果你正处于这个中间点,你将会学到更多的东西,如果你花时间在这 5 件事情上的话,这将会比你参加另一个在线课程或者进行一万次的卡格尔竞赛要多得多。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Firmbee.comUnsplash 上拍照

1.从头到尾实施大型项目

大多数人倾向于通过学得最好。这就是为什么在线课程通常会教你一项技能或概念,然后要求你在一个小练习或项目中实现它。所以参与项目会教会你很多。从头到尾实施大型项目,潜在的许多陷阱会让你学到更多

如果你在一个项目上工作,作为在线课程的一部分,研究问题,数据集,有时甚至模型和评估指标都是为你选择的。所以你只需要关注代码和实现。然而,决定一个研究问题、数据集、模型和评估指标实际上是棘手的部分!如果你曾经不得不写一篇论文作为大学学位的一部分,你就会知道定义一个研究问题是非常困难的。

无论你是数据分析师、商业智能分析师还是数据科学家,你工作的一部分就是在大量数据中识别模式而不需要任何人告诉你到底要寻找什么。在其他情况下,您可能需要调查一个特定的问题,但是您没有数据集,需要考虑可以用什么来回答这个问题,以及如何获得它。这些例子表明实施本身并不能让你为数据科学工作做好充分准备。

为了练习你在实现之外的技能,你应该从头开始开发你自己的项目——从研究问题开始,到部署结束。以下资源可帮助您完成这项任务:

  • 开发项目想法 : 如果你需要灵感来提出独特的数据科学项目想法,你可以查看我的指南,在那里我讨论了 5 个步骤,它们将帮助你提出有趣且可执行的想法。
  • 项目规划方法 :本帖介绍了 10 种不同的方法,帮助你规划和管理你的数据科学项目。它们包括 CRISP-DM 、敏捷、特别和瀑布方法。
  • 数据科学项目结构 : Cookiecutter 数据科学提供了一个标准化的项目结构,帮助您创建可重复、自我记录的项目。它考虑了项目中的所有步骤—从收集和转换数据到生成结果报告。

除了从头到尾实施一个项目,关注更大的项目也会增加你的学习。处理大型数据集,实现更多的模型,回答更多的问题,这一过程中会产生更多的问题和困难。虽然奋斗可能会令人沮丧,但它实际上教会了你宝贵的知识和技能。与被告知潜在问题及其解决方案相比,面对问题然后自己解决是一种更有效的学习方式。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

卡洛斯·穆扎Unsplash 上的照片

2.创建您自己的数据集

对于许多数据科学家来说,建模是最令人兴奋的部分——找出要使用的算法、实现、微调和评估它们。然而,作为一名专业的数据科学家,**你必须处理数据收集和清理,**需要你 80%的时间。

如果你在一家没有指定数据工程师的公司工作,你可能要负责数据采集。因此,了解哪些数据与特定的研究问题相关,在哪里以及如何获取这些数据,以及采取哪些预处理步骤至关重要。你应该练习网络搜集(但保持其合法性和道德性),熟悉提供现有数据集和API资源(你可以对其进行组合和扩展),并转换数据以供进一步分析和建模。

虽然许多投资组合项目需要一次性获取数据,但现实世界的应用程序通常需要持续提取、转换和加载新数据的 ETL 管道。因此通过编写一个脚本,将您的数据获取转变成一个 ETL 过程,该脚本不断提取新数据、转换数据并将其保存到数据库中。

以下资源可帮助您开始创建自己的数据集和 ETL 管道:

  • ka ggle 上的数据集**😗*ka ggle 上的用户已经分享了他们创建的数百个数据集。其中许多解释了用于获取数据的来源和过程,并给你一个在哪里寻找数据的想法。
  • 数据科学的网络搜集 : 凯瑞·帕克为数据科学家写了一本很棒的网络搜集指南。
  • 用于数据科学的 API**😗*展示了 22 个 API——包括 IBM Watson、Spotify 和 Census.gov——为数据科学和机器学习提供数据。
  • Awesome-ETL**😗*用各种语言构建 ETL 管道的资源概述—包括 Python。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

苏珊·Q·尹在 Unsplash 上的照片

3.阅读学术论文

当我想获得一个主题的高层次概述或理解算法的基本机制时,我的资源包括在和其他网站上发表的关于数据科学的博客文章。然而,高层次的理解只能让你到此为止

阅读介绍、比较和对比算法和机器学习方法的学术论文为你提供比任何博客文章都更深刻的知识。例如,您将了解为什么要引入一种特定的算法,它在数学上是如何工作的,还有哪些研究和模型可以解决类似的问题,以及未来的研究需要解决哪些问题。

此外,阅读学术论文有助于你掌握你所在领域的最新进展。所有你喜欢的 ML 算法和 NLP 模型都是由研究人员开发的,并在论文中介绍过——随机森林XGBoostBERTGPT-3 。其他论文有助于理解哪些算法在特定场景中表现最佳。

有了从定期阅读学术论文中获得的知识,你将能够更好地解释算法的内部工作原理,为你的用例选择合适的模型,并证明你的决定。是的,阅读科学著作是困难和令人疲惫的。但是这是值得的,随着时间的推移,你会做得更好。你对理解一篇论文的关注和努力会导致一个更陡峭的学习曲线。

以下资源可以帮助您开始撰写学术论文:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

戴红帽的女孩Unsplash 上的照片

4.撰写技术博客文章

根据费曼技巧,向别人解释一个话题是你自己学习的好方法。当您在 Medium 或 TDS 撰写关于数据科学的技术文章时,您需要足够详细地理解这些材料,以便向您的受众解释。因此,写关于数据科学的文章是费曼技巧的一个很好的应用。TDS 上的作家已经无数次证实了这一点。

写技术文章的一个奇妙的好处是你有自己的资源。如果您想重温一下不久前实现的算法或项目,可以回到您的文章。此外,这些博客文章还可以向雇主们展示你了解某个主题,并且对数据科学有全面的了解。最后,写作有助于练习你的 沟通技巧 ,这对于数据科学家来说是一项至关重要的技能!

以下资源可帮助您入门并提高您的技术写作能力:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

照片由印尼 UXUnsplash 上拍摄

5.与他人合作

我曾经低估了在数据科学和编码项目中与他人合作或为他人工作的价值。当我和一个朋友一起设计一个网络游戏时,这种情况发生了变化。我注意到我可以从他那里学到很多东西,不是因为他教了我什么,而是因为我们交换了想法,共享了代码,并且必须相互交流我们的愿景和进展。

与数据科学家或程序员同事合作以及为朋友或你当前的雇主解决数据相关的问题教会你在线课程所不具备的技能:

  1. 与技术和非技术受众交流并向他们展示您的发现。
  2. 解决与业务相关的问题,其中错误会产生实际影响(如果工作发生在业务环境中)。
  3. 根据用户反馈调整你的想法和代码。

要开始与他人合作,请与一位可能面临问题的朋友交谈,您可以用自己的数据和编码技能解决这个问题。如果你认识数据科学家或程序员,请他们合作一个联合项目。在工作中注意发现潜在的机会,在这些机会中你可以利用你的数据科学技能。也有很多机会与在线社区合作项目,如 DataKindData for GoodStatistics Without Borders

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

照片由S O C I A L C U TUnsplash 上拍摄

摘要

学习数据科学很难 —不仅仅是因为你需要获得所有的技术知识。构建你的学习之旅,坚持下去,并获得你的努力有回报的感觉是具有挑战性的。我曾经认为在线课程是成为伟大的数据科学家的秘诀。

我发现,从头到尾参与大型项目,创建自己的数据集和 ETL 管道,阅读研究论文,撰写技术博客帖子,以及与他人合作教会了我宝贵的技能,否则我不会获得这些技能。我希望你自己尝试一下这些技巧,并提高你的数据科学学习

你想在媒体上阅读更多高质量的故事吗?考虑注册一个支持我和其他媒体作者的会员。

https://medium.com/@julia.nikulski/membership

您是否正在寻找展示您的数据科学产品组合的方法,但不知道从哪里开始?查看我关于如何建立数据科学组合网站的指南**😗*

** **

获得第一份数据科学家工作的 5 个技巧

原文:https://towardsdatascience.com/5-tips-to-get-your-first-data-scientist-job-d8e5afd5a59b?source=collection_archive---------6-----------------------

办公时间

我在臭名昭著的求职阶段学到的关键东西

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

照片由山姆·丹·张Unsplash 上拍摄

所以,你已经学习数据科学有一段时间了,你现在期待着下一步:作为一名数据科学家获得你的第一份工作。然而,如果这不是你的第一份工作,那么这可能是你第一次申请与你之前职业无关的职位。那么,为什么不从别人的错误中吸取教训呢?

在我关于转行数据科学的帖子中,我从 DataQuest 的在线学习开始。然后,今年早些时候,我做了职业生涯中最好的决定之一:我报名参加了 Le Wagon 训练营——我还写了一篇关于它的帖子。尽管训练营本质上是密集的,但任何职业转变中最困难的部分是获得你的“第一份工作”

最近,我加入了一家名为 Nextdoor 的公司,成为一名位于英国伦敦的数据科学家。但是找到我作为数据科学家的第一份工作绝非易事。我申请了超过 50 个职位,参加了几次面试,其中一些是纯技术性的,或者包括现场编码。在此期间,我学到了很多东西,我想与大家分享五条建议,它们可能会帮助你找到作为数据科学家的第一份工作:

1-自我意识

这似乎是显而易见的,但不幸的是,识别你不知道的东西并不容易。更糟糕的是,你可能认为你知道,但你不知道。我举个例子:在训练营期间,我已经使用 Scikit-learn 的逻辑回归创建了几个机器学习模型。我几乎是凭直觉调整惩罚参数,尤其是在l1l2之间,它们分别指套索和山脊。到目前为止一切顺利。

在我的第一次面试中,我决定加入这些概念来展示一些知识,但事与愿违。当我试图解释其中的区别时,我意识到我知道如何应用它们,但我不理解背后的概念(更不用说数学了)。不用说,我没有得到那份工作。我的建议是深入研究几个项目,直到你逐行了解你的代码。在模拟面试中,试着向其他同事解释你选择每个模型和参数的原因。你会注意到在去面试之前有很多空白可以填补。这样做,你也会用正确的术语听起来很流利,并且有信心解释你的工作。

2-向他人学习

如果你真的想在头几个月找到一份数据科学家的工作,那么你应该向那些有丰富经验的人学习。老师和助教是很好的信息来源,所以要每天和他们交谈。问一个关于招聘流程、面试以及如何管理与招聘人员的对话的问题,以了解更多关于公司和职位的信息。

此外,我还和另外两位训练营的校友一起创建了一个 slack 频道。在这个频道里,我们分享我们的简历、求职信、面试和测试的反馈。我们讨论过面试的问题和答案,我们总是分享我们的代码和笔记本来互相帮助。不要害怕分享你的工作,而是学会一起工作。毕竟,你们有相同的目标:尽快成为一名数据科学家。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

JESHOOTS.COMUnsplash 上拍照

3-学习动机比编码技能更重要

作为一名数据科学家,你没有“商业经验”,这应该会让所有招聘人员感到惊讶。只要看一看你的简历,任何人都能看出你在寻找你的第一份工作。也就是说,不要试图把自己推销成一个专家数据科学家(来自 Kaggle projects),这不是你在这个阶段最有价值的技能。

在我收到 Nextdoor 的录用通知后,人事经理从我参加的八次面试中给了我反馈。可以总结为一个“赞成”和一个“反对”:我渴望学习,但我没有编码经验。我了解到的是,招聘经理寻找的是热衷于学习新事物、紧跟行业发展的人。

所以,表现出你是一个好奇的人,你享受学习数据相关话题的过程,你每天都在练习编码。展示你对数据、计算机科学、统计学领域的热情。你对持续学习的动力和承诺将(并且应该)超过你当前的编码技能。

4-知道你想要什么

没有经历过就知道自己想要什么有点抽象。你怎么知道你想成为一名数据科学家,但不是机器学习工程师或数据工程师或数据分析师?起初,所有这些职位看起来都非常相似,也许你会接受其中任何一个作为你的第一份工作。嗯,我一开始也是这么想的,但这是个错误。

求职阶段的关键区别在于面试的准备。如果你知道你想要一份数据科学家的工作,确保你确切地知道数据科学家做什么。随着你的研究,一些细微差别会开始凸显出来。比如数据科学家倾向于不用数据分析师用的 Tableau,或者数据工程师用的 Docker。你不必拓展广泛的数据科学知识,相反,你可以提高你在新工作中需要的深度。一些例子包括 Pandas、Numpy、Scikit-learn 线性和逻辑回归、matplotlib 和 seaborn。如果你掌握了这些,我相信你很快就会得到一份数据科学家的工作。

5-习惯拒绝

我再强调这一点也不为过:请习惯被招聘人员、招聘经理和公司拒绝。在寻求第一份数据科学家工作的过程开始时,你的积极性很高,没有什么可以阻止你。

然而,随着时间一周周过去,拒绝信不断出现在你的收件箱里,你的动力水平不可避免地崩溃了。有大量的数据科学家职位,以及越来越多的候选人。此外,招聘过程很慢,但从候选人的角度来看要慢得多。在新工作两个月后,我收到了拒绝邮件。反正被拒是很自然的。

让你保持高动力的一个方法是和一群经历相同过程的朋友分享。就像我之前说过的,和其他校友建立一个松弛的渠道,分享你的挫折。我相信他们也在经历同样的事情。这很重要,因为你会发现你并不擅长编码,这只是时间、一致性和努力的问题。

永不放弃!

想获得媒体文章的全部访问权限并支持我的工作?只是 5 美元/月。使用以下链接订阅:

https://boemer.medium.com/membership

这里有一些你可能会喜欢的文章:

改善数据科学团队学习文化的 5 个技巧

原文:https://towardsdatascience.com/5-tips-to-improve-the-learning-culture-in-your-data-science-team-251647e27cd1?source=collection_archive---------25-----------------------

作为一个 DS 团队,很容易被日复一日的任务所拖累,而不能优先考虑学习。你如何改善你团队中的 L&D 文化?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

阿克森Unsplash 上拍照

作为一个数据科学团队,很容易被日常任务拖累。为了保持创新并为业务提供竞争优势,DS 团队需要不断寻求改进并填补知识空白。如何改善您的数据科学团队中的学习与发展(L&D)文化?

正如我在上一篇关于如何作为一名数据科学家保持学习的文章中所写的那样(在个人层面),学习过程应该是有意识的。这里有 5 个小贴士,让你开始在你的团队中创造一种围绕 L & D 的动力。

1)雇佣心态正确的人

第一步是雇佣能够推动业务发展的人。随着企业的发展,个人也必须发展以适应新的约束和寻找新的机会。除了评估众所周知的技术技能和瞬间完成工作所需的软技能,最重要的是评估个人和职业发展的愿望。

你正在寻找一个学习速度快的终身学习者。如果我们用回归类比,你要找的是一个高斜率而不是一个高截距(尽管两者都很好…).要寻找的一些代理:

  • 这个人对公司和团队非常好奇。他们会问大量的问题,并深入挖掘细节。
  • 这个人对某件事充满热情,并且知道如何成为某方面的专家。
  • 这个人知道他们不知道的事情他们会采取什么步骤来解决这个问题。

面试时要问的一些问题:

  • 你学到的最后一件事是什么?你能给我解释一下吗?你为什么学那个?你有机会在工作中应用它吗?
  • 你如何跟上这个领域的发展?你最喜欢的媒体/资源是什么?为什么?
  • 你是如何学习新东西的?你能给我举个例子,说明你在不久的将来想学什么,以及你将如何去做吗?
  • 你想成为哪方面的专家?
  • 在完成前/完成时,哪个项目最需要你学习?你花了多少时间?然后深入这个项目,了解他们的知识深度。

总而言之,你可以在面试过程中找到代理人,告诉你这个人是否喜欢学习,他们能够学习多快,以及他们是否能够将学习成果与商业价值联系起来。

2)以团队讨论和参与为目标

共享到松弛信道的链接是不够的。当没有人阅读他们同事分享的任何东西时,不要瞄准一堆只有表情符号反应的链接。这会阻止分享的人分享更多。你想要的是对团队共享的每一个资源进行讨论。最好是在一小组话题上有一个强有力的参与。

鼓励讨论的一个方法是,每当一个人分享一个资源时,就遵循一个框架。例如,在点击发送按钮之前,他们应该回答以下问题:

  • 有没有用自己的话写的简短总结?
  • 为什么这对团队中的其他人或业务很重要?
  • 我是否标记了我认为会对资源感兴趣的人?
  • 这与以前共享的资源、当前的项目或团队以前的讨论有什么联系?
  • 消耗资源需要多长时间?
  • 我是否向团队提出了一个有意义的问题来开始对话?

这个框架显然应该和整个团队一起讨论。另一方面,如果你看到一个资源被分享,花时间去阅读它,并提供你的观点。允许自己脆弱和犯错。目标是作为一个团队学习,而不是炫耀你已经知道的东西。

向学习过程中添加结构的结果是,它允许整个团队充分利用它,并保持学习的动力。讨论需要讨论,这是一个良性循环。

3)将学习过程与商业价值联系起来

将学习放在首位的最有效方法之一是将学习成果与业务成果联系起来。这对每个人都是双赢的局面:高管团队、数据科学团队和个人贡献者。你做得越多,你就能为 L&D 活动获得越多的资金,无论是金钱还是时间。

一个先决条件是已经思考过数据科学团队的中期和长期目标,这通常是健康团队的情况。由于学习基本上是面向中期/长期的,因此将学习成果与潜在的未来高价值项目联系起来更容易。

实现这一点的一个简单过程是:

  • 选择一个未来的潜在项目,每个人都兴奋地为之工作,
  • 识别团队中会妨碍从项目中获得价值的差距,
  • 提出一个详细的学习计划,逐步降低项目风险。

例如,一个新的产品特性将允许企业在不久的将来获得书面的客户评论。分析这些数据并提供预测模型可能会在客户成功和体验方面带来巨大的商业价值。假设团队中除了基础知识之外,没有人真正熟悉 NLP。围绕这一点制定一个学习计划,包括具体、简短和频繁的里程碑,通常是围绕您的业务案例的快速原型/概念验证。这样做,它将允许团队在工作中不断学习,还可以多次迭代项目,消除风险,评估外部解决方案是否可以做得更好,等等。

如果你需要证明持续学习的价值,证明学习成果提供了切实的商业价值是最简单的方法。

4)建立仪式

至于任何随之而来的变化,你需要养成习惯,以便新的范式变得正常。好消息是,团队中应该已经有了很多仪式,例如站立、回顾会议、绩效评估…一个好的开始方式是在现有的仪式中包括学习仪式。例如,每个人都必须分享他们在每次站立时学到的东西(顺便说一下,不一定是与数据科学相关的……)。或者如果开始时太频繁,人们可以轮流。你可以作为一个团队找出什么是最有意义的。

一些仪式的例子:

  • 在每个人的日历上屏蔽一个简短的重复事件,以便学习和交流已经分享的内容。这可以成为一种有趣的仪式,并鼓励团队之间的讨论(因为每个人都会同时专注于学习)。
  • 一个读书俱乐部,每个人/一群人都同意阅读一本书的一个章节,并在固定的时间进行讨论。
  • 论文阅读小组也是如此,人们同意阅读选定的论文,并在小组会议上进行讨论。
  • 为了获得更多的实践知识,建立一个由一个(或多个)团队成员轮流组织的研讨会。如果研讨会侧重于如何将知识应用于实际问题(如果是当前的业务问题,则加分),而不是侧重于理论(可以在读书俱乐部会议期间进行),通常会有更好的参与。
  • 组织结对编程。
  • 在资深员工的带领下,为初级员工组织辅导会议。
  • 一起看一段录音(例如来自一个会议),然后讨论这个演讲。集思广益的想法,潜在的用例,它如何与相邻的概念。
  • 每 X 个月安排一次黑客马拉松,每个人都在为他们感兴趣的主题的可交付成果而努力。这是探讨相邻话题的好时机。
  • 在通常的回顾会议中包括对学习过程的回顾。每个人都反思自己的学习之旅,以及下一步想学什么。

5)有意为之

与为每个团队成员建立职业发展道路同样重要的是,我认为学习道路也必须平行建立。每个人都需要知道他们需要学习什么才能在公司成长。让它成为一个与常规 KPI 或您在绩效评估中使用的任何指标同等重要的目标。

确定团队整体的优势和差距。确定每个人的兴趣,为每个人开辟一条个人学习之路,其学习成果将有助于团队的整体成功。我非常喜欢阿方索·卡塔在他的文章中详细描述的结构。

最后,让每个人都有学习途径,并让每个人对自己的目标负责。从长远来看,这将有助于团队的成功。

为了改善数据科学团队中的学习和发展文化,首先要雇佣心态正确的人,然后鼓励围绕学习资源的讨论和参与,最好将学习成果与业务成果联系起来,将学习融入团队仪式,最后要对团队中每个人的成长保持有意识和一致的态度。

LinkedIn 上跟我连线。

改进分析幻灯片的 5 个技巧

原文:https://towardsdatascience.com/5-tips-to-improve-your-analytics-slide-decks-c5d0559259c0?source=collection_archive---------18-----------------------

因为没有良好的沟通,伟大的分析是没有价值的

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(图片编辑自unsplash.com)

幻灯片仍然是展示任何分析结果的最常用工具。它们不仅是一个通知、激励和说服你的观众的工具,而且通常也是一种文档,人们会在几周或几个月后回来查阅。

我们都知道饼图是邪恶的,我们不应该使用三维图表,甚至更糟的是,动画。我不会在这篇文章中再提到这些(保证)。相反,我喜欢分享我在过去几年的产品分析工作中学到的一些原则,这些原则极大地帮助我设计了更易于阅读、更吸引观众的演示文稿。

首先,让我们看一下下面的幻灯片:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(图片由作者提供)

乍一看,这一页没什么问题。在我注意到我必须改变一些东西之前,我可能在过去制作了数百张这样的幻灯片。但是对于第一次看这张幻灯片的人来说,可能会出现很多问题,比如:

  • 这应该告诉我什么?
  • 为什么 2019 年 2 月美国活跃用户数量激增?
  • 这些数字是从哪里来的,我如何自己深入了解它们?

只要稍加修改,这些信息就能以更直接的方式呈现出来。

1.在标题中使用完整的句子

最常见的情况是,幻灯片标题像书中的章节名称一样使用。议程市场概述建议总结等。都是经典的例子。但是,尽管它们在幻灯片上占据最突出的位置,但它们并没有提供多少信息或价值。

每张幻灯片都应该传达特定的信息。例如,上面的幻灯片告诉我们,在过去的 12 个月中,活跃用户的数量增长了很多。将这一主要信息以标题的形式放在幻灯片的顶部,会立即让你的观众了解他们在看什么。同样重要的是,对于作为分析师的您来说,无论何时看到演示文稿中的这张特定幻灯片,它都是一个很好的起点:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(图片由作者提供)

在标题中使用完整的句子最初可能会觉得有点奇怪,但是我强烈建议你试一试。观众的注意力会立即被吸引到特定幻灯片上最重要的内容上,从而更容易记住您的信息。

在创建幻灯片时,我试图设计和组织标题,以形成一个清晰的故事情节。如果有人只是通读那些完整的句子标题,他们仍然应该按照逻辑顺序获得所有的重要信息。

突出幻灯片上重要的一条信息也迫使你思考一张幻灯片是否真的有必要,或者是否应该一分为二。

2.添加带注释的上下文信息

如果你展示的图表是有趣的(它应该是有趣的),就会有问题。“*为什么 5 月份转化率暴跌?”,“为什么我们会在第 3 季度看到新用户注册量激增?”、“为什么法国的回头率低那么多?”*是展示图表时必须回答的问题。

以我的经验来看,最好的办法是努力预测这些问题。通常,这些相对容易预见,因此人们可以在图表上以小注释的形式添加答案:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(图片由作者提供)

这些笔记不仅会帮助你更自信地陈述,留下更少的开放性问题。在你展示结果的几个星期或几个月之后,人们仍然在浏览幻灯片,这也会有很大的帮助。

3.为后代设计:包括你的来源

当我开始我的分析师生涯时,添加你的来源可能是我得到的最有价值的提示。想象一下,你做了这个奇妙的分析,将结果展示给更广泛的人群,然后继续下一个任务。三个月后,一位同事找到你,问你是否能找出你展示的图表的实际数字。或者更糟糕的是,一些数字现在看起来有点不对,他想确保你提供的结果是可靠的。

根据你用来进行分析的工具,如果你没有在演示中包括你的源,或者没有一个特殊的文件管理系统来管理你所做的所有分析,这可能并不容易。幸运的是,像 Looker、Tableau 和 Co .这样的 BI 工具提供了使用 URL 链接分享你的作品的可能性。在幻灯片注释中添加这些链接只需几秒钟就能完成,这是一种真正的安全方式。更好的是,你的同事也可以在回复你之前检查这些东西。

如果您使用 Jupyter Notebooks 之类的其他工具,至少添加可以找到您的源代码的目录或 git 存储库的链接已经非常有用了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(图片由作者提供)

4.你是专家:解释结果

作为分析师,我们通常根据数字来陈述事实。与此同时,我们展示的结果仍然可以留下足够的解释空间——无论你是在营销、金融、产品还是其他领域工作。作为分析师,我们是我们领域的专家,因此应该对为什么我们会看到特定的结果或用户行为有很好的感觉。根据我的经验,提供一些解释会非常有助于帮助你的听众理解问题并提出他们自己的想法。

在应用程序中查看以下(虚构的)Medium 入职流程转换数字。我们可以看到,用户应该在收件箱中确认电子邮件地址的步骤明显减少了:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

中型入职流程幻灯片(数字是由作者创建的随机数)

5.毫无意外:提前分享你的卡片

提前分享你的卡片并不一定是一个与风格相关的提示,但重要性不亚于前面的原则。当我开始做分析师的时候,我试图让我的演讲尽可能地令人兴奋和吸引人。这意味着我会给观众带来和我切入新话题时一样的体验。

首先,我会定义问题和解决问题的方法。然后,我展示了我所掌握的所有证据,最终得出了我的结论和建议。

这种做法的问题在于,它迫使人们一直跟随你的想法。作为一个听众,如果你不知道整个演讲的方向,就很难提出问题并提出不同的方向。同时,作为演示者,你可能会对你无法回答的问题或你没有注意的事情感到惊讶。

至少在演示前几个小时分享你的幻灯片,这不仅有助于提高会议效率,让每个人都知道正在发生什么。这也让你有机会检查你是否遗漏了什么,或者在展示之前最好仔细检查你牌组中的一些数字。

我希望这些建议能像帮助我一样帮助你改进你的演讲。如果你有我在这篇文章中没有提到的好建议,请在评论中分享。

喜欢这篇文章吗?那么你可能也会对我的另一篇关于(产品)分析的文章感兴趣:

https://productcoalition.com/mastering-user-retention-like-amazon-spotify-and-co-5d2bd2931717

开启数据科学职业生涯的 5 个技巧

原文:https://towardsdatascience.com/5-tips-to-launch-your-data-science-career-9da0c238564b?source=collection_archive---------45-----------------------

也是为了提升你的数据科学工作

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

斯科特·格雷厄姆Unsplash 上拍照

十年前,当我开始我的数据科学职业生涯时,我对 R、SQL、ge phi——一种用于网络分析的开源工具和两三种算法的基础知识,只有一点点了解。但在当时,这足以让我在一家发展最快的初创公司找到一份数据科学的工作。快进到现在,今天的情况完全不同。这个行业竞争非常激烈,要求也非常高。如果您致力于进入数据科学领域或推进您在数据科学领域的职业发展,这篇文章非常适合您。

技巧 1 —选择 Python

如果你已经在使用 python,那太好了!如果没有,请学习使用 Python。根据最近的 kaggle 机器学习和数据科学调查,大约 80%的人回答说他们主要在工作中使用 python。大约 3-4 年前,趋势完全不同,大多数数据科学家仍然使用 R。你可以使用 R 或任何其他编程语言,仍然可以成为一名伟大的数据科学家,但你将与大多数人不同。

选择 python 而不是 R 的另一个原因是深度学习的大多数研究项目都是使用 python 完成的,因此与 R 相比,像 Keras 这样的工具会首先在 Python 中提供它们的功能。

技巧 2——获得基本概念的可靠知识

进入数据科学领域的竞争非常激烈,要想在工作中取得成功,你需要具备以下所有领域的扎实知识。

熊猫

它是数据科学家最常用的 Python 库之一,提供了很多好处。在从事数据科学项目时,数据科学家主要关注两件事,一是数据分析,二是数据操作,而熊猫可以实现这两件事。你应该有足够的知识来使用熊猫完成下面的任务

  • 从不同来源读取和写入数据
  • 数据子集的过滤和选择
  • 摘要和模式提取
  • 识别和处理缺失值和异常值
  • 多变量分析
  • 形象化

NumPy

现实生活中的许多数据都是数字数据,当您开始从事数据科学项目时,您会发现大多数数据都是数字数据,而少数其他分类数据也会使用整数编码或一键编码转换为数字数据。因此,了解对那些需要 NumPy(也称为数字 Python)的要素执行数学和逻辑运算非常重要。

许多人会认为你需要在熊猫之前学习 NumPy,但我更喜欢新初学者的另一种方式,因为学习会有很多摩擦,保持高动机很重要,NumPy 概念无疑是非常重要的,但同时没有多少人觉得它有趣。

统计数字

这本身就是一个巨大的话题,作为一名数据科学家,虽然不期望你成为一名专业的统计学家,但你仍然需要对基本的统计概念有足够的了解。

您应该有足够的知识来执行以下任务,

  • 从数据集生成样本—了解不同采样技术之间的差异和优势,并根据使用案例选择一种技术。
  • 使用偏度和峰度理解数据分布的能力
  • 可变性测量
  • 确定两个或多个变量之间的关系
  • 中心极限定理
  • 假设检验

如果您热衷于理解基本的统计概念以及使用 python 的实现,请查看下面的文章

数据科学数学

数学是一个重要的概念,起着至关重要的作用,但我总是建议初学者按照要求学习数学。没有必要专注于数学概念,但学习数学概念就足够了,就像学习线性回归一样,然后学习梯度下降背后的数学概念。

技巧 3——通过项目实施学习

最好的学习只有当你尝试去实现你所学的概念时才会发生。你目前在做什么并不重要,但你需要始终有一个学习目标,并继续学习。有几个公共数据集和竞赛可供您使用、学习和发展您的职业生涯。此外,您可以尝试自己的数据科学用例。在这样做的同时,确保你专注于并提高你在以下领域的技能,

  • 探索性数据分析 —您需要很好地理解不同的数据分析,以便从数据中提取真知灼见
  • 特征工程 —通过更多的实践经验,以及从 kaggle 和其他数据科学论坛中学习,您将了解可应用于不同类型数据和场景的特征工程技术。例如,许多金融数据高度偏向右侧,如个人财富、房价等,因此在这些情况下,我们可以利用对数变换将其转换为正态分布,而无需消除异常值,这有助于将一些关键数据模式传递给我们正在构建的预测模型。同样,当您使用基于距离的算法(如 K-Means 或 KNN)时,使用缩放比例并使数据属性达到相同的比例也很重要。你可以通过实践来学习这些概念。你不需要在第一天就掌握很深的知识,但是为了在职业生涯中取得进步,你也需要获得这些领域的知识
  • 算法选择 —这也带来了更多的实践经验,一些算法最适合某种类型的数据,比如当我们有很多分类数据时,基于树的算法最适合,因为它们会尝试基于不同的条件进行分支。类似地,当输入和输出变量之间存在线性关系时,那么线性回归就可以很好地进行预测。这种知识只有通过实践和经验才能获得,所以在参加比赛或从事你的项目时,要对这些知识保持开放的态度
  • 讲故事的艺术 —虽然您构建的数据分析和预测模型很重要,但数据科学项目的成功取决于您在向业务利益相关方展示发现时想出的故事情节。你可以通过写博客、参加论坛和展示你的分析来微调这些技能

下面是一些可以帮助你学习的 Kaggle 数据集,

技巧 4——基于最新趋势的学习工具

以下是数据科学家在日常工作中常用的一些流行工具。

云平台

最受欢迎的云平台是 AWS、GCP 和 Azure。新冠肺炎危机加速了云在全球的采用,预计这一趋势将在未来几年持续下去。这些平台大多在你注册时提供免费学分,可以用来更好地了解这些平台。如果你能在任何一个流行的云平台上获得一些经验,那么这将有助于你脱颖而出。

码头工人

数据科学项目中最大的问题之一是部署。通常,解决方案将在开发环境中构建,然后在测试环境中进行测试,最后转移到生产环境中。所有的平台通常彼此非常相似,但是当你把你的代码从一个环境转移到另一个环境时,可能会有很多问题,特别是因为库和其他依赖项不完全匹配,这个问题的结局就是 Docker。

Docker 就像一个平台即服务,您可以将解决方案与所有依赖项和包打包在一起,这样就可以更容易地从一个环境迁移到另一个环境,不会有任何麻烦。了解这一点肯定会很有帮助

饭桶

Git 用于版本控制,当团队规模较大时,像 git 这样的工具是版本控制的首选。此外,公共 git 存储库可用于展示您的项目和其他与数据科学相关的工作。

技巧 5——建立个人投资组合网站

虽然学习很重要,但更重要的是能够展示你的技能。展示你技能的最好方式是创建一个个人作品集网站。它可以用来展示你做过的项目以及你写的博客,还可以提供个人资料和其他专业工作的链接。

如果你热衷于创建一个免费的个人作品集网站,请查看我的以下文章。这帮助许多人建立了他们的第一个组合网站,这非常简单,有模板可用,你不需要任何网站开发经验,你可以免费使用 GitHub 页面来托管你的网站。

如果你期待在 2021 年开始你的数据科学职业生涯,那么看看我的这个视频,

关于我

我是一名拥有超过 10 年经验的数据科学专业人员,并且已经撰写了 2 本数据科学方面的书籍。我写数据科学相关的内容是为了让它简单易懂。跟我上 **。**我也有一个 YouTube 频道,在那里我教授和谈论各种数据科学概念。如果有兴趣,可以订阅我下面的频道。

https://www.youtube.com/c/DataSciencewithSharan

从零开始学习 Python 的 5 个技巧

原文:https://towardsdatascience.com/5-tips-to-learn-python-from-zero-e4f6a9106558?source=collection_archive---------17-----------------------

学习过程中的实用技巧

如果您计划学习 Python,学习过程需要多长时间以及有多顺利将取决于许多因素,例如:

  • 你的背景:你以前是否接触过其他编程语言,特别是面向对象编程语言
  • **你的承诺:**每周你会付出多少努力
  • **你的方法:**你将如何学习🍁

最近在回想大约一年前刚开始认真学习 Python 的时候。在这篇文章中,我分享了我对第三个因素的五大建议🍁这来自我对那些即将踏上旅程的人的思考。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

照片由蒂莫西·戴克斯Unsplash 上拍摄

1.找一门优秀的课程和/或一本书来指导你🎒

当你完全是 Python 的初学者时,学习 Python 似乎是势不可挡的。甚至像安装 Python 和打开它这样的基本事情看起来也令人困惑。注册并完成一个结构良好的在线课程可以帮助你在短时间内理解基础知识。如果你喜欢这种格式,它也可以是一本写得很好的书。有时从多个来源学习可以互补,有助于巩固知识。如果你想要推荐,我在下面分享了我的推荐。标有星号(*)的资源更适合学习数据科学的 Python。

1.1.在线课程

当我第一次学习 Python 的时候,我在 Udemy 上完成了何塞·波尔蒂利亚的以下两门课程:

完成 Python 训练营从零到英雄的 Python
数据科学和机器学习的 Python 训练营 *

我发现这些课程结构良好,内容全面。我非常喜欢并强烈推荐它们。然而,这些课程不是免费的,但通常会有折扣,就像大多数 Udemy 课程一样。但是,你完全可以不花钱学习 Python。有很多免费的在线资源可以利用。这里有一个由 Udacity 提供的非常棒的免费课程:

python 编程简介

1.2.书

我是奥莱利的超级粉丝。这里有两本由杰克·范德普拉斯写的很棒的奥莱利的书(每本都有免费的电子版链接):

python 旋风之旅
Python 数据科学手册 *

如果你在谷歌上搜索“ O’Reilly Python books ”,你可以找到更广泛的书籍可供选择。

📍**推荐行动点:**从免费的 Udacity 课程开始。

2.制作你自己的小抄📜

据我观察,主动学习比被动学习学得更多。观看和阅读是被动学习,而记笔记、总结所学和练习是主动学习。所以看教程视频的时候,不要像看电影一样看!同样的,说到辅导书/博客,也不要像看科幻小说一样去读!一定要在学习的时候创建你自己的语法备忘单。这样会让你的练习时间更轻松。当我在做前面提到的 Udemy 课程时,我学到了很多有用的概念,我知道我不会记住所有的概念,尽管它们有时看起来很直观。所以在看完每个教程视频后,我会再次浏览材料,记下对我的备忘单来说重要和有用的关键示例代码片段。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我的一些手写小抄。每个主题都有自己独立的页面,所以以后可以更容易地通过主题找到语法。

当记下示例语法时,我实际上是手写的。😅这可能看起来不酷,但是手写我自己的小抄有以下好处:
🍀用笔和纸写下片段的行为让我注意到语法的小细节,并提高了回忆能力🍀随着我了解的越来越多,更容易在同一主题上添加更多注释
🍀更容易找到特定的语法,因为我会大致记得我写它们的地方

如果你不喜欢手写代码,你可以在你的电脑上创建一个数字备忘单。这样做的一个好处是,它使搜索更容易。上面提到的手写的好处在某种程度上也是真实的,尤其是如果你打字而不是复制粘贴的话。基本上,您希望示例代码易于参考,这样可以帮助您减少 Python 实践中的麻烦,提高工作效率。

最后,你也可以看看预先做好的小抄来获取灵感。这里有一些由 DatacampDataquest 提供的例子。

📍**推荐行动点:**当你在做推荐的 Udacity 课程时,一定要自己做小抄,以备后用。

3.不要复制粘贴代码,而是键入它们💪

虽然能够用 Python 编码并不等同于记住语法结构,但不用查找每个小细节就能编码基本的东西仍然非常有用。任何人都可以复制粘贴一个代码,但是你不认为如果你自己可以无缝地编写基本代码,你会感觉更胜任吗?

这是《我是如何遇见你的母亲》中一个有趣且有关联的场景。这是一个很好的提醒,告诉我们这些天来我们是如何变得越来越依赖自动更正和自动完成的。这篇文章有一个相关的要点。当您在实践所学内容时,最好是一个字符一个字符地键入代码,而不是复制粘贴或自动完成。我注意到,如果我输入一个特定的代码几次,很快我就开始记住它(💪肌肉记忆?).所以当我第一次开始学习 Python 时,我键入代码并最小化自动完成的使用(当我熟悉新的库时仍然如此)。这真的帮助我能够自己键入基本代码,而不需要谷歌或参考笔记。

一旦您完全熟悉了某个特定的代码,并且认为进一步键入没有什么好处,您当然可以使用自动补全工具和其他快捷方式来加快进度。

📍**推荐动作点:**练习 Python 时,键入代码和,尽量减少复制粘贴和自动补全。

4.从错误中学习👀

当你在练习 Python 的时候,你会得到很多错误。这是完全正常的。尽管如此,它仍然让人感到相当沮丧。如果你一直出错,你可能会感到气馁和绝望。学习如何调试(即查找和修复错误)是学习 Python 的一个关键部分。如果你坚持练习调试,这可以帮助你在将来更快地调试代码,并且明白应该避免什么样的错误。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

下次你出错时,戴上你的侦探帽!首先阅读错误消息,寻找可能导致错误的提示。如果错误消息看起来不具信息性,请在 Google 或任何搜索引擎中搜索该错误。很可能其他有同样错误的人已经寻求帮助并修复了它。

📍**建议行动点:**读取错误信息。如果错误消息中的提示不够充分,请搜索它。记住,当你识别和修正错误时,你会学到更多!

5.有目的地练习编码💦

为了让自己保持动力并更有效率,在练习 Python 时,总是要有小目标。这些小目标应该与你想学习 Python 的总体原因相一致。当你有时间的时候,花几分钟记下你想用 Python 做的事情的清单。如果这些项目太大,把它们分成小的任务。这些正是你最终希望能够在 Python 中完成的事情。您可以将此视为提高您所在领域的 Python 流畅性的路线图。这个路线图不是一个静态的文件,相反,它是你可以在学习过程中不断更新的东西。

每次你练习的时候,你从这个列表中选择一个任务。花在练习上的时间可能感觉更有成效,因为当你在练习中需要它们时,你可以利用它们。这也很令人兴奋,因为你会觉得“现在我可以用 Python 做这个了!”。每次练习时,你都应该以一种有组织的方式记录你的代码片段,这样更容易找到它们。随着时间的推移,您从实践中积累了大量有用的代码和模板。有时,您可能会在多个练习会话中处理一个任务,或者有时,您可能会在一个会话中处理多个任务,因为这取决于许多因素,如任务的性质、您的 Python 舒适度以及您投入的专注时间。

想象你周围有一个小泡泡。这个气泡代表您的 Python 舒适气泡。开始时很小。久而久之,你会随着练习慢慢扩大这个泡泡。

📍**推荐行动点:**为你的 Python 练习时间制定路线图。每次您练习路线图中的任务时,将最终代码记录在您的集合中,以便于下次访问。

额外提示。将您的 Python 实践游戏化🎮

这是为那些渴望额外挑战的人准备的。如果你能让你的 Python 练习时间变得更有趣,并对它着迷,你就更有可能继续并花时间在它上面。这里有一些在线平台,你可以用有趣的方式免费练习编码:

在这些平台中,你可以收集分数、升级并与他人竞争。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

📍**建议行动点:**探索这两个平台,并考虑在其中一个(或两个)平台上建立每日娱乐时间。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

大卫·克劳德Unsplash 上拍摄的照片

您想访问更多这样的内容吗?媒体会员可以无限制地访问媒体上的任何文章。如果你使用 我的推荐链接成为会员,你的一部分会费会直接去支持我。

每个人都有第一次。通过练习和努力,你将很快熟悉 Python 的编码!我希望你有一些可以在日常学习过程中开始实施的方法。感谢您阅读这篇文章。如果你感兴趣, 以下是我的一些其他帖子的链接:
◼️ 有用的 IPython 魔法命令
◼️python 虚拟数据科学环境简介
◼️git 数据科学简介
◼️ 用这些技巧整理你的 Jupyter 笔记本
◼️python 中的简单数据可视化,你会发现有用的
◼️ 6 个更漂亮和定制的简单技巧

再见🏃💨

检测和消除机器学习模型中偏差的 5 种工具

原文:https://towardsdatascience.com/5-tools-to-detect-and-eliminate-bias-in-your-machine-learning-models-fb6c7b28b4f1?source=collection_archive---------6-----------------------

公平和偏见

你不需要独自承担重担。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

NeONBRANDUnsplash 上的照片

如果你曾经开发或研究过任何类型的机器学习算法,那么你一定在某个时候需要检查你的模型是否有偏差,并确保这种偏差被消除。一个有偏见的系统会导致不准确的结果,这可能会危及你的整个项目。

机器学习算法已经在各个应用领域证明了它们的价值,从医疗应用到自动驾驶汽车和天气预测。虽然机器学习有很多优势,但如果你的机器学习模型包含任何类型的偏见,你就无法利用它的全部潜力。

不同的来源可能导致机器学习模型中的偏差。您使用的数据可能已经有偏差,或者您选择的样本并不能代表整个样本库,或者您的算法可能不适合您的特定问题。不管是什么原因,检测你的机器学习算法中的偏差都不是一件容易的事情。

</5-types-of-machine-learning-bias-every-data-science-should-know-efab28041d3f>

这就是为什么在过去几年中,检测机器学习模型中的偏差一直是许多研究人员关注的焦点。这项研究开发了一些工具,你可以用来检查你的机器学习模型是否有偏差。

本文将带您了解 5 种工具,它们可以帮助您在下一个机器学习模型中检测和减轻偏差。

№1:假设

为了检查你的机器学习模型是否有偏见,你需要问许多问题,并在你的数据中测试不同的场景。例如,如果一个数据点发生变化,或者可能使用不同的数据样本来训练或测试模型,您将需要测试模型性能是否会发生变化。这些变化如何影响您的模型的最终结果?

你可能经历过,或者想象过,回答这样的问题根本不是一件容易的事情。这可能非常耗费时间和资源,因为您需要编写和测试不同的代码场景来检测偏差。幸运的是,在 2018 年,谷歌推出了一款名为*What-If的工具,来帮助这项任务变得更加容易。*

What-If 是一个开源的交互工具,让每个人——甚至非程序员——都可以更容易地测试、探索和调试机器学习模型。假设分析为您提供了操作数据点、编辑数据点、生成图以及指定评估模型的标准的能力,所有这一切都使用一个清晰而简单的 GUI。

谷歌还提供了许多材料,你可以使用这些材料来了解如何避开假设,并有效地使用它。

**</6-ways-to-improve-your-ml-model-accuracy-ec5c9599c436>

№2: AI 公平 360

假设帮助你检测你的机器学习模型中偏见的存在,但它没有给你一个直接的方法来消除这种偏见。消除模型中的偏差就像检测偏差的存在一样具有挑战性。

IBM 提供了AI Fairness 360*,*一个开源的综合工具包,用于检测和消除机器学习模型中的偏差。AI Fairness 360 包括 70 多个公平指标,可以帮助您检测模型中的偏差,如曼哈顿和欧几里德。

该工具还包括超过 10 个算法,帮助您消除基础,如果你找到一个。这些偏见减轻算法包括优化预处理阶段,偏见消除器,以及定期和更多。此外,您可以使用这个工具来开发和构建您自己的度量和缓解算法。

IBM 还提供了大量的教程和材料,你可以用它们来学习如何使用 AI Fairness 360。最后,他们提出了一个针对偏差的评级系统,可用于验证任何机器学习应用结果。

</6-web-scraping-tools-that-make-collecting-data-a-breeze-457c44e4411d>

№3:众包

假设分析和人工智能公平 360 是通用工具,可用于检测和减轻任何机器学习模型中的偏差。但是,有时,您需要针对特定应用的工具。微软和马里兰大学的研究人员使用众包来精确检测自然语言处理应用程序中的偏见。

众包是一个用来描述让人们——群众——参与创新、解决问题或提高效率的实践的术语。使用众包可以用来研究问题的不同类别,以确定偏见的潜在原因。

使用众包来检测机器学习应用中的偏见是受隐式关联测试(IAT)的启发。公司和研究人员经常使用 IAT 来衡量和检测人类偏见。使用众包的主要目的是从任何机器学习应用的第一步(也是最重要的一步)中消除偏见,这一步是数据收集和清理,或者通常所说的数据预处理。

</10-nlp-terms-every-data-scientist-should-know-43d3291643c0>

№4:局部可解释的模型不可知解释(LIME)

机器学习应用在我们身边随处可见。这些应用程序给我们的预测是我们应该 100%相信的。有时这些应用非常关键,例如使用机器学习来诊断疾病,或者用于自动驾驶汽车。这些预测中的任何错误都可能导致致命的结果。

如果你的模型给出了错误的或有缺陷的结果,在你着手解决问题之前,你需要明白的一件重要的事情是为什么模型首先给出这些预测。理解模型的行为可以帮助您发现偏差并最终减轻它。

【本地可解释模型不可知解释(LIME) 是一个用于为不同机器学习模型的行为生成解释的工具。Lime 允许您操作模型的不同组件,以便您可以更好地理解它,并能够指出偏差的来源(如果存在的话)。

</6-data-science-certificates-to-level-up-your-career-275daed7e5df>

№5: FairML

这个列表中我们最后的工具箱是 FairML 。FairML 是一个 Python 开源工具箱,用于审计机器学习预测模型,以检测偏差。FairML 的构建和开发是为了回答一个问题,即特定的输入对模型的性能有多大影响。

使用不同的输入数据集轻松测试模型性能的能力可以帮助您检测模型中是否存在偏差。FairML 提供了一个端到端的工具,允许您通过量化特定输入的相对重要性来测试您的模型性能。

最后的想法

开发机器学习模型的每一步都会对项目的最终结果产生重大影响。这些步骤中的每一步对结果都有不同的影响,并且需要不同的时间和精力来完成。

最费时费力的步骤之一是检测和减少模型中的偏差。因为偏差可能来自不同的来源和原因,所以开发人员很难指出您的模型中是否存在偏差。

作为开发人员,我们喜欢创建工具,让我们的未来生活变得更加轻松。这就是为什么在过去的几年里,研究人员努力开发和构建可以帮助检测和减轻偏见的工具,以节省经常浪费在这方面的大量时间和精力。

时间就是金钱,如果有一种工具可以帮助你更快更有效地开发下一个项目,那么为什么不利用这一点,帮助自己建立更多的项目并获得更多的经验呢?

本文介绍了 5 种不同的工具和方法,您可以使用它们来加快在即将到来的项目中检测和减轻机器学习模型偏差的过程。因为众所周知,无偏的模型给出的结果是最准确的。**

高效维护机器学习项目的 5 个工具

原文:https://towardsdatascience.com/5-tools-to-maintain-your-machine-learning-projects-efficiently-1761df2d7023?source=collection_archive---------24-----------------------

调试、测试和版本控制您的项目。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

马文·迈耶在 Unsplash 上的照片

不管它的最终目标是什么,任何软件项目都必须经历从构思到部署的一些公共步骤。例如,数据科学项目通常是软件项目,因此它们需要经历相同的开发过程。这个开发过程包含构思和计划、设计解决方案、实现、测试软件、部署软件和维护软件等步骤。

尽管这些步骤可能会根据您正在构建的实际项目而有所不同,但在大多数时间里,您会以某种形式经历这些步骤。今天的文章旨在讨论数据科学项目的最后步骤,尤其是项目测试和维护。

测试和维护最具挑战性的项目类型之一是任何包含机器学习算法的项目。一般来说,测试和调试软件应用程序通常需要很长时间,通常比开发应用程序的时间还要长。

</9-comprehensive-cheat-sheets-for-data-science-46005d72b485>

机器学习应用程序通常很复杂,并且依赖于复杂的数学和统计学。这使得测试和调试这样的应用程序变得更加困难和耗时。幸运的是,现有的工具可以帮助我们在更短的时间内以最小的努力测试、调试和维护我们的机器学习项目。

本文将介绍五种工具,它们可以帮助您高效、轻松地测试、调试和维护您的项目。

№1:张量手表

让我们从一个简单易用的工具开始吧, TensorWatch 。TensorWarch 是微软研究院设计的可视化调试工具,用于帮助数据科学家调试机器学习、人工智能和深度学习应用程序。TensorWatch 可与 Jupyter 笔记本完美配合,实时显示您的模型训练和表现的不同分析。

虽然您可以在 TensorWatch 中使用预定义的可视化和分析,但该工具非常灵活且可扩展。您可以设计和实现自己的可视化、仪表板和测试。此外,您可以在训练过程中使用 TensorWatch 对您的模型执行查询。因此,如果你正在寻找一个简单、轻量级的工具来开始调试机器学习模型,TensorWatch 是一个很好的选择。

№2:深套件

列表中的下一个工具是我经常提到的工具,每当我谈到让任何数据科学家的生活变得更容易的工具时: Deepkit 。Deepkit 是一款开源开发工具,旨在调试和测试机器学习应用。Deepkit 是一个一体化的跨平台应用程序,个人、小团队或大公司都可以使用。

Deepkit 提供了许多选项,您可以使用它们来使训练、测试和调试您的机器学习和人工智能应用程序变得轻而易举。这些选项跟踪机器学习实验的每一步,从视觉和分析两方面进行模型调试,并提供计算管理,允许您监督模型的基础设施并有效地利用它。

</5-new-data-science-books-that-you-should-consider-reading-c90aec1d5b0d>

№3:数据版本控制(DVC)

这个工具是我最喜欢的数据科学工具之一。当我在学习软件开发时,其中一个方面是版本控制。Git 和版本控制不是最容易理解的概念,尤其是对于初学者。这就是为什么数据版本控制 (DVC)是跟踪您的版本控制的一个惊人的选择。

DVC 是一种工具,用于对机器学习模型、数据集和项目中的任何其他文件进行版本控制。DVC 可以帮助你追踪不同云存储中的所有文件,比如亚马逊或谷歌,甚至是离线光盘。DVC 将跟踪你的机器学习模型的演变,以确保可重复性,并允许你在不同的实验之间切换。它还提供对部署和持续集成的支持。

№4:流形

我们的下一个工具是优步开发并用于调试机器学习模型的开源工具;这个工具是多方面的。所以,当数据科学家测试他们的机器学习模型的性能时,他们经常使用对数损失、平均绝对误差和曲线下面积等指标。但是,在大多数情况下,当您的模型没有按照预期运行时,这些度量标准并没有给您必要的信息来理解。

Manifold 的开发是为了使在模型上迭代的过程更具信息性,Manifold 是机器学习的可视化模型诊断和调试工具。它允许您超越基本的性能指标,甚至提供为什么模型可能执行错误或意外的潜在原因。不仅如此,它还可以为您的特定数据集建议候选模型及其预期精度,并为每个给定模型提供理由。

</5-types-of-machine-learning-algorithms-you-need-to-know-5ac7fce8920d>

№5: TensorFlow 调试器

最后但并非最不重要的是怪物工具 TensorFlow 的调试器。TensorFlow 是 Google 在数据科学社区开发的最知名的 Python 机器学习库之一。即使你是这个领域的新手,你也可能听说过 TensorFlow。TensorFlow 包含许多工具和选项来开发强大的机器学习应用程序。

其中一个工具是 TensorFlow 调试器 (tfdbg)。调试是任何机器学习应用程序中必不可少的一步,但它通常是非常困难和耗时的一步。TensorFlow 调试器提供了在运行时检查应用程序中数据流的功能。此外,它为开发人员提供了一个观察图形的中间张量及其模拟步进的机会。

最后的想法

调试软件是任何软件生命周期中最乏味的步骤之一。当你处理包括机器学习在内的应用程序时,这一步变得更加复杂和耗时。这是因为机器学习应用程序通常依赖于高级数学和统计学来操作,更不用说用于训练模型的数据了。

这些事实使得调试机器学习应用程序更加麻烦。但是,幸运的是,我们可以使用不同的工具来帮助我们测试、调试和维护机器学习应用程序。

</6-best-python-ides-and-text-editors-for-data-science-applications-6986c4522e61> [## 数据科学应用的 6 个最佳 Python IDEs 和文本编辑器

towardsdatascience.com](/6-best-python-ides-and-text-editors-for-data-science-applications-6986c4522e61)

本文介绍了测试、调试、可视化分析和版本控制机器学习模型的工具。是的,在从事数据科学项目时,有许多工具可以使用,但一旦找到了您最喜欢的工具,您的工作流程将变得流畅而高效。

加快数据科学项目进度的 5 种工具

原文:https://towardsdatascience.com/5-tools-to-speed-up-your-data-science-project-progress-d321d6febd16?source=collection_archive---------17-----------------------

为你自己和你的团队节省一些宝贵的时间。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Unsplash 上由猎人哈利拍摄的照片

当你第一次进入数据科学领域时,你可能会独自一人。你需要自学编程、数学、统计学、可视化和数据可视化。在开始的时候,你要做的项目会很简单,很小。

你将收集数据,清理数据,分析数据,开发机器学习模型,训练模型,并衡量模型的性能;简而言之,从开始到结束,你将负责项目的所有方面。

但是,当你加入一家公司,成为团队的一员时,你很可能只负责项目开发的一个步骤。然后你需要学习如何建立在他人的工作之上,如何与他们交流,以及如何一起工作来建立一个成功的项目。

我们都知道,当我们被给予一个新项目时,寻找工具来使我们的生活变得容易可能不是首先想到的事情。毕竟,寻找数据科学工具就像一个永无止境的螺旋;一旦你进去了,可能需要几个小时——有时几天——才能出来!

所以,请允许我卸下你肩上的重担,给你五个工具,它们将帮助你提高工作效率,让你的项目进展得更快、更顺利、更愉快。

№1:阿帕奇卡夫卡

让我们用一个在社区中众所周知的工具开始这个列表, Apache Kafka 。Apache Kafka 是一个面向分布式团队的开源事件流。Apache Kafka 提供高性能数据管道、数据集成和流分析。该工具专为实时数据而设计和构建,允许数据科学家准确、快速地存储大量记录流。

使用 Apache Kafka,您和您的团队——以及公司——可以在一台或多台服务器上运行多个集群,并使用这些集群将传入的数据流式传输并分类到主题中,每个主题都有自己的时间戳。它还为您的团队需求提供了几个 API,包括消费者 API、流 API 和生产者 API。

№2:数据机器人

无论您是数据科学新手还是老手,这款工具都适合您。 DataRobot 是一个面向所有技能水平的数据科学家的机器学习平台。该平台允许您立即构建、训练和部署准确的模型。DataRobot 使用大型并行处理器,允许您使用来自 Python、R、Spark ML 和其他开源库的不同资源轻松开发模型。

DataRobot 提供了各种产品来改善您的生活,例如 DataRobot Cloud,它允许您构建最先进的预测模型并使用 AWS 扩展它们,以及 DataRobot Enterprise,它是为公司构建的平台,允许他们灵活部署他们的模型和强大、安全的按需客户平台。

</9-comprehensive-cheat-sheets-for-data-science-46005d72b485>

№3: Trifacta

我们名单上的下一个是 Trifacta ,它不仅仅是一个工具;相反,它是一组工具,在构建数据科学项目的同时,为公司和数据科学家节省了大量时间、金钱和资源。Trifacta 专注于数据项目的主要耗时步骤,即数据争论。它允许任何人更有效地处理数据。

Trifacta 提供了一个令人惊叹的数据牧马人工具,通过为您提供建议和转换来帮助您使用机器学习算法,从而高效、快速、准确地准备您的数据以进行可视化和准确的分析。Trifacta 之所以能够做到这一点,是因为它由一个专为数据争论而设计的高性能引擎驱动。Trifacta 还为数据科学家组织活动,例如即将于 4 月 7 日至 9 日举行的牧马人峰会

№4:阿帕奇火花

Apache Spark 是一个强大的大规模真实数据分析和处理引擎。Apache Spark 为不同的编程语言提供了各种高级 API,包括 Python、R 和 Java。它还提供了对高级数据分析工具的支持,例如用于 SQL 的 Spark SQL ,用于开发和部署机器学习模型的 Spark MLlib ,用于图形可视化和处理的 GraphX ,以及用于流处理的结构化流

使用 Apache Spark,您可以访问不同的数据管理源,如 Cassandra 和 S3。最后,Apache Spark 还提供了 80 多个操作符,允许您构建各种并行应用程序。

</6-nlp-techniques-every-data-scientist-should-know-7cdea012e5c3>

№5:层叠

今天列表中的最后一项也是最重要的一项是级联。 Cascading 是数据科学家在 Apache Hadoop 上构建和开发大数据应用的平台。级联不仅用于开发大型复杂问题的解决方案;您还可以用它来解决简单的问题,因为它利用了系统集成框架、数据处理和调度引擎的力量。

在 Apache Spark 上开发的应用程序可以在 MapReduce、Apache Flink 和 Apache Tea 上运行和扩展。它还为 Hadoop 分布式团队提供了巨大的支持。

最后的想法

在团队中工作并不总是容易的;你必须知道如何相互合作和协调;如果你的团队分布在世界各地,这将变得更具挑战性,这甚至在 COVID 之前就存在了。当团队分散在世界各地,具有不同的时区和母语时,任何有助于将术语结合在一起、加速工作并使其更有效的工具总是受欢迎的。

</6-machine-learning-certificates-to-pursue-in-2021-2070e024ae9d>

我从未见过数据科学家或 IT 领域的任何人会说,“不,我不需要任何工具来加速和简化我的工作。”我们都很感激一点点帮助,一种帮助我们加快所需任务、重复性任务的工具,它让我们把大部分时间和能力花在需要创造力和智力的任务上。

在本文中,我推荐了 5 个工具,它们对从事数据科学项目的团队有很大的帮助。这些工具将帮助您进行数据清理、数据分析,甚至构建、训练和测试机器学习模型。

每个数据科学家都应该知道的 5 种机器学习偏差

原文:https://towardsdatascience.com/5-types-of-machine-learning-bias-every-data-science-should-know-efab28041d3f?source=collection_archive---------16-----------------------

要修正你的偏见,你需要知道它为什么会发生。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

艾萨克·史密斯在 Unsplash 上拍摄的照片

机器学习偏差是一个术语,用于描述由于在机器学习过程的一个步骤中做出的一些不准确的假设,算法产生的结果不正确。

要开发任何机器学习流程,数据科学家都需要经历一系列步骤,从收集数据、清理数据、训练算法,到部署数据。这个过程容易出错;如果其中一个发生在任何一个步骤中,它会在整个过程中减轻,导致其影响在最终结果中放大。

数据科学的所有子领域,无论是机器学习、自然语言处理还是任何其他子领域,都依赖于数据。它们都依赖于用于构建、训练和开发其核心算法的数据集的质量和数量。因此,质量差的数据或有缺陷的数据会导致不准确的预测和总体糟糕的结果。

</5-types-of-machine-learning-algorithms-you-need-to-know-5ac7fce8920d>

机器学习应用中的偏差有多种原因。作为数据科学家,尽最大努力减少和防止他们的模型中出现偏差的原因是我们工作的一部分。防止偏见的最好方法是充分了解其原因。一旦确定了原因,就可以采取一些措施来消除它并完全消除它的影响。

本文将介绍机器学习偏差的 5 种主要类型,它们为什么会出现,以及如何减少它们的影响。

№1:算法偏差

算法偏差是当机器学习过程的核心算法有故障或不适合当前应用时发生的错误。当应用程序开始为特定人群(输入案例)给出错误结果时,可以发现算法偏差。

如果你的算法在几乎相同的情况下给出不同的结果,那么也许你需要回去重新检查你的算法,看看它是否适合手头的问题。算法偏差可能是有意的,也可能是无意的。这可能是算法核心技术问题的结果,也可能是错误选择算法的结果。

№2:样本偏差

机器学习应用中偏差的另一个原因是样本偏差。这种类型的偏差源于应用程序开发早期阶段的错误,即数据的收集和清理。数据是任何机器学习应用的核心;毕竟算法是学不会它没看到的东西的。

如果开发人员选择了错误的样本来训练他们的模型,该样本很小,或者包含许多错误的数据点,或者不代表整个数据池,那么对于与该样本不同的数据点,结果将是不准确的。

幸运的是,样本偏差并不复杂;您可以尝试使用更大、更多样化的数据集来训练您的模型。您可以多次训练它,观察它的行为,并微调参数以获得最佳答案。

</6-ways-to-improve-your-ml-model-accuracy-ec5c9599c436>

№3:偏见偏见

对于你的问题,你可能有正确的算法,并且你尽了最大努力选择你能得到的最好的数据样本,但是你的结果仍然是有偏差的。可能发生的一个原因是偏见。

偏见往往是数据一开始就有偏差的结果。您提取并用于训练模型的数据可能具有预先存在的基础,如刻板印象和错误的案例假设。所以,无论你尝试使用什么算法,使用这些数据总是会导致有偏差的结果。

偏见偏见相当难解决;你可以尝试使用全新的数据集,尝试修改数据以消除任何现有的偏见。

№4:测量偏差

测量偏差可能是在开发过程的早期,即过程的数据收集阶段出现的偏差类型。如果这个模型的性能和准确性完全依赖的数据是不准确的,那么在流程的剩余步骤中就没有什么是不准确的。

这些数据通常是由人或计算机完成的一些计算和测量的结果,然后存储在数据库中。如果这些计算测量是错误的,它们将导致错误的数据点,这些数据点将被输入到模型中以训练和发展它。

</6-web-scraping-tools-that-make-collecting-data-a-breeze-457c44e4411d>

№5:排除偏差

选择正确的数据集来训练和构建模型并非易事。在这样做的时候,你可能面临的一个挑战是试图避免排斥偏见。当重要的数据点从训练数据集中排除时,会出现排除偏差,因此得到的模型不会考虑它们。

外卖食品

人和算法都容易出错,都有偏差。然而,这并不意味着我们的模型也需要有偏差。我们周围的技术正在为我们做大多数决定,决定下一步买什么,什么学校对我们的孩子更好,什么城市更安全,我们的下一次贷款请求是否被批准,等等。

然而,这些系统可能会有偏差,这取决于用来构建它们的数据以及构建它们的人。这就是为什么尽可能地减少和消除偏见是任何机器学习应用程序开发的重要步骤。为了成功地做到这一点,我们首先需要了解为什么会出现偏差,偏差的类型,以及每种类型在开发过程中的位置。

</6-data-science-certificates-to-level-up-your-career-275daed7e5df>

在任何机器学习应用中寻找和解决偏差的原因都不是一门精确的科学;我更愿意将它视为一种艺术形式,一种只有在你建立更多项目、与更多数据互动并解决不同类型偏见的情况下才会变得更好的技能。

考虑到我们对数据的依赖与日俱增,了解技术系统中偏差的原因以及如何消除偏差的技能将继续是每个数据科学家都应该努力、发展和磨练的关键技能,以便在未来的职业生涯中脱颖而出。

用于图像处理的 5 个终极 Python 库

原文:https://towardsdatascience.com/5-ultimate-python-libraries-for-image-processing-13f89d32769e?source=collection_archive---------13-----------------------

OpenCV 不是唯一的一个

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

照片由 麦克 发自 像素

图像处理是操纵图像以从中提取特征的现象。

在当今的计算机视觉和深度学习领域,大量使用不同的图像处理算法来从图像数据集进行边缘检测、识别和分类。

有时,这些算法还会逐帧应用于视频,以从中提取特征。

在今天的文章中,我们将看看 5 个最好的 Python 库,它们可能会帮助你对图像进行操作,如裁剪、灰度化等。

1。 OpenCV

OpenCV 是用于图像处理和计算机视觉的最流行和最广泛使用的库之一。这个口头库可以用于许多编程语言,如 C、C++、Python、Java,但 Python 绑定库是最流行的一个。

使用该库不仅可以实现图像操作,还可以轻松实现与计算机视觉相关的复杂深度学习算法。open CV 最大的优点是它是跨平台的,并且可以在移动设备上运行。

安装

pip install opencv-python

对图像进行高斯模糊处理。我们将使用 Colab,因为在那里我们不需要设置环境——这里一切都是预先设置好的。

首先,让我们导入必要的包。Colab 不支持 cv2 . im show()——但是,我们有一个替代方案。

import cv2import numpy as npimport urllibimport urllib.request as urfrom google.colab.patches import cv2_imshow

现在,让我们从互联网上加载一个图像,并应用一些过滤器。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

应用滤镜后的模糊图像—作者截图

2。 简单 CV

SimpleCV 是一个 python 框架,使用了 OpenCV 这样的计算机视觉库。这个库非常简单易用,对快速原型制作非常有帮助。

这个库对那些不了解不同图像处理概念的人特别有用,比如特征值、色彩空间和位深度。

安装

pip install SimpleCV

这个库可能是执行对象检测任务的更好选择。你可以找到一些令人惊奇的任务,比如使用这个库来检测一辆车是否停着。

你可以在这里了解更多关于这个库的信息。

3。 枕头

Pillow 是 Python 的一个图像处理库,派生自 PIL 或 Python 图像库。虽然它不如 openCV 强大和快速,但它可以用于简单的图像处理工作,如裁剪、调整大小、旋转和灰度图像。另一个好处是可以不用 NumPy 和 Matplotlib。

安装

pip install pillow

要阅读 PIL 的图像,我们可以使用:

**from** PIL **import** Imageim **=** Image.open(r"C:\Users\System-Pc\Desktop\image1.jpg")im.show()

你可以在这里了解更多关于这个图书馆的信息。

4。 Mahotas

Mahotas 是一个用于图像处理和计算机视觉的 Python 库,最初是为生物图像信息学设计的。但是也可以使用它来执行其他计算机视觉任务。它最初是用 C++编写的,这使得它非常快,并且除了 NumPy 之外,它没有其他依赖项。

安装

pip install mahotas

使用 mahotas 对图像进行灰度缩放:

最后,在运行代码之后,我们可以得到下面的结果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

作者添加的截图

5。 pgmagick

Pgmagick 是 GraphicsMagick 的 Python 包装器,它是用于图像操作的工具和库的集合。它支持超过 88 种格式的图像。除了图像处理工作,它还可以在 web 应用程序中用于创建新图像。

安装

pip install pgmagick

要从图片中提取边缘:

from pgmagick.api import Imageimg = Image(‘lena.jpg’) #Your image path will come hereimg.edge(2)img.write(‘lena_edge.jpg’)

结论

虽然 OpenCV 是我们将来要使用的主要图像处理库,但了解一点其他图像处理库的知识肯定是个好主意。

所有这些库都可以使您的工作流程变得更加简单,因为它们为特定的功能提供了更简单的实现。

要了解关于这些库的更多信息,您可以随时关注官方文档,也可以咨询这些库的开源社区。

在你走之前……

如果你喜欢这篇文章,并且想要继续关注关于 Python &数据科学的更多精彩文章——请点击这里https://pranjalai.medium.com/membership考虑成为一名中级会员。

请考虑使用我的推荐链接注册。通过这种方式,会员费的一部分归我,这激励我写更多关于 Python 和数据科学的令人兴奋的东西。

还有,可以随时订阅我的免费简讯: Pranjal 的简讯

Python 中 5 个未知的有趣事实

原文:https://towardsdatascience.com/5-uncharted-interesting-facts-in-python-2f6c73d70e0?source=collection_archive---------18-----------------------

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图片来自 Pixabay

需要注意 Python 的这些神秘行为

每种编程语言都会有一些奇怪的行为。这些通常不是因为 bug 或错误,而更有可能是关于一些困境的决定。就像当我们面对一些选项时,选择一个项目通常意味着放弃其他项目提供的可能性。当然,这也发生在 Python 上。

在本文中,我挑选了 Python 中几个“奇怪”的行为。我相信不是每个人都知道。希望你能喜欢阅读这些关于 Python 的有趣事实。

1.发电机相当懒惰

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图片由photos 为您提供来自 Pixabay

生成器是 Python 中最流行的语法糖之一。它允许我们定义一个对象,该对象将基于预定义的规则按需迭代和生成项目。

等等,我说的是“点播”。是的,这就是 Python 生成器相当懒的原因。先说个例子。

my_list = [1, 1, 2]
my_gen = (num for num in my_list if my_list.count(num) > 1)list(my_gen)

在上面的代码中,我们定义了一个列表,并使用这个列表来定义一个生成器。生成器将返回列表中出现不止一次的项目。为了让生成器一次性输出所有内容,我在最后将其转换为一个列表。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

my_list中,只有数字1重复了不止一次。因此,返回了两个1而不是数字2

然而,如果我们在定义了生成器之后改变了my_list会怎么样呢?

my_list = [1, 1, 2]
my_gen = (num for num in my_list if my_list.count(num) > 1)
my_list = [1, 2, 2]list(my_gen)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这一次,数字2被返回,因为在新列表中它被重复了两次。但是,如果生成器使用新的列表,为什么它没有返回两个2?也许下面的例子更清楚。

my_list = [1, 1, 2]
my_gen = (num for num in my_list if my_list.count(num) > 1)
my_list = [3, 3, 3]list(my_gen)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们应该让数字3重复三次,为什么生成器什么也不返回?

有趣的事实是,生成器将根据其定义执行“in”子句。然而,“if”子句是懒惰的,只在迭代时执行。换句话说,它试图找出12是否重复了不止一次,但是列表中只有数字3。所以,什么都没回。

到这里,你可能已经在其他教程中看到了,但我们可以再深入一步。你认为“in”条款发生了什么事?事实上,生成器保留了对列表对象的引用。因此,当我们给my_list分配一个新的列表,比如[3, 3, 3]时,引用的列表仍然存在,但是变量my_list已经改为指向新的列表。

这意味着我们可以通过修改列表对象本身来调整这个例子。那么,结果就“不诡异”了。

my_list = [1, 1, 2]
my_gen = (num for num in my_list if my_list.count(num) > 1)
my_list[0] = 3
my_list[1] = 3
my_list[2] = 3print('my_list ->', my_list)
print('generator ->', list(my_gen))

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.“是”不一致

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图片来自 PixabayRyan McGuire

这是 Python 中一个著名的怪异例子。如果你以前从未见过,你会喜欢这个的。

a, b = 256, 256
a is b

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们让ab都等于数字 256。然后,我们使用is来检查它们是否引用同一个对象。答案是真的。

但是,如果我们将数字改为 257,答案将是假的。

a, b = 257, 257
a is b

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

你大概知道关键词is==不一样。前者检查两个变量是否在内存级别引用同一个对象,而后者检查实际的文字值。

因此,我们可以使用id()函数来验证这一点。

a, b = 256, 256
print(id(256))
print(id(a))
print(id(b))

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

对于数字 256,它们都指向同一个对象。

a, b = 257, 257
print(id(257))
print(id(a))
print(id(b))

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

但是,如果是 257,他们就不一样了。这意味着它们是位于不同内存地址的不同对象,即使它们的算术值是相同的。

怎么会这样我们可以从官方文档中找到答案:https://docs.python.org/3/c-api/long.html#c.PyLong_FromLong

当前的实现为-5256之间的所有整数保留了一个 integer 对象数组,当你在这个范围内创建一个 int 时,你实际上只是得到了一个对现有对象的引用。

嗯,这意味着当我们启动 Python 会话时,-5256之间的所有数字都被加载。这是为了加速执行,因为这些整数可能比其他整数使用得更频繁。

所以不管我们定义了多少个整数变量,只要在范围内,Python 都会把现有整数对象的内存地址给那个变量。然而,当我们定义一个超出这个范围的变量时,Python 必须创建一个全新的对象。这就是为什么它们会有不同的内存地址。

3.超越两个灵魂

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图片来自 Pixabaysuju-foto

当我第一次意识到这个 Python 技巧时,我就想到了这个名字。这是一个电子游戏的名字。不用担心,这个我就不展开了,因为不在主题之内。

让我们定义一个表示向量的列表。当我们定义一个列表时,我们可以使用星号来重复相同的对象一定的次数。

vector = [1] * 2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在,我们有了一个矢量。让我们重复这个向量两次,得到一个矩阵。

matrix = [vector] * 2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在,假设我们想要更改第 1 行第 1 列的元素值。

matrix[0][0] = 2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

什么?为什么第二行的第一个数字被相应地更新了?如果我们想改变两行中的任何一行,另一行也会跟着改变。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

问题就出在这一行代码matrix = [vector] * 2。当我们使用星号来复制任何对象时,它实际上并没有创建一个新的对象。换句话说,这两行引用同一个向量。

所以,我们改变其中一个,另一个也会改变。

定义这种矩阵的更安全的方法是使用常规的 for 循环。

matrix = [[1]*2 for _ in range(2)]
matrix[0][0] = 2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.扩展运算符优先级教程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图片来自 PixabayDaKub

在这个例子中,我们可能永远没有机会像这样编写代码,但知道这一点真的很有趣。我们都知道not True就是False的意思。因此,not True == False

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那一定是暗示True == not False吧?让我们看看。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

为什么?因为==符号测试的优先级高于not。我不认为我们需要了解+, -, *, /操作符的优先级,因为这是非常必要的。然而,这一点是很容易被忽视的。

因此,这将是正确的。

True == (not False)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.秘密串连接方法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

不幸的是,此时此地,我在 Pixabay 上的旅程结束了

这次,我们先来看例子。

print("Chris""")
print('Chris''')

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这些是如何工作的?

我们都知道在 Python 中可以使用加号+轻松连接两个字符串。当我们有一个字符串列表时,使用join()方法也很流行。

然而,很少有人知道,我们甚至可以在 Python 中不使用任何运算符或函数来连接字符串,只需将它们放在一起。我们可以在中间放一个空格,甚至什么都不放。

print("Chris" "Tao")
print("Chris""Tao")

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然而,如果我们不放任何东西,而是把一个空字符串和另一个连接起来,这个错误就会发生。

print("""Chris")

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这很容易理解,Python 对多行文字使用三重引号。当它找到三重引号时,它会尝试找到另一对。如果没有其他对,它将抛出错误。

当然,我们可以在中间加一个空格,这样就可以消除误差。

print("" "Chris")

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

嗯,可能不是很有用,但是了解:D 真的很有趣

摘要

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图片来自 PixabayPietro carbucicichio

在这篇文章中,我收集了 Python 中 5 个有趣的、不为人知的“怪异”事实。希望你喜欢这本书,并发现它们…有用…好吧,可能不是很有用,但至少有趣。

https://medium.com/@qiuyujx/membership

如果你觉得我的文章有帮助,请考虑加入 Medium 会员来支持我和成千上万的其他作者!(点击上面的链接)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值