記錄我是如何轉型大數據分析(二)——iris
資料庫下載鏈接(點擊這裡)或者可以直接百度iris data。
美麗的鳶尾花
這裡我用到的python庫有
1、pandas
2、matploylib
3、seaborn
4、sklearn
iris = pd.read_csv(file_path,header=None)iris.head()
col_list = [sepal length in cm,sepal width in cm,petal length in cm,petal width in cm,class]iris.columns = col_list#很喜歡describe這個功能,可以從宏觀上很快的瀏覽我們的數據iris.describe()
set(iris.loc[:,class])返回數據:{setosa, versicolor, virginica}
接下來我想要把數據按照品種分開, 這裡我用到了groupby
group = iris.groupby(class)group = group.agg({sepal length in cm:np.average, sepal width in cm:np.average, petal length in cm:np.average, petal width in cm:np.average})print group
下面我們來看下每個品種,花瓣的長和寬的關係是怎樣的
#篩選setosa的數據,並作散點圖a = iris[iris[class]==setosa]ax = a.plot(kind="scatter",x = sepal length in cm,y =sepal width in cm,label = seotsa)#篩選versicolor的數據,並作散點圖b = iris[iris[class]==versicolor]b.plot(kind="scatter",x = sepal length in cm,y =sepal width in cm,color = red,label = versicolor,ax = ax)#篩選virginica的數據,並作散點圖c = iris[iris[class]==virginica]c.plot(kind="scatter",x = sepal length in cm,y =sepal width in cm,color = green,label = "virginica",ax = ax)
同理,我們可以畫出花萼的長和寬的關係,這裡我用了另外一種方法:
sns.FacetGrid(iris,hue=class,size =5).map(plt.scatter,petal length in cm,petal width in cm).add_legend()
sns.pairplot(iris,hue =class)
將4個變數兩兩對比,可以看到藍色,也就是setosa和其他兩類很容易區分開來,但是紅色和綠色有點不好區分開。
mapping = {setosa:1, versicolor:2, virginica:3}iris[map] = iris.loc[:,class].map(mapping)iris.head()
這裡我們將花的品種轉化為1,2,3類,加入了新的一列map
我們將我們的數據分成兩塊,我是這樣理解的,一塊是放特徵數據,一塊是放判斷結果data = iris.iloc[:,0:4]target = iris.iloc[:,5]
from sklearn.linear_model import LogisticRegression #邏輯回歸from sklearn.cross_validation import train_test_split#分類訓練值,測試值from sklearn.metrics import classification_report #分析報告from sklearn.metrics import confusion_matrix #混淆矩陣
x_train,x_test,y_train,y_test = train_test_split(data,target)lr =LogisticRegression(C=10)lr.fit(data,target)pre_y = lr.predict(x_test)print classification_report(y_test,pre_y)
1號類型的,準確率和召回率都是100%,很容易區分,但是2,3類型,不能做到100%準確
cnf = confusion_matrix(y_test,pre_y)plt.matshow(cnf)
之後我應該要做一個AUC,ROC分析,這一段我還沒有完全理解,所以給自己留個坑,下次繼續填。
最後放一個鳶(yuan)尾花的百度百科,至少做完一個項目,還是要了解做的是啥吧。狀態:找工作中
晚安
推薦閱讀:
※【谷歌機器學習課程公開了!】Google AI 教育項目今起免費開放,完美支持中文
※條件隨機場CRF
※崛起中的機器文明
※複習:NN和BP
※嘗試克服一下小夥伴對神經網路的恐懼No.26