天天看點

人工智能機器學習

人工智能機器學習

機器學習

人工智能機器學習

機器學習是從資料中自動分析獲得規律(模型),并利用規律對未知資料進行預測

資料處理:首先将所有資料放在一起,然後将其順序打亂。由于順序不是判斷酒水的依據,我們并不期望順序影響到模型學習到的内容。換言之,我們判斷一種酒是紅的還是啤的,并不需要知道前一種或是接下來有什麼酒出現。

這時,可以着手繪出可視化的資料分析結果,這些分析圖将有助于你發現不同變量之間的潛在相關性,并且能幫你發現是否有資料失衡。比如,假若我們的資料中大量結果都表現出啤酒的特征,那麼模型大多數時候都遇到了啤酒,是以它的推測也将傾向于啤酒。但是真實世界中,模型需要判斷的啤酒和紅酒的量很有可能是相同的,假若它按照訓練的結果得出的大部分都是啤酒,那麼它有不少時候都得出了錯誤的結論。

我們還需要将資料分成兩部分。第一部分用于訓練模型,它們将占全部資料中的絕大多數。另一部分則是用于評估模型的判斷能力的。顯然我們不希望用于訓練的資料被拿來檢測模型,因為這些資料很可能被模型給直接記住了,答案脫口而出。這就好像你在考試裡總不會出現平時的作業原題那樣。

有時我們得到的資料需要一些其他形式的調整和操作,比如去重、規範化和糾錯等等,這些都需要在資料準備的過程當中完成。 而我們的這個問答系統訓練用的資料并不需要進一步操作,是以現在進入下一環節。

特征工程

特征工程是将原始資料轉換為更好地代表預測模型的潛在問題的特征的過程,進而提高了對未知資料的模型準确性 直接影響模型的預測結果

建立一個基于Python3的虛拟環境(可以在你自己已有的虛拟環境中):

mkvirtualenv  –p  /usr/bin/python3.5  ml3


在ubuntu的虛拟環境當中運作以下指令

pip3 install Scikit-learn 


然後通過導入指令檢視是否可以使用:

import sklearn      

特征抽取針對非連續型資料

特征抽取對文本等進行特征值化

注:特征值化是為了計算機更好的去了解資料

作用:對字典資料進行特征值化

類:sklearn.feature_extraction.DictVectorizer
DictVectorizer.fit_transform(X)       
X:字典或者包含字典的疊代器
傳回值:傳回sparse矩陣(稀疏矩陣)
DictVectorizer.inverse_transform(X)
X:array數組或者sparse矩陣
傳回值:轉換之前資料格式
DictVectorizer.get_feature_names()
傳回類别名稱
DictVectorizer.transform(X) 和fit方法
按照原先的标準轉換      

文本特征抽取

作用:對文本資料進行特征值化

類:sklearn.feature_extraction.text.CountVectorizer
CountVectorizer(max_df=1.0,min_df=1,…)
傳回詞頻矩陣
CountVectorizer.fit_transform(X,y)       
X:文本或者包含文本字元串的可疊代對象
傳回值:傳回sparse矩陣
CountVectorizer.inverse_transform(X)
X:array數組或者sparse矩陣
傳回值:轉換之前資料格式
CountVectorizer.get_feature_names()
傳回值:單詞清單      
人工智能機器學習

準備句子,利用jieba.cut進行分詞