小编San*_*Dey的帖子

如何在R编程中指定决策树中的拆分?

我想在这里应用决策树.决策树负责在每个节点本身进行拆分.但在第一个节点我想根据"年龄"分割我的树.我该怎么强迫呢?

library(party)    
fit2 <- ctree(Churn ~ Gender + Age + LastTransaction + Payment.Method + spend + marStat, data = tsdata)
Run Code Online (Sandbox Code Playgroud)

tree split r machine-learning party

3
推荐指数
2
解决办法
7403
查看次数

绘制重要性变量xgboost Python

当我绘制功能重要性图时,会出现混乱的图。我有7000多个变量。我了解内置功能只会选择最重要的功能,尽管最终图形不可读。这是完整的代码:

import numpy as np
import pandas as pd
df = pd.read_csv('ricerice.csv')
array=df.values
X = array[:,0:7803]
Y = array[:,7804]
from xgboost import XGBClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
seed=0
test_size=0.30
X_train, X_test, y_train, y_test = train_test_split(X,Y,test_size=test_size, random_state=seed)
from xgboost import XGBClassifier
model = XGBClassifier()
model.fit(X, Y)
import matplotlib.pyplot as plt
from matplotlib import pyplot
from xgboost import plot_importance
fig1=plt.gcf()
plot_importance(model)
plt.draw()
fig1.savefig('xgboost.png', figsize=(50, 40), dpi=1000)
Run Code Online (Sandbox Code Playgroud)

尽管该图的尺寸很大,但该图难以辨认。 xgboost特征重要性图

python machine-learning matplotlib feature-selection xgboost

3
推荐指数
1
解决办法
3320
查看次数

Sklearn MLP 分类器超参数优化(RandomizedSearchCV)

我设置了以下参数:

parameter_space = {
    'hidden_layer_sizes': [(sp_randint(100,600),sp_randint(100,600),), (sp_randint(100,600),)],
    'activation': ['tanh', 'relu', 'logistic'],
    'solver': ['sgd', 'adam', 'lbfgs'],
    'alpha': stats.uniform(0.0001, 0.9),
    'learning_rate': ['constant','adaptive']}
Run Code Online (Sandbox Code Playgroud)

除了 hidden_​​layer_sizes 之外的所有参数都按预期工作。但是,拟合这个 RandomizedSearchCV 模型并显示它的详细文本表明它将 hidden_​​layer_sizes 视为:

hidden_layer_sizes=(<scipy.stats._distn_infrastructure.rv_frozen object 然后继续抛出: TypeError: '<=' not supported between instances of 'rv_frozen' and 'int'

这个结果是获得的,而不是预期的 1 层或 2 层 MLP,隐藏层神经元在 100 到 600 之间。任何想法/其他相关提示?

python machine-learning scikit-learn hyperparameters

3
推荐指数
1
解决办法
5839
查看次数

opencv - 在图像中绘制轮廓

我正在尝试在图像周围绘制轮廓。我可以看到找到了轮廓,但我无法绘制轮廓。轮廓的颜色似乎是两种(黑色和白色)颜色之一。

import cv2
import numpy as np
import matplotlib.pyplot as plt
from skimage import io
%matplotlib inline
im = io.imread('http://matlabtricks.com/images/post-35/man.png')
plt.imshow(im)
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
plt.figure()
plt.imshow(imgray)

#Contoured image
ret,thresh = cv2.threshold(imgray, 120,255,cv2.THRESH_BINARY)
image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
c_img = cv2.drawContours(image, contours, -1, (0, 255, 0), 1)
plt.figure()
plt.imshow(c_img)
Run Code Online (Sandbox Code Playgroud)

python opencv image-processing computer-vision opencv-contour

3
推荐指数
2
解决办法
1万
查看次数

R中逻辑回归的交叉验证函数

我来自一个主要是python + scikit学习背景,我想知道如何获得R中逻辑回归模型的交叉验证准确度?我一直在寻找和惊讶,没有简单的方法.我正在寻找相应的:

import pandas as pd
from sklearn.cross_validation import cross_val_score
from sklearn.linear_model import LogisticRegression

## Assume pandas dataframe of dataset and target exist.

scores = cross_val_score(LogisticRegression(),dataset,target,cv=10)
print(scores)
Run Code Online (Sandbox Code Playgroud)

对于R:我有:

model = glm(df$Y~df$X,family=binomial')
summary(model) 
Run Code Online (Sandbox Code Playgroud)

而现在我被卡住了.原因是,我的R模型的偏差是1900,这意味着它不合适,但是python给了我85%10倍交叉验证的准确性......这意味着它很好.看起来有点奇怪......所以我想在R中运行cross val以查看它是否有相同的结果.

任何帮助表示赞赏!

r machine-learning logistic-regression

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

R 相当于 Python 的 np.dot for 3D array

我正在将一些涉及 3D 矩阵的代码从 Python 翻译成 R。这很棘手,因为我对 Python 或矩阵代数知之甚少。总之在Python代码中,我有一个矩阵dot.product如下:np.dot(A, B)。矩阵 A 的维数为 (10, 4),矩阵 B 的维数为 (2, 4, 2)。(这些维度可能会有所不同,但始终会在第二个维度上匹配)。所以 np.dot 从文档中看没有问题:

“对于二维数组,它相当于矩阵乘法,对于一维数组,相当于向量的内积(没有复共轭)。对于 N 维,它是 a 的最后一个轴和第二个到- b的最后一个:”

因此它沿 A=4 的第二个轴和 B=4 的中轴相乘,并输出一个 (10,2,2) 矩阵。=> 没问题。但是在 R 中,%*%没有这种行为并抛出“不符合数组”的错误。

r 中的玩具示例:

A <- matrix( rnorm(10*4), nrow=10, ncol=4)
B <- array( rnorm(2*4*2), c(2,4,2))
A %*% B
Error in A %*% B : non-conformable arrays
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题以实现与 相同的计算np.dot

python arrays numpy r matrix

2
推荐指数
1
解决办法
1182
查看次数

Python中图像锐化的错误

from PIL import Image
fp="C:\\lena.jpg"
img=Image.open(fp)
w,h=img.size
pixels=img.load()

imgsharp=Image.new(img.mode,img.size,color=0)
sharp=[0,-1,0,-1,8,-1,0,-1,0]

for i in range(w):
    for j in range(h):

        for k in range(3):
                for m in range(3):
                    l=pixels[i-k+1,j-m+1]*sharp[i]

        if l>255:
            l=255
        elif l<0:
            l=0
        imgsharp.putpixel((i,j),l)

imgsharp.show()
Run Code Online (Sandbox Code Playgroud)

我想将3x3蒙版大小的高通(锐化)滤镜应用于灰度图像。但我收到一个错误:

Traceback (most recent call last):
File "C:\sharp.py", line 16, in <module>
l=pixels[i-k+1,j-m+1]*sharp[i]
IndexError: image index out of range
Run Code Online (Sandbox Code Playgroud)

如何解决我的错误以及如何使图像锐化在此代码中起作用?

python image image-processing filter python-imaging-library

2
推荐指数
1
解决办法
4320
查看次数

如何使用 Python OpenCV 创建这种桶形/径向畸变?

我正在使用 python / opencv 代码制作自定义虚拟现实耳机。我需要能够扭曲图像以创建“桶形扭曲”/“径向扭曲”效果。

一些图片来解释:

在此输入图像描述

在此输入图像描述

在此输入图像描述

我已经拥有source_image想要使用并向用户展示的内容,并且已经将它们并排放置。现在我只需要类似的东西out = cv2.createBarrelDistortion(source_image, params)。(我不介意能够调整一些参数,如畸变中心、畸变幅度等,这样我就可以让它看起来适合我得到的任何定制镜头。)

非常感谢任何帮助!

python opencv image-processing computer-vision python-imaging-library

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

使用 Python Pillow 的镜头模糊效果

在 Pillow 中,我们可以使用滤镜模糊图像:

模糊图像 = 原始图像.filter(ImageFilter.BLUR)

但这并不是真正的镜头效果。是否可以使用一些自定义过滤器?有什么例子吗?

(第 2 号是我需要的。第 3 号是枕头式模糊滤镜。)

在此输入图像描述

python algorithm image-processing python-imaging-library imagefilter

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

找到弯曲的肘部/膝盖

我有这些数据:

x <- c(6.626,6.6234,6.6206,6.6008,6.5568,6.4953,6.4441,6.2186,6.0942,5.8833,5.702,5.4361,5.0501,4.744,4.1598,3.9318,3.4479,3.3462,3.108,2.8468,2.3365,2.1574,1.899,1.5644,1.3072,1.1579,0.95783,0.82376,0.67734,0.34578,0.27116,0.058285)

y <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32)
Run Code Online (Sandbox Code Playgroud)

看起来像:

plot(x,y)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想找到一种方法让肘/膝盖指向周围 x=6.5

我认为拟合loess曲线然后采用二阶导数可能有效但是:

plot(x,predict(loess(y ~ x)),type="l")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

看起来不会做这个工作.

任何的想法?

r inflection data-mining loess

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