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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2017年2月20日 Random Forest Classifier

發布時間:2023/12/20 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2017年2月20日 Random Forest Classifier 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

Random Forests builds various decision trees on bootstrap samples and random seleted features, prediction can be made by averaging

from __future__ import division import numpy as np import pandas as pd from sklearn.tree import DecisionTreeClassifier from sklearn.ensemble import RandomForestClassifierdata = pd.read_csv('data/sonar.all-data.csv', header=None) X = data[data.columns[:-1]].as_matrix() y = data[data.columns[-1]].as_matrix()class myRandomForest:def fit(self, X, y, n_estimators, max_depth):self.learners = []for n in range(n_estimators):idx_data = np.random.choice(X.shape[0],X.shape[0],replace=True)idx_feat = np.random.choice(X.shape[1],int(np.sqrt(X.shape[1])),replace=False)X_sub = X[idx_data][:,idx_feat]y_sub = y[idx_data]clf = DecisionTreeClassifier(max_depth=max_depth)clf.fit(X_sub, y_sub)self.learners.append({'tree': clf,'idx_feat': idx_feat})def predict(self, X):ps = []for i in range(len(self.learners)):clf = self.learners[i]['tree']idx_feat = self.learners[i]['idx_feat']p = clf.predict(X[:, idx_feat])ps.append(p)ps = np.transpose(ps).tolist()return [ max(p, key=p.count) for p in ps]def score(self, X, y):return np.count_nonzero(self.predict(X) == y)/len(y)rf = myRandomForest() rf.fit(X,y,50,3) print 'score:', rf.score(X,y) #score: 0.942307692308dt = DecisionTreeClassifier(max_depth=3) dt.fit(X,y) print 'decision tree score:', np.count_nonzero(dt.predict(X) == y)/len(y) #decision tree score: 0.884615384615

?

轉載于:https://my.oschina.net/airxiechao/blog/863499

總結

以上是生活随笔為你收集整理的2017年2月20日 Random Forest Classifier的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。