跟着我们一起学 Python 30天课程-第27天-ML和数据科学I

作者 : IT 大叔 本文共8834个字,预计阅读时间需要23分钟 发布时间: 2020-08-24

现在是时候深入研究一些真正的机器学习和数据科学编码材料了。今天,我主要关注Jupyter Notebook工作流程的入门以及创建一个基本项目以了解其工作原理。最后搜索一些数据集,然后在其上遵循机器学习的基本原理以从中生成有用的信息。我还将分享我创建的笔记本。Jupyter Notebooks的伟大之处在于它可以像博客文章或文章以及交互式代码,数据和其他信息一样组织。

Working with Jupyter Notebooks

我想提供一些不错的参考资料,以了解Jupyter Notebook界面,安装指南及其工作流程概述。

由于我是Windows用户,因此我想提供一个快速提示:

在Windows中,从开始菜单中打开Anaconda Prompt,导航到要创建jupyter项目的目录,然后运行命令jupyter notebook。它将在浏览器中打开笔记本。

按照机器学习和数据科学的基本步骤,我们将创建项目并创建一个可读的笔记本,记录整个过程,然后可以与任何人共享。

使用Netflix Shows项目的数据科学和ML基础

机器学习和数据科学的基本步骤是:

  • 从某些来源导入数据
  • 如果需要,清理数据以除去所有不相关的数据
  • 将数据分为训练集和测试集。
  • 创建模型或算法或函数
  • 检查输出
  • 改进并重复上述步骤

我们将探索这个基础项目中的前两个步骤

1.导入数据和操作

机器学习和数据科学的首要也是最重要的事情是数据本身。为了获得良好的有意义的结论,我们必须具有良好的数据集。可以通过多种方式收集此输入数据-从数据库,抓取网站,公共API或公共共享数据集。

Kaggle是机器学习和数据科学爱好者中的热门网站,可以找到大量公开共享的数据集。

我决定搜索Netflix Shows数据集,并从Kaggle- https: //www.kaggle.com/shivamb/netflix-shows找到了这个数据集。它包含将用于该项目的CSV格式的数据。下载文件后,可以将其放置在项目的根目录中。我已命名netflix_titles.csv

由于此数据采用表格格式,即按行和列排列,因此pandas是一个出色的开源库,可以处理此类数据并进行分析。它与Anaconda工具包一起提供,因此可以直接在笔记本中使用。

import pandas as pd
data_frame = pd.read_csv('netflix_titles.csv')
data_frame.head(10) # show first 10 results
# prints the data frame in as a table

show_id type title director cast country date_added release_year rating duration listed_in description
0 81145628 Movie Norm of the North: King Sized Adventure Richard Finn, Tim Maltby Alan Marriott, Andrew Toth, Brian Dobson, Cole... United States, India, South Korea, China September 9, 2019 2019 TV-PG 90 min Children & Family Movies, Comedies Before planning an awesome wedding for his gra...
1 80117401 Movie Jandino: Whatever it Takes NaN Jandino Asporaat United Kingdom September 9, 2016 2016 TV-MA 94 min Stand-Up Comedy Jandino Asporaat riffs on the challenges of ra...
2 70234439 TV Show Transformers Prime NaN Peter Cullen, Sumalee Montano, Frank Welker, J... United States September 8, 2018 2013 TV-Y7-FV 1 Season Kids' TV With the help of three human allies, the Autob...
3 80058654 TV Show Transformers: Robots in Disguise NaN Will Friedle, Darren Criss, Constance Zimmer, ... United States September 8, 2018 2016 TV-Y7 1 Season Kids' TV When a prison ship crash unleashes hundreds of...
4 80125979 Movie #realityhigh Fernando Lebrija Nesta Cooper, Kate Walsh, John Michael Higgins... United States September 8, 2017 2017 TV-14 99 min Comedies When nerdy high schooler Dani finally attracts...
5 80163890 TV Show Apaches NaN Alberto Ammann, Eloy Azorín, Verónica Echegui,... Spain September 8, 2017 2016 TV-MA 1 Season Crime TV Shows, International TV Shows, Spanis... A young journalist is forced into a life of cr...
6 70304989 Movie Automata Gabe Ibáñez Antonio Banderas, Dylan McDermott, Melanie Gri... Bulgaria, United States, Spain, Canada September 8, 2017 2014 R 110 min International Movies, Sci-Fi & Fantasy, Thrillers In a dystopian future, an insurance adjuster f...
7 80164077 Movie Fabrizio Copano: Solo pienso en mi Rodrigo Toro, Francisco Schultz Fabrizio Copano Chile September 8, 2017 2017 TV-MA 60 min Stand-Up Comedy Fabrizio Copano takes audience participation t...
8 80117902 TV Show Fire Chasers NaN NaN United States September 8, 2017 2017 TV-MA 1 Season Docuseries, Science & Nature TV As California's 2016 fire season rages, brave ...
9 70304990 Movie Good People Henrik Ruben Genz James Franco, Kate Hudson, Tom Wilkinson, Omar... United States, United Kingdom, Denmark, Sweden September 8, 2017 2014 R 90 min Action & Adventure, Thrillers A struggling couple can't believe their luck w...
data_frame.info()
# shows information about column data types
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 6234 entries, 0 to 6233
Data columns (total 12 columns):
 #   Column        Non-Null Count  Dtype 
---  ------        --------------  ----- 
 0   show_id       6234 non-null   int64 
 1   type          6234 non-null   object
 2   title         6234 non-null   object
 3   director      4265 non-null   object
 4   cast          5664 non-null   object
 5   country       5758 non-null   object
 6   date_added    6223 non-null   object
 7   release_year  6234 non-null   int64 
 8   rating        6224 non-null   object
 9   duration      6234 non-null   object
 10  listed_in     6234 non-null   object
 11  description   6234 non-null   object
dtypes: int64(2), object(10)
memory usage: 584.6+ KB
data_frame.shape
# provides information of rows and columns as a tuple
(6234, 12)
data_frame.describe()
# shows some basic description
show_id release_year
count 6.234000e+03 6234.00000
mean 7.670368e+07 2013.35932
std 1.094296e+07 8.81162
min 2.477470e+05 1925.00000
25% 8.003580e+07 2013.00000
50% 8.016337e+07 2016.00000
75% 8.024489e+07 2018.00000
max 8.123573e+07 2020.00000
data_frame['title'].head() # lists a specific column data with first 5 entries (head)
0    Norm of the North: King Sized Adventure
1                 Jandino: Whatever it Takes
2                         Transformers Prime
3           Transformers: Robots in Disguise
4                               #realityhigh
Name: title, dtype: object
# Filtering Data
data_frame[data_frame['country'] == 'India'].head()
show_id type title director cast country date_added release_year rating duration listed_in description
35 81154455 Movie Article 15 Anubhav Sinha Ayushmann Khurrana, Nassar, Manoj Pahwa, Kumud... India September 6, 2019 2019 TV-MA 125 min Dramas, International Movies, Thrillers The grim realities of caste discrimination com...
37 81052275 Movie Ee Nagaraniki Emaindi Tharun Bhascker Vishwaksen Naidu, Sushanth Reddy, Abhinav Goma... India September 6, 2019 2018 TV-14 133 min Comedies, International Movies In Goa and in desperate need of cash, four chi...
41 70303496 Movie PK Rajkumar Hirani Aamir Khan, Anuskha Sharma, Sanjay Dutt, Saura... India September 6, 2018 2014 TV-14 146 min Comedies, Dramas, International Movies Aamir Khan teams with director Rajkumar Hirani...
58 81155784 Movie Watchman A. L. Vijay G.V. Prakash Kumar, Samyuktha Hegde, Suman, Ra... India September 4, 2019 2019 TV-14 93 min Comedies, Dramas, International Movies Rushing to pay off a loan shark, a young man b...
99 80225885 TV Show Bard of Blood NaN Emraan Hashmi, Viineet Kumar, Sobhita Dhulipal... India September 27, 2019 2019 TV-MA 1 Season International TV Shows, TV Action & Adventure,... Years after a disastrous job in Balochistan, a...
# Sorting Data
data_frame.sort_values('release_year', ascending=False).head()
show_id type title director cast country date_added release_year rating duration listed_in description
3467 81011449 TV Show Medical Police NaN Erinn Hayes, Rob Huebel, Malin Akerman, Rob Co... United States January 10, 2020 2020 TV-MA 1 Season Crime TV Shows, TV Action & Adventure, TV Come... Doctors Owen Maestro and Lola Spratt leave Chi...
3249 81006825 Movie All the Freckles in the World Yibrán Asuad Hánssel Casillas, Loreto Peralta, Andrea Sutto... Mexico January 3, 2020 2020 TV-14 90 min Comedies, International Movies, Romantic Movies Thirteen-year-old José Miguel is immune to 199...
3220 80997687 TV Show Dracula NaN Claes Bang, Dolly Wells, John Heffernan United Kingdom January 4, 2020 2020 TV-14 1 Season British TV Shows, International TV Shows, TV D... The Count Dracula legend transforms with new t...
3427 81060049 Movie Leslie Jones: Time Machine David Benioff, D.B. Weiss Leslie Jones United States January 14, 2020 2020 TV-MA 66 min Stand-Up Comedy From trying to seduce Prince to battling sleep...
3436 80239306 TV Show The Healing Powers of Dude NaN Jace Chapman, Larisa Oleynik, Tom Everett Scot... NaN January 13, 2020 2020 TV-G 1 Season Kids' TV, TV Comedies, TV Dramas When an 11-year-old boy with social anxiety di...

这是使用Python进行数据科学的一个很好的速查表,其中列出了所有常用的Pandas方法和属性以及其他用于数据科学的库。

2.清洁数据

下一步是清理数据并删除分析不需要的任何种类的信息。
让我们考虑一个示例用例,我们要查找适合所有年龄段的Netflix喜剧电影和节目(TV-G分级)

# Let's select the relevant columns for analysis
df_shows = pd.DataFrame(data_frame, columns=['title','rating', 'listed_in'])
# filter comedy shows
df_comedy_shows = df_shows[df_shows['listed_in'].str.contains('Comed')]
df_comedy_shows.head()
title rating listed_in
0 Norm of the North: King Sized Adventure TV-PG Children & Family Movies, Comedies
1 Jandino: Whatever it Takes TV-MA Stand-Up Comedy
4 #realityhigh TV-14 Comedies
7 Fabrizio Copano: Solo pienso en mi TV-MA Stand-Up Comedy
10 Joaquín Reyes: Una y no más TV-MA Stand-Up Comedy
# filter shows for all ages
df_all_ages = df_comedy_shows[df_comedy_shows['rating']=='TV-G']
df_all_ages.head()
title rating listed_in
1034 Luccas Neto in: Summer Camp TV-G Children & Family Movies, Comedies
1043 A Holiday Engagement TV-G Children & Family Movies, Comedies, Romantic M...
1205 A Fairly Odd Summer TV-G Children & Family Movies, Comedies
1206 Bella and the Bulldogs TV-G Kids' TV, TV Comedies
1211 Jinxed TV-G Children & Family Movies, Comedies

可以在这里找到该笔记本的Github存储库

资源:

这就是今天的帖子。明天,我们将继续在机器学习和数据科学的其他步骤上进行更多探索,并通过构建图表和图表以及创建机器学习模型来对数据进行可视化分析。

跟着我们一起学 Python 30天课程目录:

  1.  跟着我们一起学 Python 30天课程-第30天-免费Python资源 
  2.  跟着我们一起学 Python 30天课程-第29天-自动化测试 
  3.  跟着我们一起学 Python 30天课程-第28天-ML和数据科学II 
  4.  跟着我们一起学 Python 30天课程-第27天-ML和数据科学I 
  5.  跟着我们一起学 Python 30天课程-第26天-机器学习基础 
  6.  跟着我们一起学 Python 30天课程-第25天-Web 开发进阶
  7.  跟着我们一起学 Python 30天课程-第24天-Web开发基础 
  8.  跟着我们一起学 Python 30天课程-第23天-网页爬虫 
  9.  跟着我们一起学 Python 30天课程-第22天-脚本额外功能Scripting Extras 
  10.  跟着我们一起学 Python 30天课程-第21天-脚本编写基础 
  11.  跟着我们一起学 Python 30天课程-第20天-调试和测试 
  12.  跟着我们一起学 Python 30天课程-第19天-正则表达式 
  13.  跟着我们一起学 Python 30天课程-第18天-文件I / O 
  14.  跟着我们一起学 Python 30天课程-第17天-外部模块External Modules 
  15.  跟着我们一起学 Python 30天课程-第16天-模块基础Module Basics 
  16.  跟着我们一起学 Python 30天课程-第15天-生成器Generators 
  17.  跟着我们一起学 Python 30天课程-第14天-错误处理Error Handling 
  18.  跟着我们一起学 Python 30天课程-第13天-Decorators 
  19.  跟着我们一起学 Python 30天课程-第12天-Lambda Expressions & Comprehensions 
  20.  跟着我们一起学 Python 30天课程-第11天-函数编程Functional Programming基础 
  21.  跟着我们一起学 Python 30天课程-第10天-OOP Missing Pieces 
  22.  跟着我们一起学 Python 30天课程-第9天-OOP Pillars 
  23.  跟着我们一起学 Python 30天课程-第8天-OOP基础知识 
  24.  跟着我们一起学 Python 30天课程-第7天-开发环境搭建(Developer Environment) 
  25.  跟着我们一起学 Python 30天课程-第6天-循环II和函数(Loops II & Functions) 
  26.  跟着我们一起学 Python 30天课程-第5天-条件和循环I(Conditions & Loops I) 
  27.  跟着我们一起学 Python 30天课程-第4天-数据类型III(Data Types III) 
  28.  跟着我们一起学 Python 30天课程-第3天-数据类型II(Data Types II) 
  29.  跟着我们一起学 Python 30天课程-第2天-数据类型I(Data Types I) 
  30.  跟着我们一起学 Python 30天课程-第1天-简介 
免责声明:
1. 本站资源转自互联网,源码资源分享仅供交流学习,下载后切勿用于商业用途,否则开发者追究责任与本站无关!
2. 本站使用「署名 4.0 国际」创作协议,可自由转载、引用,但需署名原版权作者且注明文章出处
3. 未登录无法下载,登录使用金币下载所有资源。
IT小站 » 跟着我们一起学 Python 30天课程-第27天-ML和数据科学I

常见问题FAQ

没有金币/金币不足 怎么办?
本站已开通每日签到送金币,每日签到赠送五枚金币,金币可累积。
所有资源普通会员都能下载吗?
本站所有资源普通会员都可以下载,需要消耗金币下载的白金会员资源,通过每日签到,即可获取免费金币,金币可累积使用。

发表评论