随机森林算x1,x2,x3,…, xn 与y的权重,代码如下:
# -*- coding:utf-8 -*-
import csv
import numpy as np
from sklearn.ensemble import RandomForestRegressor
def load_data():
X = []
y = []
with open('test.csv', 'r') as csvfile:
# 读取 CSV 文件,跳过第一行
reader = csv.reader(csvfile)
next(reader)
for row in reader:
# 将特征存储在 X 列表中
X.append(row[0:-1])
# 将标签存储在 y 列表中
y.append(row[-1])
return X, y
# 加载数据,X 是特征,y 是标签
X, y = load_data()
X = np.array(X)
X = X.astype(np.float64)
# 创建随机森林模型
#rf = RandomForestRegressor(n_estimators=100,random_state=10)
rf = RandomForestRegressor(n_estimators=100)
# 训练模型
importances_list = []
for i in range(10):
rf.fit(X, y)
importances = rf.feature_importances_
importances_list.append(importances)
importances_list = np.array(importances_list)
print(np.mean(importances_list, axis=0))
附测试的代码 test.csv
链接: https://pan.baidu.com/s/1BjELVhBUfajvsj40-TXMBg 提取码: 6y59