gpt4 book ai didi

machine-learning - 随机森林分类器

转载 作者:行者123 更新时间:2023-11-30 08:40:57 25 4
gpt4 key购买 nike

我正在尝试构建一个用于二项式分类的随机森林分类器。有人可以解释为什么每次运行这个程序时我的准确度分数都会不同吗?分数在 68% - 74% 之间变化。另外,我尝试调整参数,但无法将准确度提高到 74 以上。对此的任何建议也将不胜感激。我尝试使用 GridSearchCV 但只提高了 3 个百分点。

#import libraries
import numpy as np
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
from sklearn import preprocessing

#read data into pandas dataframe
df = pd.read_csv("data.csv")

#handle missing values
df = df.dropna(axis = 0, how = 'any')

#handle string-type data
le = preprocessing.LabelEncoder()
le.fit(['Male','Female'])
df.loc[:,'Sex'] = le.transform(df['Sex'])

#split into train and test data
df['is_train'] = np.random.uniform(0, 1, len(df)) <= 0.8
train, test = df[df['is_train'] == True], df[df['is_train'] == False]

#make an array of columns
features = df.columns[:10]

#build the classifier
clf = RandomForestClassifier()

#train the classifier
y = train['Selector']
clf.fit(train[features], train['Selector'])

#test the classifier
clf.predict(test[features])

#calculate accuracy
accuracy_score(test['Selector'], clf.predict(test[features]))
accuracy_score(train['Selector'], clf.predict(train[features]))

最佳答案

每次运行程序时,您的准确性都会发生变化,因为创建的模型不同。该模型是不同的,因为在创建模型时您没有修复随机状态。查看 scikit-learn documentation 中的 random_state 参数.

对于第二个问题,您可以尝试很多方法来提高模型的准确性。按重要性排序:

  • 获取更多训练数据
  • 改进您的训练数据(即摆脱低质量的特征或样本、创建新特征......)
  • 调整学习算法的参数(RandomForest 有一些可以使用的参数)
  • 尝试另一种学习模式。
  • 尝试组合不同的模型

关于machine-learning - 随机森林分类器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46137945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com