机器学习中如何处理重叠数据

问题描述 投票:0回答:1

我正在创建一个机器学习模型来确定用户是否是机器人,我使用seaborn绘制了pairplot,并意识到大部分数据是重叠的。下面是我为标准化、拆分和部署模型编写的代码。该图展示了模型在 40000 多个样本下的表现。正如你所看到的,模型正在进行猜测工作,我正在尝试找出原因。

5 Samples from the dataset

    X = new_df[['Retweet Count', 'Mention Count', 'Follower Count', 'Tweet', 'Hashtags', 'Verified', 'Created At']]
y = new_df[['Bot Label']].values

y = y.ravel() # Ensuring that y is 1D array instead of a 2D array

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 42)

Scaler = StandardScaler()
X_train_scaled = Scaler.fit_transform(X_train)
X_test_scaled = Scaler.transform(X_test)

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import make_classification
from sklearn.metrics import confusion_matrix


rfc = RandomForestClassifier(n_estimators = 1000)
rfc.fit(X_train_scaled, y_train)
y_pred = rfc.predict(X_test_scaled)
print(classification_report(y_test, y_pred))
print(confusion_matrix(y_test, y_pred))

This is how the model is performing with just over 40000 samples.

python machine-learning classification random-forest
1个回答
0
投票

考虑哪些功能可能有用。

Location
Created At
作为数字表示什么?另外,
Hashtags
指标是主题标签的计数,还是只是特定主题标签的指标?

如果这些是特定位置、创建时间或特定主题标签的指示符,那么模型可能无法区分这些,因为它不是相关的表示。根据各列的含义,同样的情况也可能适用于

Username
Tweet
。按照以下方式思考:较高的值是否意味着什么?对于计数来说是这样,对于用户名指示符来说则不然。

通过所有计数,您可以检查分布,因为计数往往会出现偏差。在这种情况下,请考虑对数变换等变换。

© www.soinside.com 2019 - 2024. All rights reserved.