那么Python究竟和人工智能什么關(guān)系,為什么人工智能把Python也給帶火了?
今天就給大家簡單介紹下Python和人工智能的關(guān)系及應(yīng)用,以及想要學(xué)人工智能的你,究竟需要學(xué)些什么Python的知識,先來上兩張圖人工智能和Python的圖。
從上圖可以看出,人工智能包含常用機器學(xué)習(xí)和深度學(xué)習(xí)兩個很重要的模塊,而下圖中Python擁有matplotlib、Numpy、sklearn、keras等大量的庫,像pandas、sklearn、matplotlib這些庫都是做數(shù)據(jù)處理、數(shù)據(jù)分析、數(shù)據(jù)建模和繪圖的庫,基本上機器學(xué)習(xí)中對數(shù)據(jù)的爬?。╯crapy)、對數(shù)據(jù)的處理和分析(pandas)、對數(shù)據(jù)的繪圖(matplotlib)和對數(shù)據(jù)的建模(sklearn)在Python中全都能找到對應(yīng)的庫來進(jìn)行處理。
所以,要想學(xué)習(xí)AI而不懂Python,那就相當(dāng)于想學(xué)英語而不認(rèn)識單詞。
那么要想學(xué)人工智能,想學(xué)Python,那些東西要學(xué)習(xí)呢,下面給大家簡單介紹下:
首先,你要學(xué)Python如何爬取數(shù)據(jù),你要做數(shù)據(jù)分析、數(shù)據(jù)建模,起碼你要有數(shù)據(jù),這些數(shù)據(jù)來源有多種方法,但是很多都來自網(wǎng)絡(luò),這就是爬蟲。
爬蟲:requests、scrapy、selenium、beautifulSoup,這些庫都是寫網(wǎng)絡(luò)爬蟲需要使用到的,好好掌握這些東西,數(shù)據(jù)就有了。
然后,有了數(shù)據(jù)就可以進(jìn)行數(shù)據(jù)處理和分析了,這個時候,你需要用到數(shù)據(jù)處理的一些庫。
數(shù)據(jù)處理:Numpy、scipy、pandas、matplotlib,這些庫分別可以進(jìn)行矩陣計算、科學(xué)計算、數(shù)據(jù)處理、繪圖等操作,有了這些庫,你就可以一步步開始把數(shù)據(jù)處理成你需要的格式。
接著,數(shù)據(jù)符合你的格式以后,你就需要利用這些數(shù)據(jù)進(jìn)行建模了,這個時候你用到的庫也有很多。
建模:nltk、keras、sklearn,這些庫主要是用于自然語言處理、深度學(xué)習(xí)和機器學(xué)習(xí)的,把這些用好了,你的模型就構(gòu)建出來了。
最后,如果你的項目是基于Python開發(fā)的線上系統(tǒng),你還可以學(xué)一學(xué)Python的Web開發(fā),這樣,你做的模型還能直接用在線上系統(tǒng)。
Web開發(fā):django、flask、tornado,這些庫搞明白了,你Web開發(fā)也就搞定了。
不過,有句話叫“人生苦短,我用Python”,之所以這么說是因為Python在實現(xiàn)各個功能的時候要遠(yuǎn)比其他語言簡練的多,很多功能在Python中只需要一行代碼搞定,但是在Java中你可能需要寫好多好多代碼才能實現(xiàn)。
就拿一個簡單的例子,讀寫文件來說吧:
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();
各位學(xué)習(xí)人工智能的同胞們,你們看到了吧,就是一個簡單的讀寫文件,Java的操作要比Python復(fù)雜太多太多!
在真實的工作中,我們需要做的事情是把大量的精力集中在數(shù)據(jù)上、數(shù)據(jù)分析和理解上,而不是花費30%-50%的時間去寫代碼,Python不光是提供了機器學(xué)習(xí)所需要的一切工具庫,還能讓你專注在數(shù)據(jù)處理和分析上,所以,要學(xué)習(xí)和進(jìn)入人工智能行業(yè)的話,好好學(xué)習(xí)Python吧,騷年!
最后,附上一張今年語言排行榜。
?
-
人工智能
+關(guān)注
關(guān)注
1791文章
47183瀏覽量
238237 -
python
+關(guān)注
關(guān)注
56文章
4792瀏覽量
84627
原文標(biāo)題:Python和人工智能的關(guān)系
文章出處:【微信號:jingzhenglizixun,微信公眾號:機器人博覽】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論