gpt4 book ai didi

Python Traceback-gradientboosting.py 我如何修复这种类型的错误

转载 作者:行者123 更新时间:2023-11-30 22:05:52 29 4
gpt4 key购买 nike

我正在尝试使用 GradientBoostingClassifier 检测 SQL 注入(inject)

X = dataframe.as_matrix(['token_length','entropy','sqli_g_means','plain_g_means'])

# encode categorical feature
from sklearn.preprocessing import LabelEncoder
labelencoder_y = LabelEncoder()
y = labelencoder_y.fit_transform(dataframe['type'].tolist())

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state = 0)

from sklearn.ensemble import GradientBoostingClassifier
clf = GradientBoostingClassifier(n_estimators=100, learning_rate=1.0, max_depth=7, random_state=0).fit(X_train, y_train)
print "Gradient Boosting Tree Acurracy: %f" % clf.score(X_test, y_test)

训练模型时发生错误。

Traceback (most recent call last):
File "ml_sql_injection.py", line 136, in <module>
clf = GradientBoostingClassifier(n_estimators=100, learning_rate=1.0, max_depth=7, random_state=0).fit(X_train, y_train)
File "/usr/local/lib/python2.7/dist-packages/sklearn/ensemble/gradient_boosting.py", line 1404, in fit
y = self._validate_y(y, sample_weight)
File "/usr/local/lib/python2.7/dist-packages/sklearn/ensemble/gradient_boosting.py", line 1968, in _validate_y
% n_trim_classes)
ValueError: y contains 1 class after sample_weight trimmed classes with zero weights, while a minimum of 2 classes are required.

如何修复此类错误?

最佳答案

虽然我觉得已经太晚了,但我还是愿意为其他人回答这个问题。

此错误是指 y_train 仅包含 1 个值,即只有 1 个类别可用于分类,但您至少需要 2 个类别。当您将数据集拆分为训练和测试时,y_train 只剩下类(class)了。

关于Python Traceback-gradientboosting.py 我如何修复这种类型的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52877658/

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