不知火舞的被虐|伊人天伊人天天综合网|博洛尼亚天气|任你懆这里只有精品4|久久美日韩精品久久|掌中之物漫画免费阅读观看|0丨d老妇

sklearn的案例

sklearn中決策樹的應用(python)
00 安裝scikit-learn庫 pip install scikit-learn 01 獲取sklearn中鳶尾花數據 import numpy as np import matplotlib.pyplot as plt from sklearn import datasets from sklearn.tree import DecisionTreeClassifier iris=datasets.load_iris() dex1=np.random.choice(150,size=120,replace=False) dex2=[] for i in range(150): if i not in dex1: dex2.append(i) train_x=iris.data[dex1,:] train_y=iris.target[dex1] test_x=iris.data[dex2,:] test_y=iris.target[dex2] 02 分類樹 classi=DecisionTreeClassifier() classi.fit(train_x,train_y) classi.score(test_x,test_y) Out[112]: 0.9333333333333333 classi.predict(test_x) classi=DecisionTreeClassifier(criterion='gini') classi.fit(train_x,train_y) classi.score(test_x,test_y) Out[135]: 0.9 classi=DecisionTreeClassifier(criterion='entropy') classi.fit
展開
sklearn中K近鄰的使用(python)
in weights: scor=[] for k in ks: regre=neighbors.KNeighborsRegressor(weights=weight,n_neighbors=k) regre.fit(train_x,train_y) scor.append(regre.score(test_x,test_y)) plt.plot(ks,scor,label=weight) plt.legend() fig=plt.figure() ps=[1,2,10] ks=np.linspace(1,len(train_y),50,dtype='int') for p in ps: scor=[] for k in ks: regre=neighbors.KNeighborsRegressor(p=p,n_neighbors=k) regre.fit(train_x,train_y) scor.append(regre.score(test_x,test_y)) plt.plot(ks,scor,label='p='+str(p)) plt.legend(loc='best') 02 獲取sklearn中數據 import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,neighbors digits=datasets.load_digits() dex1=np.random.choice(1797,1500,replace=False) dex2=[] for
展開
線性模型用于分類(sklearn
摘要:本文主要展示scikit-learn中線性模型在分類問題中的使用,涉及邏輯回歸,線性判別; 00 安裝scikit-learn庫 pip install scikit-learn 01 獲取sklearn中鳶尾花數據 import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model iris=datasets.load_iris() dex1=np.random.choice(150,size=120,replace=False) dex2=[] for i in range(150): if i not in dex1: dex2.append(i) train_x=iris.data[dex1,:] train_y=iris.target[dex1] test_x=iris.data[dex2,:] test_y=iris.target[dex2] 02 邏輯回歸 regre=linear_model.LogisticRegression(multi_class='ovr',solver='liblinear') regre.fit(train_x,train_y) regre.score(test_x,test_y) regre.coef_ Out[40]: array([[ 0.39001649, 1.4110123 , -2.14837944, -0.97686956], [ 0.54586613, -1.70617607, 0.38138451, -1.1176497 ], [-1.63246048, -1.17046085, 2.28632906
展開
sklearn中樸素貝葉斯的使用(python)
摘要:本文主要展示樸素貝葉斯模型在分類中的使用,包含三種:高斯貝葉斯,多項式貝葉斯,伯努利貝葉斯(二項貝葉斯); 00 安裝scikit-learn庫 pip install scikit-learn 01 獲取sklearn圖像識別素材 import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, naive_bayes digits=datasets.load_digits() dex1=np.random.choice(1797,1500,replace=False) dex2=[] for i in range(1797): if i not in dex1: dex2.append(i) train_x=digits.data[dex1] train_y=digits.target[dex1] test_x=digits.data[dex2] test_y=digits.target[dex2] 02 高斯貝葉斯模型 classi=naive_bayes.GaussianNB() classi.fit(train_x,train_y) classi.score(test_x,test_y) Out[44]: 0.835016835016835 classi.predict(test_x) Out[45]: array([0, 7, 1, 3, 7, 5, 4, 7, 8, 0, 1, 6, 3, 3, 4, 5, 1, 7, 7, 5, 8, 8, 1, 8, 3, 6, 8, 0, 7, 7, 3, 8, 7, 1, 3, 7, 3, 9, 0, 6, 9, 7,
展開
sklearn圖1
線性回歸-sklearn(python)
摘要:本文主要展示scikit-learn中關于線性回歸模型的使用,涉及到線性回歸,嶺回歸,Lasso回歸,ElasticNet回歸; 00 安裝scikit-learn庫 pip install scikit-learn 01 獲取sklearn中糖尿病患者數據 import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model diabetes=datasets.load_diabetes() train_x=diabetes.data[:342,:] train_y=diabetes.target[:342].reshape(-1,1) test_x=diabetes.data[342:,:] test_y=diabetes.target[342:].reshape(-1,1) 02 線性回歸 regre=linear_model.LinearRegression() regre.fit(train_x,train_y) 獲取回歸模型參數: regre.coef_ Out[16]: array([[ -8.41868608, -246.87356823, 515.48111342, 302.57455473, -403.03503059, 160.72498918, -73.58961448, 127.08804647, 609.91854338, 87.69439173]]) regre.intercept_ Out[17]: array([152.09317069]) regre.score(test_x,test_y) Out
展開
sklearn中支持向量機(SVM)用于回歸
摘要:本文使用SVM進行回歸; 00 獲取sklearn中糖尿病患者數據 import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, svm diabetes=datasets.load_diabetes() train_x=diabetes.data[:342,:] train_y=diabetes.target[:342] test_x=diabetes.data[342:,:] test_y=diabetes.target[342:] 01 SVM線性回歸 regre=svm.LinearSVR() regre.fit(train_x,train_y) regre.score(test_x,test_y) Out[36]: -0.3826827941256945 regre.coef_ Out[37]: array([ 2.49261883, 0.25752362, 6.21448813, 4.90032452, 2.70896776, 2.61597544, -4.9194174 , 5.41655006, 6.48684744, 3.7077186 ])regre.intercept_ Out[38]: array([103.12986397]) regre.n_iter_ Out[39]: 9 考察參數loss的影響: regre=svm.LinearSVR(loss='epsilon_insensitive') regre.fit(train_x,train_y) regre.score(test_x,test_y) Out[40]: -0.38589592979512455
展開
sklearn中支持向量機(SVM)用于分類
摘要:本文使用SVM進行分類; 00 獲取sklearn中鳶尾花數據 import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, svm iris=datasets.load_iris() dex1=np.random.choice(150,size=120,replace=False) dex2=[] for i in range(150): if i not in dex1: dex2.append(i) train_x=iris.data[dex1,:] train_y=iris.target[dex1] test_x=iris.data[dex2,:] test_y=iris.target[dex2] 01 SVM線性分類 classi=svm.LinearSVC(max_iter=5000) classi.fit(train_x,train_y) classi.coef_ Out[21]: array([[ 0.18423835, 0.45122936, -0.80794123, -0.4507153 ], [ 0.07950217, -0.8192085 , 0.42309252, -0.99830954], [-0.96954958, -0.97387786, 1.54891257, 1.68449995]]) classi.intercept_ Out[22]: array([ 0.109562 , 1.31266596, -1.50936256]) classi.n_iter_ Out[23]: 3038 classi.score(test_x
展開
數據特征的優化選擇方法(feature_selection)
_ Out[36]: array([0.4, 0. , 0.4, 1.6, 3.6]) x_kbest=selectpercen.transform(x) 02 權重法 獲取sklearn中的鳶尾花數據 import numpy as np from sklearn import datasets, svm import sklearn.feature_selection as selection iris=datasets.load_iris() x=iris.data y=iris.target selectrfe=selection.RFE(estimator=svm.LinearSVC(max_iter=10000),n_features_to_select=2) selectrfe.fit(x,y) x_rfe=selectrfe.transform(x) selectrfe.support_ Out[149]: array([False, True, False, True]) selectrfe.ranking_ Out[150]: array([3, 1, 2, 1]) selectrfe.score(x,y) Out[151]: 0.9466666666666667 特征選擇不一定會提高預測性能,比如不去除特征,預測得分更高: classi=svm.LinearSVC(max_iter=10000) classi.fit(x,y) classi.score(x,y) Out[152]: 0.9666666666666667 selectrfecv=selection.RFECV(estimator=svm.LinearSVC(max_iter=10000
展開
statsmodels中的線性回歸(OLS)
其實這個0是可以消除的: from sklearn import linear_model regre=linear_model.LinearRegression() regre.fit(X[:,1:],y) regre.coef_ Out[84]: array([1.10186004, 5.08228562]) regre.intercept_ Out[85]: 3.3848961766450145 總結sklearn和statsmodels的區別,可以發現: sklear的線性回歸使用: statsmodels的線性回歸使用: 提取statsmodels的各類參數: results = sm.OLS(y, X).fit() pedict_=results.predict() fitted_=results.fittedvalues resid_=results.resid params_=results.params bse_=results.bse 預測值: 預測值同樣可以用sklearn實現: from sklearn import linear_model regre=linear_model.LinearRegression() regre.fit(X[:,1:],y) test_y=regre.predict(X[:,1:]) residual=y-pedict_ residual==resid_ Out[93]: array([ True, True, True, True, True, True, True, True, True, True, True, True, True, True, True
展開
監督學習 K近鄰算法算例
# 導入模塊 import pandas as pd import seaborn as sns from sklearn.model_selection import train_test_split from sklearn.preprocessing import LabelBinarizer,MinMaxScaler from sklearn.model_selection import GridSearchCV from sklearn.neiors import KNeiorsClassifier import numpy as np import matplotlib.pyplot as plt # 導入數據 file_path = ".
展開
01 K-近鄰算法介紹與實現
,iris.feature_names[1],iris.feature_names[2]) 26# plot_iris(iris_d,iris.feature_names[1],iris.feature_names[3]) 27# plot_iris(iris_d,iris.feature_names[2],iris.feature_names[3]) 第二步:數據集劃分 1from sklearn.model_selection import train_test_split 2# random_state 是隨機數種子;test_size 是測試集所占的比例 3x_train, x_test, y_train, y_test = train_test_split( 4 iris.data, iris.target, random_state=20, test_size=0.2) 第三步:特征工程,數據標準化 1from sklearn.preprocessing import StandardScaler 2transfer = StandardScaler() 3# 找出訓練集數據的均值、方差,并保存在tansfer中,供后續標準化使用。
展開
sklearn圖2
機器學習 |使用 Python 的多元線性回歸
導入庫 import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.datasets import fetch_california_housing 2. 加載數據集 # Load the California Housing dataset california_housing = fetch_california_housing() # Assign the data (features) and target (house prices) X = pd.DataFrame(california_housing.data, columns=california_housing.feature_names) y = pd.Series(california_housing.target) 從 中獲取 California Housing 數據集。
展開
機器學習之 特征工程
中的OneHotEncoder方法 from sklearn.preprocessing import OneHotEncoder OneHotEncoder().fit_transform(testdata.age.values.reshape(-1,1)).toarray() 復制代碼 array([[0., 1., 0.], [0., 0., 1.], [1., 0., 0.], [1., 0., 0.]])
巖石邊坡工程大數據處理---階段性總結(R1)
3.1 運行環境 由于在本項目中使用了多種庫,因此針對不同的庫設置了不同的虛擬環境,主要包括: (1) base(root); (2) Spacy; (3) Bertopic; (4) Tensorflow; (5) Flair; (6) Transformers 3.2 主題模擬和相似性查詢 使用聯合的方法進行主題模擬和相似性查詢,主要包括: (1) geotech-flashtext-passages.py 根據不同的短語組合,聚合出相應的段落;geotech-flashtext-words-combination.py是一個變體,把整個文檔劃分為單句進行聚合,使用了C(n,3)的組合算法; (2) geotech-PyTextRank-keywords-summarization.py 自動提取文檔中的關鍵短語并進行排序,同時進行文檔總結; (3) geotech-doc2vec-documents-similarity.py 從文檔中產生相似性段落,提取語義相關的短語, 使用LDA算法進行主題聚合; (4) geotech-markovify-text-generation.py 使用馬爾可夫鏈算法生成新的句子; (5) geotech-bertopic-topic-modeling.py 使用Transformers算法聚合主題; (6) geotech-top2vec-sentences.py 使用Transformers算法聚合主題; (7) geotech-sklearn-similarity-query.py 使用sklearn算法進行句子的相似性查詢; (8) geotech-st-similarity.py 使用SentenceTransformers進行相似性查詢; (9) geotech-st-lexrank-summarization.py
展開
如何處理 TensorFlow 模型中的過擬合? ¥5
讓我們使用以下步驟在 TensorFlow 模型中處理過擬合: 第 1 步:導入庫 import tensorflow as tf from tensorflow.keras.models import Sequentialfrom tensorflow.keras.layers import Dense, Dropout, BatchNormalization from tensorflow.keras.callbacks import EarlyStoppingfrom sklearn.model_selection import train_test_split import numpy as np import matplotlib.pyplot as plt from sklearn.decomposition import PCA 步驟 2:生成示例數據 此模塊生成隨機樣本數據以進行演示。X 是一個 2D 數組,有 1000 行和 10 列介于 0 和 1 之間的隨機值,而 y 是一個有 1000 個隨機整數(0 或 1)的 1D 數組。 # Generate sample data X = np.random.rand(1000, 10) y = np.random.randint(2, size=(1000,)) 第 3 步:將數據拆分為訓練集和驗證集 該代碼使用 sklearn.model_selection 中的 train_test_split 函數將數據集拆分為訓練集、驗證集和測試集。80% 的數據分配給訓練/驗證組合集,進一步分為 75% 用于訓練,25% 用于驗證,而 20% 分配給測試集以評估訓練模型的性能。
展開

sklearn的相關專題、標簽、搜索