#!/usr/bin/evn python3
#-*- coding:UTF-8 -*-
# 加载包
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import tensorflow as tf
import numpy as np
import pandas as pd
import os
os.environ["TF_CPP_MIN_LOG_LEVEL"] = '3'
hparams = tf.contrib.tensor_forest.python.tensor_forest.ForestHParams(num_trees=3,
max_nodes=100,
num_classes=3,
num_features=4)
classifier = tf.contrib.tensor_forest.client.random_forest.TensorForestEstimator(hparams)
df = pd.read_csv('data.csv', encoding='utf-8')
for i in range(200):
# df.drop_duplicates(keep='first', inplace=True) # 去重,只保留第一次出现的样本
df = df.sample(frac=1.0) # 全部打乱
cut_idx = int(round(0.2 * df.shape[0]))
df_test, df_train = df.iloc[:cut_idx], df.iloc[cut_idx:]
test_data, test_label = df_test.iloc[:, :81], df_test.iloc[:, 81:]
train_data, train_label = df_train.iloc[:, :81], df_train.iloc[:, 81:]
classifier.fit(x=train_data, y=train_label.target, steps=100,batchsize=1000)
accuracy_score = classifier.evaluate(x=test_data, y=test_label.target)['accuracy']
print('Step: %d' % (i*100), 'Accuracy: {0:f}'.format(accuracy_score))
RF
猜你喜欢
转载自blog.csdn.net/qq_31813549/article/details/79498371
今日推荐
周排行