小编Pab*_*uin的帖子

GridSearchCV评分参数:使用scoring='f1'或scoring=None(默认使用准确性)给出相同的结果

我使用的示例摘自《Mastering Machine Learning with scikit learn》一书。

它使用决策树来预测网页上的每个图像是广告还是文章内容。然后可以使用级联样式表隐藏被分类为广告的图像。该数据可从互联网广告数据集公开获取:http://archive.ics.uci.edu/ml/datasets/Internet+Advertisements,其中包含 3,279 张图像的数据。

以下是完成分类任务的完整代码:

import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.cross_validation import train_test_split
from sklearn.metrics import classification_report
from sklearn.pipeline import Pipeline
from sklearn.grid_search import GridSearchCV
import sys,random

def main(argv):
    df = pd.read_csv('ad-dataset/ad.data', header=None)
    explanatory_variable_columns = set(df.columns.values)
    response_variable_column = df[len(df.columns.values)-1]


    explanatory_variable_columns.remove(len(df.columns.values)-1)
    y = [1 if e == 'ad.' else 0 for e in response_variable_column]
    X = df[list(explanatory_variable_columns)]

    X.replace(to_replace=' *\?', value=-1, regex=True, inplace=True)

    X_train, X_test, y_train, y_test = train_test_split(X, y,random_state=100000)

    pipeline …
Run Code Online (Sandbox Code Playgroud)

statistics machine-learning decision-tree scikit-learn grid-search

7
推荐指数
1
解决办法
5万
查看次数

sklearn r2_score 和 python stats lineregress 函数给出了非常不同的 R^2 值。为什么?

我使用相同的数据但不同的 python 库来计算决定系数 R^2。使用 stats 库和 sklearn 会产生不同的结果。

这种行为背后的原因是什么?

# Using stats lineregress
slope, intercept, r_value, p_value, std_err = stats.linregress(x, y)
print r_value**2
Run Code Online (Sandbox Code Playgroud)

0.956590054918

# Using sklearn
from sklearn.metrics import r2_score
print r2_score(x, y)
Run Code Online (Sandbox Code Playgroud)

0.603933484937

python scipy linear-regression scikit-learn

5
推荐指数
1
解决办法
1058
查看次数

R lattice bwplot:根据因子水平填充具有特定颜色的箱形图

我以此数据帧为例:

>mydata <- rbind(data.frame(Col1 = rnorm(2*1000),Col2 =rep(c("A", "C"), each=1000),Col3=factor(rep(c("YY","NN"), 1000))),data.frame(Col1 = rnorm(1000),Col2 =rep(c("B")),Col3=factor(rep(c("YY","YN"), 500))))
Run Code Online (Sandbox Code Playgroud)

看起来像:

>head(mydata)
        Col1 Col2 Col3
1 -0.1213684    A   YY
2  0.1846364    A   NN
3  0.4028003    A   YY
4  1.4065677    A   NN
5 -0.8669333    A   YY
6  0.3295806    A   NN
Run Code Online (Sandbox Code Playgroud)

因子类型的Col3有3个级别:NN YY YN

我想用格子bwplot制作一个箱线图,并为每个级别分配一个特定的颜色:

# NN:
red=rgb(249/255, 21/255, 47/255)
# YN:
amber=rgb(255/255, 126/255, 0/255)
# YY:
green=rgb(39/255, 232/255, 51/255)
Run Code Online (Sandbox Code Playgroud)

使用bwplot函数:

pl<-bwplot(mydata$Col1~mydata$Col3 | mydata$Col2,data=mydata,
ylab=expression(italic(R)),panel=function(...)
{panel.bwplot(...,groups=mydata$Col3, fill=c(red,amber,green))})
Run Code Online (Sandbox Code Playgroud)

这导致如下图: 例

显然,颜色与我的数据框中的级别无关,因为YY框并不总是绿色.有没有办法分配YY:绿色,NN:红色和YN:琥珀色?

r lattice bwplot

4
推荐指数
1
解决办法
1448
查看次数