日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sklearn机器学习实例

發(fā)布時間:2025/3/11 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sklearn机器学习实例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原創(chuàng)網(wǎng)址:https://blog.csdn.net/qq_27150893/article/details/80169736

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

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

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

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

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

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

本文對主要的機器學(xué)習(xí)模型進行實例演示,具體模型的參數(shù)結(jié)合的自己需求設(shè)置。

1.分類問題

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

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

1.1 SVM支持向量機模型

from sklearn import svmimport pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_split#SVM模型實現(xiàn)汽車性能評測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ùn)練集和測試集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)# 建立模型。 設(shè)置算法內(nèi)核類型,有 'linear’, ‘poly’, ‘rbf’, ‘sigmoid’;懲罰參數(shù)為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)

?

運行結(jié)果:

1.2 MLP神經(jīng)網(wǎng)絡(luò)模型

from sklearn.neural_network import MLPClassifierimport pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_split#MLP神經(jīng)網(wǎng)絡(luò)模型實現(xiàn)汽車性能評測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ùn)練集和測試集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)#建立MLP神經(jīng)網(wǎng)絡(luò)模型 ,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)

???????

運行結(jié)果:

1.3 邏輯回歸模型

import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LogisticRegression#邏輯回歸模型實現(xiàn)汽車性能預(yù)測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ùn)練集和測試集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)#建立邏輯回歸模型 ,懲罰參數(shù)為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)

?

運行結(jié)果:

?

1.4 決策樹模型

from sklearn import treeimport pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_split#決策樹模型實現(xiàn)汽車性能預(yù)測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ùn)練集和測試集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)# 建立決策樹模型,選擇算法為熵增益,可選gini,entropy,默認(rèn)為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)

???????

運行結(jié)果:

?

1.5 KNN(K最臨近模型)

  • from sklearn import neighbors

  • import pandas as pd

  • import numpy as np

  • from sklearn.model_selection import train_test_split

  • #K最鄰模型實現(xiàn)汽車性能預(yù)測

  • 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ùn)練集和測試集

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

  • # 建立KNN模型,鄰居數(shù)選為7,默認(rèn)為5

  • knn_model = neighbors.KNeighborsClassifier(n_neighbors = 7)

  • knn_model.fit(X_train, y_train)

  • #對測試集進行預(yù)測

  • predict_data = knn_model.predict(X_test)

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

  • print(accuracy)

  • 運行結(jié)果:

    ?

    2. 回歸問題

    ? 這里使用sklearn自帶的數(shù)據(jù)集,數(shù)據(jù)集為波斯頓房價,根據(jù)波斯頓地區(qū)若干指標(biāo)對房價進行預(yù)測。

    ? 2.1 線性回歸模型實現(xiàn)

  • from sklearn.linear_model import LinearRegression

  • from sklearn.datasets import load_boston

  • from sklearn.model_selection import train_test_split

  • #導(dǎo)入結(jié)果評價包

  • from sklearn.metrics import mean_absolute_error

  • #利用線性回歸模型預(yù)測波斯頓房價

  • ?
  • #下載sklearn自帶的數(shù)據(jù)集

  • data = load_boston()

  • #建立線性回歸模型

  • clf = LinearRegression()

  • #劃分訓(xùn)練集和測試集

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

  • clf.fit(X_train, y_train)

  • predict_data = clf.predict(X_test)

  • print(predict_data)

  • #平均絕對值誤差對結(jié)果進行評價

  • appraise = mean_absolute_error(y_test, predict_data)

  • print(appraise)

  • 運行結(jié)果:

    總結(jié)

    以上是生活随笔為你收集整理的sklearn机器学习实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。