sklearn機器學習實例

原創網址:https://blog.csdn.net/qq_27150893/article/details/80169736

sklearn是非常流行的機器學習庫,實現了很多的機器學習模型。官網:http://scikit-learn.org/stable/? 里面有全面的實例和模型參數講解,用到哪個模型就去官方查看說明文檔。

基本功能主要被分為六大部分:分類,回歸,聚類,數據降維,模型選擇和數據預處理。

?Estimator框架的基本使用套路:

? ? ?model = EstimatorObject()? #得到模型

? ? ?model.fit(dataset.data, dataset.target)? ?#訓練模型

? ? ?model.predict(dataser.data)? ? #預測

本文對主要的機器學習模型進行實例演示,具體模型的參數結合的自己需求設置。

1.分類問題

數據集為 Car Ecaluation,根據汽車的若干屬性對汽車性能進行評價。下載地址:http://archive.ics.uci.edu/ml/datasets/Car+Evaluation

預處理:將數據集保存后將后綴直接改為csv,并將里面用字符串表示的等級轉化為數字。如small,low,unacc轉化為1,2,3

1.1 SVM支持向量機模型

from sklearn import svmimport pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_split#SVM模型實現汽車性能評測car_data = pd.read_csv(r'D:\pyproject\sklearn\car.csv')car_data = car_data.dropna() #去掉缺失值#提取特征和類別X= car_data.ix[:, :'safety']y= car_data.ix[:,'class']#劃分訓練集和測試集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)# 建立模型。 設置算法內核類型,有 'linear’, ‘poly’, ‘rbf’, ‘sigmoid’;懲罰參數為1,一般為10的冪次方svc_model = svm.SVC(kernel='rbf', C= 1)svc_model.fit(X_train, y_train)predict_data = svc_model.predict(X_test)accuracy = np.mean(predict_data==y_test)print(accuracy)

?

運行結果:

1.2 MLP神經網絡模型

from sklearn.neural_network import MLPClassifierimport pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_split#MLP神經網絡模型實現汽車性能評測car_data = pd.read_csv(r'D:\pyproject\sklearn\car.csv')car_data = car_data.dropna() #去掉缺失值#提取特征和對象類別X= car_data.ix[:, :'safety']y= car_data.ix[:,'class']#劃分訓練集和測試集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)#建立MLP神經網絡模型 ,MLP的求解方法為adam,可選lbfgs、sgd,正則化懲罰alpha = 0.1mpl_model = MLPClassifier(solver='adam', learning_rate='constant', learning_rate_init=0.01,max_iter = 500,alpha =0.01)mpl_model.fit(X_train, y_train)predict_data = mpl_model.predict(X_test)accuracy = np.mean(predict_data == y_test)print(accuracy)

???????

運行結果:

1.3 邏輯回歸模型


import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LogisticRegression#邏輯回歸模型實現汽車性能預測car_data = pd.read_csv(r'D:\pyproject\sklearn\car.csv')car_data = car_data.dropna() #去掉缺失值#提取特征和對象類別X= car_data.ix[:, :'safety']y= car_data.ix[:, 'class']#劃分訓練集和測試集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)#建立邏輯回歸模型 ,懲罰參數為100lr_model = LogisticRegression(C= 100, max_iter=1000)lr_model.fit(X_train, y_train)predict_data = lr_model.predict(X_test)accuracy = np.mean(predict_data == y_test)print(accuracy)

?

運行結果:

?

1.4 決策樹模型

from sklearn import treeimport pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_split#決策樹模型實現汽車性能預測car_data = pd.read_csv(r'D:\pyproject\sklearn\car.csv')car_data = car_data.dropna() #去掉缺失值#提取特征和類別X= car_data.ix[:, :'safety']y= car_data.ix[:,'class']#劃分訓練集和測試集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)# 建立決策樹模型,選擇算法為熵增益,可選gini,entropy,默認為ginitree_model = tree.DecisionTreeClassifier(criterion='gini')tree_model.fit(X_train, y_train)predict_data = tree_model.predict(X_test)accuracy = np.mean(predict_data==y_test)print(accuracy)

???????

運行結果:

?

1.5 KNN(K最臨近模型)

 
  1. from sklearn import neighbors

  2. import pandas as pd

  3. import numpy as np

  4. from sklearn.model_selection import train_test_split

  5. #K最鄰模型實現汽車性能預測

  6. car_data = pd.read_csv(r'D:\pyproject\sklearn\car.csv')

  7. car_data = car_data.dropna() #去掉缺失值

  8. #提取特征和類別

  9. X= car_data.ix[:, :'safety']

  10. y= car_data.ix[:, 'class']

  11. #劃分訓練集和測試集

  12. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

  13. # 建立KNN模型,鄰居數選為7,默認為5

  14. knn_model = neighbors.KNeighborsClassifier(n_neighbors = 7)

  15. knn_model.fit(X_train, y_train)

  16. #對測試集進行預測

  17. predict_data = knn_model.predict(X_test)

  18. accuracy = np.mean(predict_data==y_test)

  19. print(accuracy)

運行結果:

?

2. 回歸問題

? 這里使用sklearn自帶的數據集,數據集為波斯頓房價,根據波斯頓地區若干指標對房價進行預測。

? 2.1 線性回歸模型實現

 
  1. from sklearn.linear_model import LinearRegression

  2. from sklearn.datasets import load_boston

  3. from sklearn.model_selection import train_test_split

  4. #導入結果評價包

  5. from sklearn.metrics import mean_absolute_error

  6. #利用線性回歸模型預測波斯頓房價

  7. ?
  8. #下載sklearn自帶的數據集

  9. data = load_boston()

  10. #建立線性回歸模型

  11. clf = LinearRegression()

  12. #劃分訓練集和測試集

  13. X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.3, random_state=0)

  14. clf.fit(X_train, y_train)

  15. predict_data = clf.predict(X_test)

  16. print(predict_data)

  17. #平均絕對值誤差對結果進行評價

  18. appraise = mean_absolute_error(y_test, predict_data)

  19. print(appraise)

運行結果:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/540132.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/540132.shtml
英文地址,請注明出處:http://en.pswp.cn/news/540132.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CSVDE批量導入域用戶

CSVDE批量導入用戶 你可以使用Csvde格式的文件在活動目錄中創建用戶帳號和其他類型的帳號。但你不能使用Csvde刪除活動目錄中的對象。 使用Csvde命令行工具創建用戶帳號,采用下列步驟: 1. 創建Csvde輸入文件。文件應包含下列信息。 屬性行:這…

sklearn 實例

http://scikit-learn.org/stable/auto_examples/index.html sklearn例子大全 https://deeplearning4j.org/mnist-for-beginners deeplearning官網

pip 安裝模塊時報“pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonh”

連接鏡像網站即可 以豆瓣鏡像為例: 解決方案: pip install grpcio-tools -i https://pypi.doubanio.com/simple 后面的-i https://pypi.doubanio.com/simple即是鏡像 鏡像站推薦: 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中國科…

【轉載】細聊冗余表數據一致性(架構師之路)

本文主要討論四個問題: (1)為什么會有冗余表的需求 (2)如何實現冗余表 (3)正反冗余表誰先執行 (4)冗余表如何保證數據的一致性 一、需求緣起 互聯網很多業務場景的數據量…

ethtool如何讓接口閃燈_如何解決專業家庭影院與卡拉OK的聲學問題?

現在越來越多的專業家庭影院走進人們的家中,享受體驗娛樂氛圍的空間。在實際的生活中,許多人都把這個空間設計為多功能的影音娛樂室,集看電影、聽音樂、卡拉OK、游戲娛樂等于一體,在這其中看電影與卡拉OK將這兩個功能組合在同一個…

tensorflow學習筆記(1):sess.run()

原址:https://www.2cto.com/kf/201610/559887.html session.run() session.run([fetch1, fetch2]) import tensorflow as tf state tf.Variable(0.0,dtypetf.float32) one tf.constant(1.0,dtypetf.float32) new_val tf.add(state, one) update tf.assign(st…

關于MapReduce單詞統計的例子:

要統計的文件的文件名為hello hello中的內容如下 hello  you hello  me 通過MapReduce程序統計出文件中的各個單詞出現了幾次.(兩個單詞之間通過tab鍵進行的分割) 1 import java.io.IOException;2 3 import mapreduce.WordCountApp.WordCountMapper.WordCountReducer;4 5 i…

朵朵糖故事機器人怎么更新_“故事販賣機”專欄創始人溫酒的新作,奇幻世界的暖心物語很治愈...

我有酒,你有故事嗎?2015年,知乎上一個叫“故事販賣機”的專欄橫空出世,憑著一個個腦洞大開的故事,這個溫吞而又溫暖的專欄很快得到了讀者的認可。而其中的創始人兼主打寫手溫酒,更是被粉絲們親切地稱呼為“…

python3 通過百度地圖API獲取城市POI點并存于CSV格式

原文信息: 作者:WenWu_Both 出處:http://blog.csdn.net/wenwu_both/article/ 版權:本文版權歸作者和CSDN博客共有 轉載:歡迎轉載,但未經作者同意,必須保留此段聲明;必須在文章中…

使用dropwizard(3)-加入DI-dagger2

前言 習慣了Spring全家桶,對spring的容器愛不釋手。使用dropwizard,看起來確實很輕,然而,真正使用的時候不得不面臨一個問題。我們不可能一個resource就能把所有的業務邏輯囊括!那么,必然就要有負責處理邏輯…

日歷對象導哪個包_微信新表情瞬間炸裂,文物表情包永恒萌呆!

11月18日晚微信上架了6個全新表情瞬間炸裂網友一天時間閱讀達16.2億,討論15.8萬次#微信新表情#話題翻白眼、666、讓我看看嘆氣、苦澀、裂開微信新表情雖然666但文物表情包的呆萌也能讓人瞬間裂開更能完全詮釋我的各(bu)種(wen ding)情緒先對比一下最新的6個表情[翻白…

Tensorflow一些常用基本概念與函數(1)

文章轉至 作者:林海山波出處:https://me.csdn.net/lenbow版權:本文版權歸作者和CSDN博客共有 寫這篇博客只為自己學習路上做個筆記,方便自己學習記憶,大家如果想看詳細文章可以去原作者主頁去看,同時他…

Lineageos14 20180525更新

一、ROM注意事項 拒絕任何無意義二次打包! C大停止更新Lineageos14,我來接力。 二、ROM更新日志 20180525更新: 1、常規更新 2、安全補丁2018年5月5日 20180406更新: 1、增加通話錄音,常規更新 2、安全補丁2018年3月…

藍牙連接不上車要hfp_如何正確使用車載藍牙播放器呢?

車載藍牙是以無線藍牙技術為基礎而設計研發的車內無線免提系統。可以連接我們設計進行聽歌和打電話十分方便,下面諾金小編帶大家一起來看看!下面諾金小編帶大家一起來看看一、首先是把手機和車載藍牙播放器打開,搜索車載藍牙播放器“809”&am…

使用Eclipse+PyDev創建Django項目一windows下

開發條件:eclipsepydev插件django editor插件 關于eclipse安裝小編就不多做介紹,我自己用的版本如下 1.安裝pydev插件 啟動Eclipse, 點擊Help->Install New Software 彈出如下框 點擊add 分別在 Name中填:Pydev, Location中填http://pydev.org/up…

如何避免踩坑--初創技術團隊組建風險預估

閑來無事翻翻微信,發現有不少朋友公司在招技術負責人,跟他們聊了幾句,發現大多數認知都是技術部門的效率與進度達不到要求,機緣巧合下,有幸到了Y公司跟其Boss會面,得知其技術團隊效率低下,總是不…

查詢空缺_攜程旅行2021校招開啟,9大類職位,1000+崗位空缺,本科及以上學歷...

攜程旅行2021秋季校招正式開啟!攜程集團(納斯達克股票代碼:TCOM)是一家領先的在線旅游服務提供商,旗下品牌包括攜程、Trip.com、天巡和去哪兒。攜程集團能夠整合復雜的旅游相關信息并通過其先進的移動端App、網站以及24小時無間斷的免費客戶服…

Django web開發筆記

一、Django開發環境搭建: 1.安裝python:django可運行于版本python 2.7、3.x 2.安裝相應的IDE 3.安裝pip:sudo apt-get install python-pip(linux為例) 4.安裝django:1)pip安裝:sudo pip ins…

android 前置攝像頭預覽時 鏡像翻轉_全面屏時代,原來手機前置攝像頭都隱藏著一些缺點,你發現了嗎?...

隨著真全面屏時代的到來,人們已經不再滿足于劉海屏、水滴屏以及挖孔屏等,越來越多的手機廠商和消費者開始追求"100%全面屏"。于是如何解決手機前置攝像頭便成了最大的難題,畢竟只要在屏幕上放置攝像頭必然會影響屏占比,…

Java 調用 Python 方法學習筆記

文章轉載自: 作者:IT_xiao_bai 來源:CSDN 原文:https://blog.csdn.net/IT_xiao_bai/article/details/79074988 前一陣自剛好用python做了一個sae的算法模型,結果公…