我正在使用Scikit学习在我的数据集上应用机器学习算法.有时我需要设置标签/类本身的标签/类的概率.我没有将垃圾邮件/非垃圾邮件作为电子邮件的标签,而是希望仅举例:给定电子邮件是垃圾邮件的概率为0.78.
出于这个目的,我使用带有RandomForestClassifier的predict_proba()如下:
clf = RandomForestClassifier(n_estimators=10, max_depth=None,
min_samples_split=1, random_state=0)
scores = cross_val_score(clf, X, y)
print(scores.mean())
classifier = clf.fit(X,y)
predictions = classifier.predict_proba(Xtest)
print(predictions)
Run Code Online (Sandbox Code Playgroud)
我得到了这些结果:
[ 0.4 0.6]
[ 0.1 0.9]
[ 0.2 0.8]
[ 0.7 0.3]
[ 0.3 0.7]
[ 0.3 0.7]
[ 0.7 0.3]
[ 0.4 0.6]
Run Code Online (Sandbox Code Playgroud)
第二列用于课程:垃圾邮件.但是,我对结果有两个主要问题,我对此并不自信.第一个问题是结果表示标签的概率而不受数据大小的影响?第二个问题是结果只显示一个数字,在0.701概率与0.708非常不同的某些情况下不是非常具体.有没有办法获得下一个5位数的例子?
非常感谢您花时间阅读这两个问题及其问题.
我正在尝试读取某些列中包含 utf-8 数据的 .csv 文件。读取的方法是使用pandas dataframe。代码如下:
df = pd.read_csv('Cancer_training.csv', encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)
然后我得到了以下不同文件的错误示例:
(1) 'utf-8' 编解码器无法解码位置 14 中的字节 0xcf:无效的连续字节
(2) 'utf-8' 编解码器无法解码位置 3 中的字节 0xc9:无效的连续字节
您能分享一下您对此类问题的想法和经验吗?谢谢。
[蟒蛇:3.4.1.final.0,熊猫:0.14.1]
原始数据样本,由于医疗数据的法律限制,我无法完整记录:
