我想对图像中显示的数据进行分类:
为此,我尝试使用SVM:
X = df[['score','word_lenght']].values
Y = df['is_correct'].values
clf = svm.SVC(kernel='linear', C = 1.0)
clf.fit(X,Y)
clf.coef_
clf = svm.SVC(kernel='linear')
clf.fit(X, Y)
这是我得到的结果:
但我想要一个更灵活的模型,如红色模型,或者如果可能的话,像蓝线一样 . 我可以使用哪些参数来接近所需的响应?
另外,我不太清楚如何创建垂直(yy)轴的比例,它太大了 .
w = clf.coef_[0]
a = -w[0] / w[1]
xx = np.linspace(0.85, 1)
yy = (a * xx - (clf.intercept_[0]) / w[1])*1
1 回答
首先,如果数据具有合理的大小,您可以尝试执行GridSearch,因为显然您正在处理文本,请考虑以下示例::
请注意,我使用tf-idf向量化了我的数据(文本) . scikit-learn项目也实现RandomizedSearchCV . 最后,还有其他有趣的工具,如Tpot项目,使用遗传编程,希望这有帮助!