1. 程式人生 > >Python與人工智慧的關係原來是這樣的...

Python與人工智慧的關係原來是這樣的...

人工智慧掀起了世界的新一波科技浪潮,如今,你要是不懂點AI、機器學習和python都不好意思說你是現代人。

 

那麼Python究竟和人工智慧什麼關係,為什麼人工智慧把Python也給帶火了?

 

今天就給大家簡單介紹下Python和人工智慧的關係及應用,以及想要學人工智慧的你,究竟需要學些什麼Python的知識,先來上兩張圖人工智慧和Python的圖。 

 

 

從上圖可以看出,人工智慧包含常用機器學習和深度學習兩個很重要的模組,而下圖中Python擁有matplotlib、Numpy、sklearn、keras等大量的庫,像pandas、sklearn、matplotlib這些庫都是做資料處理、資料分析、資料建模和繪圖的庫,基本上機器學習中對資料的爬取(scrapy)、對資料的處理和分析(pandas)、對資料的繪圖(matplotlib)和對資料的建模(sklearn)在Python中全都能找到對應的庫來進行處理。

 

所以,要想學習AI而不懂Python,那就相當於想學英語而不認識單詞,所以,Python學起來吧。

 

那麼要想學人工智慧,想學Python,那些東西要學習呢,下面給大家簡單介紹下:

 

首先,你要學Python如何爬取資料,你要做資料分析、資料建模,起碼你要有資料,這些資料來源有多種方法,但是很多都來自網路,這就是爬蟲。

 

爬蟲:requests、scrapy、selenium、beautifulSoup,這些庫都是寫網路爬蟲需要使用到的,好好掌握這些東西,資料就有了。

 

然後,有了資料就可以進行資料處理和分析了,這個時候,你需要用到資料處理的一些庫

 

資料處理:Numpy、scipy、pandas、matplotlib,這些庫分別可以進行矩陣計算、科學計算、資料處理、繪圖等操作,有了這些庫,你就可以一步步開始把資料處理成你需要的格式。

 

接著,資料符合你的格式以後,你就需要利用這些資料進行建模了,這個時候你用到的庫也有很多。

 

建模:nltk、keras、sklearn,這些庫主要是用於自然語言處理、深度學習和機器學習的,把這些用好了,你的模型就構建出來了。

 

最後,如果你的專案是基於Python開發的線上系統,你還可以學一學Python的Web開發,這樣,你做的模型還能直接用在線上系統。

 

Web開發:django、flask、tornado,這些庫搞明白了,你Web開發也就搞定了。

 

以上只是你入門要學習人工智慧所要掌握的一些基本的庫,要想真正使用起來,你可能需要花費很多時間去研究和學習這裡面的每一個細節。

 

不過,有句話叫“人生苦短,我用Python”,之所以這麼說是因為Python在實現各個功能的時候要遠比其他語言簡練的多,很多功能在Python中只需要一行程式碼搞定,但是在Java中你可能需要寫好多好多程式碼才能實現。

 

就拿一個簡單的例子,讀寫檔案來說吧:

 

Python讀寫檔案:

 

//讀檔案  
with open('readFile', 'r') as inFile:  
       for line in inFile.readlines():  
               print line  
               ...  
 
//寫檔案  
with open('writeFile', 'w') as outFile:  
       outFile.write("...")

Java讀寫檔案:

 

import java.io.InputStreamReader;  
import java.io.FileInputStream;  
import java.io.FileReader;  
import java.io.FileWriter;  
import java.io.BufferedWriter;  
import java.io.File;  
 
 
BufferedReader br1 = new BufferedReader(new InputStreamReader(new FileInputStream("read_file1")));  
BufferedReader br2 = new BufferedReader(new FileReader("read_file2"));  
 
String line = null;  
while((line = br1.readLine())!=null){  
       System.out.println(line);  
       ...  
}  
 
File outfile = new File("write_file");  
if (!file.exists()){  
       file.createNewFile();  
}  
 
 
//true = append file  
FileWriter fileWritter = new FileWriter(file.getName(),true);  
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);  
bufferWritter.write(data);  
bufferWritrer.flush();
bufferWritter.close();

各位學習人工智慧的同胞們,你們看到了吧,就是一個簡單的讀寫檔案,Java的操作要比Python複雜太多太多!

 

在真實的工作中,我們需要做的事情是把大量的精力集中在資料上、資料分析和理解上,而不是花費30%-50%的時間去寫程式碼,Python不光是提供了機器學習所需要的一切工具庫,還能讓你專注在資料處理和分析上,所以,要學習和進入人工智慧行業的話,好好學習Python吧,騷年!