s****i 发帖数: 197 | 1 请问python sklearn nearest neighbor user defined metric具体语句该怎样写的??
像是
nbrs = NearestNeighbors(n_neighbors=4,algorithm='auto',metric='pyfunc').fit(
B)
distances, indices = nbrs.kneighbors(B)
这样?但是这个会给我一个error
ValueError: Unknown Distance Metric: pyfunc
但是从sklearn的document上看这东西应该是支持自定义distance的阿??
我知道这个问题真的很2大家b4我把。。。 |
|
s****i 发帖数: 197 | 2 请问python sklearn nearest neighbor user defined metric具体语句该怎样写的??
像是
nbrs = NearestNeighbors(n_neighbors=4,algorithm='auto',metric='pyfunc').fit(
B)
distances, indices = nbrs.kneighbors(B)
这样?但是这个会给我一个error
ValueError: Unknown Distance Metric: pyfunc
但是从sklearn的document上看这东西应该是支持自定义distance的阿??
我知道这个问题真的很2大家b4我把。。。
===============================================
其实就一关键字。。。
nbrs = NearestNeighbors(n_neighbors=4, algorithm='ball_tree',metric='pyfunc'
,func=mydist).fit(A)
distances, indices = nbrs.k... 阅读全帖 |
|
|
l*******m 发帖数: 1096 | 4 I think your distance function was defined in a wrong way. Here is an
example
def test_pyfunc_metric():
def dist_func(x1, x2, p):
return np.sum((x1 - x2) ** p) ** (1. / p)
X = np.random.random((10, 3))
euclidean = DistanceMetric.get_metric("euclidean")
pyfunc = DistanceMetric.get_metric("pyfunc", func=dist_func, p=2)
D1 = euclidean.pairwise(X)
D2 = pyfunc.pairwise(X)
assert_array_almost_equal(D1, D2)
I didn't know it before, just checked source codes for you.
... 阅读全帖 |
|
w**2 发帖数: 147 | 5 最近用sklearn比较多,感觉sklearn好方便啊。R已经要被我抛弃了,速度让人抓狂。
sklearn的validation curve和learning curve太handy。 |
|
l****r 发帖数: 119 | 6 【 以下文字转载自 Programming 讨论区 】
发信人: lshtar (Ishtar), 信区: Programming
标 题: 离成功转码还有多远?
发信站: BBS 未名空间站 (Thu Oct 26 19:14:48 2017, 美东)
我是EE转码的,去年毕业,公司码农的工作没找到,在一个医院做了半年(号称研究机
器学习)的博后(工资低),说说感受:
能接触真实的医疗数据,数据库里有病人就诊记录包括吃的药和化验指标,但是数据比
较乱也很深奥,没有医疗行业知识,不懂药名和化验指标是什么意思,现学的话总觉得
差好远。所以,老板说让做什么就做什么。主要用python,pandas,sklearn,某些问
题用R做。研究的问题感觉都比较trivial。感觉都不是真正的机器学习,是简单的算数
分析。问题的定义也不是特别清楚。
还做了几个NLP的小project,论文的聚类,涉及到:
web scraping, 把论文从网上扒下来,用python beautiful soup, asyncio
feature 提取:用一个Medical Text Indexer (MTI)的... 阅读全帖 |
|
s****i 发帖数: 197 | 7 假设我用python写的code需要用到scipy numpy sklearn等这些package但是处理的数据
非常巨大 在一个single machine上run需要超过50h 请问一下大家有没有方法可以
parallelize work使得我的code可以在一个hadoop cluster上运行以减少运行时间??
谢谢~~~
================================
在datascience板上问到据说用pig/hive写最简单暴力有效 但是由于程序要调用
sklearn/scipy/numpy这些package的函数 这个...在下pig/hive学艺不精 不知该如何
才能在pig/hive中调用那些package 再或者就是用到hadoop streamhttp://hadoop.apache.org/docs/stable1/streaming.html 在下非cs科班出身对此不太了解 可以麻烦推荐一本关于mapreduce设计的书或者教程吗??或
者cluster stream my code的方法详细说一下吗??非常感谢~~~ |
|
x******a 发帖数: 6336 | 8 【 以下文字转载自 Statistics 讨论区 】
发信人: xiaojiya (xiaojiya), 信区: Statistics
标 题: Re: 请教一个pca的问题
发信站: BBS 未名空间站 (Fri Jul 25 13:29:01 2014, 美东)
thanks, that is what I think. however, I tried the python package sklearn
and statsmodels.sandbox.tools.pca, I got the following result that I don't
understand.
---sklearn-----
pca3.explained_variance_
Out[1001]:
array([ 1.78290607, 1.08429872, 0.42104483, 0.31175038])
---------------
The eigenvalues by statsmodels.sandbox.tools.pca are
array([ 1.98100675, 1.... 阅读全帖 |
|
|
w***g 发帖数: 5958 | 9 我没说清。你看Dockerfile里这一行:
RUN pip --no-cache-dir install \
ipykernel \
jupyter \
matplotlib \
numpy \
scipy \
sklearn \
pandas \
Pillow \
&& \
python -m ipykernel.kernelspec
所有用pip装的包都不带版本号。比如sklearn以后升级了换了API,
那么这个Dockerfile就废了。
我觉得版本控制解决不了这个问题。请帮我看一眼。 |
|
l****r 发帖数: 119 | 10 我是EE转码的,去年毕业,公司码农的工作没找到,在一个医院做了半年(号称研究机
器学习)的博后(工资低),说说感受:
能接触真实的医疗数据,数据库里有病人就诊记录包括吃的药和化验指标,但是数据比
较乱也很深奥,没有医疗行业知识,不懂药名和化验指标是什么意思,现学的话总觉得
差好远。所以,老板说让做什么就做什么。主要用python,pandas,sklearn,某些问
题用R做。研究的问题感觉都比较trivial。感觉都不是真正的机器学习,是简单的算数
分析。问题的定义也不是特别清楚。
还做了几个NLP的小project,论文的聚类,涉及到:
web scraping, 把论文从网上扒下来,用python beautiful soup, asyncio
feature 提取:用一个Medical Text Indexer (MTI)的网络API,把医学论文的关键字
找出来
machine learning算法: 用了LDA和k-means,都是调用sklearn库
pandas用的还挺熟的,各种groupby,apply。但去看job description,好多都要求会
tensorf... 阅读全帖 |
|
x******a 发帖数: 6336 | 11 thanks, that is what I think. however, I tried the python package sklearn
and statsmodels.sandbox.tools.pca, I got the following result that I don't
understand.
---sklearn-----
pca3.explained_variance_
Out[1001]:
array([ 1.78290607, 1.08429872, 0.42104483, 0.31175038])
---------------
The eigenvalues by statsmodels.sandbox.tools.pca are
array([ 1.98100675, 1.20477635, 0.46782759, 0.34638931])
----------------
the data is:
a b c d
0 0.992009 1.772628e+00 9.369741e-0... 阅读全帖 |
|
s****i 发帖数: 197 | 12 假设我用python写的code需要用到scipy numpy sklearn等这些package但是处理的数据
非常巨大 在一个single machine上run需要超过50h 请问一下大家有没有方法可以
parallelize work使得我的code可以在一个hadoop cluster上运行以减少运行时间??
谢谢~~~
====================================
具体问题是要求一个巨大数据集的k-nearest neighbor问题 就是given point i, find
its kNN within data set G (over 20 million rows 一般这么大的数据集不可能直
接run的 都是split成<=1m rows那种小的再算的 但是貌似老板不喜欢这么做), python
sklearn package有现成的class可以用 貌似使用的是ball tree/kd tree 我不知道这
个东西可不可以再hadoop上stream 如果实在不行就只能改用全部是pig编brutal force
了 但是以后可能要imp... 阅读全帖 |
|
l*******m 发帖数: 1096 | 13 没戏。sklearn knn 是要把data装进ram里的。没法用 streaming. 话说sklearn knn
都是用cython写的,比java还快。而且复杂度是nlogn. brute force 是n^2, 肯定没戏
数据多少维?如果大, 考虑上locality sensitive hashing. 这个容易mapreduce
find
python
force |
|
D*******o 发帖数: 3229 | 14 Python. 发现后面跑题了,所以不跟回帖了。小学生学Python,顶多算算四则运算,再
画个简单的图啥的,所以会以为容易。真要有效利用Python的功能,还是要学过一些线
性代数,不然遇到超过三维的矩阵,难免脑子犯迷糊。而且Python有一些库,比如
scipy,pandas, sklearn等,还是需要一些统计,数学方面的专业知识。
:你说的是R?
:【 在 DrBuffalo (纯情阳光思想健康作风正派猥琐男) 的大作中提到: 】 |
|
a****r 发帖数: 12375 | 15 你以为学python是用来做数学计算的?
Python. 发现后面跑题了,所以不跟回帖了。小学生学Python,顶多算算四则运算,再
画个简单的图啥的,所以会以为容易。真要有效利用Python的功能,还是要学过一些线
性代数,不然遇到超过三维的矩阵,难免脑子犯迷糊。而且Python有一些库,比如
scipy,pandas, sklearn等,还是需要一些统计,数学方面的专业知识。
:你说的是R?
:【 在 DrBuffalo (纯情阳光思想健康作风正派猥琐男) 的大作中提到: 】 |
|
|
b*******8 发帖数: 37364 | 17 用sklearn,tensorflow建个模型,就能说自己是搞AI的?荒唐!
上网打游戏的,就能说自己是搞网络的? |
|
D***r 发帖数: 7511 | 18 就是分工不同。
机器学习不会Python基本不行了。以前的sklearn,现在的tensorflow, Keras,
pytorch都是Python界面
用c++根本没戏
Python没法直接做底层的东西,普通人也用不着 |
|
s***h 发帖数: 487 | 19 这个主要是考虑 data scientist 不是马工,很多 data scientist 不会 C佳佳,或者
写得很差。
外加 Tensor Flow 本身也不需要太多编程能力。主要是建模和优质训练数据。
: 就是分工不同。
: 机器学习不会Python基本不行了。以前的sklearn,现在的tensorflow, Keras,
: pytorch都是Python界面
: 用c 根本没戏
: Python没法直接做底层的东西,普通人也用不着
|
|
s***h 发帖数: 487 | 20 另一个原因,我觉得是 Numpy 和 Scipy 的流行。但根子上却是 C Python 的标准接口。
当然话说回来,用 Numpy 的都是马工系的,数学系都是直接用 R 的,连 Python 编程
都免了。
: 就是分工不同。
: 机器学习不会Python基本不行了。以前的sklearn,现在的tensorflow, Keras,
: pytorch都是Python界面
: 用c 根本没戏
: Python没法直接做底层的东西,普通人也用不着
|
|
m******n 发帖数: 453 | 21 就是这么难
而且,onsite之前,已经给了我一个data set
限时让我分析数据
我想,这已经足够证明我python,pandas, sklearn用得很熟了吧
结果onsite时候直接白板leetcode
我以为DS不用刷题呢 |
|
m******n 发帖数: 453 | 22 It's much more important to learn the statistical business models, which are
company IPs, rather than just importing libraries from Sklearn and call
yourself data scientists. |
|
A*******e 发帖数: 284 | 23 感觉到自己的行业将来要大量用到很多数据处理的技巧,又对machine learning有点兴
趣,就想好好学一下。在coursera和udacity上转。看到neural network的BP推导的时
候,觉得好复杂,好多公式,上标下标,又重新温过一遍微积分才稍微明白。求指点学
习技巧和好的学习资源,特别是有实例演示的资源最好了。
会一些python,慢慢在捣鼓sklearn, 再准备捣鼓tensorflow。 |
|
A*******e 发帖数: 284 | 24 感觉到自己的行业将来要大量用到很多数据处理的技巧,又对machine learning有点兴
趣,就想好好学一下。在coursera和udacity上转。看到neural network的BP推导的时
候,觉得好复杂,好多公式,上标下标,又重新温过一遍微积分才稍微明白。求指点学
习技巧和好的学习资源,特别是有实例演示的资源最好了。
会一些python,慢慢在捣鼓sklearn, 再准备捣鼓tensorflow。 |
|
w*x 发帖数: 518 | 25 去www.scipy.org上看一眼吧……然后去下载一个Anaconda...
你需要的包在安装Anaconda的时候都有了。
包括:
numpy - 基本数据类型支持
scipy - 基本科学运算支持
statsmodels - 统计
sklearn - 专用的ML包
pandas - 清理数据用的
matplotlib - 画图
但是你不用管这么多啦,下一个Anaconda全都有了……
是不是Anaconda都无所谓,你用什么WinPython, Enthought, Algorete Loopy都一样的
……
事? |
|
B********e 发帖数: 1062 | 26 帮一个朋友设计一个用machine learning处理数据的平台
1)大概200+GB的数据
2)1000左右的feature set
3) LINUX平台
4)计算部分想上GPU, 计算量有点大, 想省钱避免使用cluster
5)6个月的时间开发
我准备用python/mongodb/sklearn/pycuda的组合
各位大牛,有没有使用的语言,数据库,工具的建议? |
|
p*********k 发帖数: 13 | 27 同意这个回帖。
我写过C++,C,Java, C#,感觉java 和C# 的开发效率确实高。c/c++的计算效率高, 内
存小, 速度快。但是用来用去还是python是真爱。没别的,科学计算无人能敌, 兼顾开
发效率和计算效率。我做machine learning 的, computer vision 和nlp 的都要有。
先说library, 很多的vision library 是Matlab 的,改成java 或是C# 太累了。C++
有很好的库,但是要花不少时间调试。要是在device上实现还有需要,在cloud上就
overkill了,毕竟还有io瓶颈。python 就方便太多了,基本直接翻译matlab成numpy
scipy. NLP的库,JAVA 和SCALA是重镇。Python里的有 nltk,相比而言比较慢一些。但
是坦率的说, nltk里的一些实现还是比较简单没有使用numpy scipy. 随着现在的deep
learning 的算法进展, 很多将来的 nlp库会更适合在python 环境下运行。再说
machine learning, 就不说sklea... 阅读全帖 |
|
B**********r 发帖数: 812 | 28 为啥python有些东西不好安装?
比如sklearn主页上就说不要试图直接安装,要用anaconda这类第三方安装 |
|
g****u 发帖数: 252 | 29 pip install sklearn,无痛安装。
尽管不少包其实依赖一些C/C++的库,pip install很少碰到搞不定的。最多用yum/apt
安装
些开发包,没碰到过要改代码的。相比之下,C/C++各种乱七八糟的build system都有,
搞起来难得多。 |
|
l*******m 发帖数: 1096 | 30 那玩意不用学,api和pandas, sklearn差不多。不过有几个modules的性能还是不错的 |
|
n******7 发帖数: 12463 | 31 明白了
那跟我用java的感受差不多,虽然c++对ml的支持应该好不少
sklearn去年用过一个月,主要用的Naive Bayes,功能支持上还是有些不完善的地方
不过总体确实不错了
考虑的python的 user base,应该会越来越好
要是python能强制type,debug能更给力些就完美了
跑半天报个错退出太痛苦了 |
|
n******7 发帖数: 12463 | 32 明白了
那跟我用java的感受差不多,虽然c++对ml的支持应该好不少
sklearn去年用过一个月,主要用的Naive Bayes,功能支持上还是有些不完善的地方
不过总体确实不错了
考虑的python的 user base,应该会越来越好
要是python能强制type,debug能更给力些就完美了
跑半天报个错退出太痛苦了 |
|
k*****u 发帖数: 1688 | 33 python里面:结巴分词,算词频,然后tf-idf,然后算相对距离,比如cos或者欧式距
离,然后比较
sklearn直接copy paste code应该就可以了啊 |
|
x***u 发帖数: 297 | 34 正好相反,十九世纪以前只有贵族和有钱人才能玩得起‘科学’。卡文迪许,牛顿,法
拉第...
后来基础教育普及,我们这些泥腿子才有机会投身科学,实现了在小学作文里的理想。
现在把门槛更加降低了,democratized, 管他是民科还是有头衔的。
不过上面说的对,Python的指导思想就是要让任何人都能上手编程。Python本身是用 C
写的,大量的科学计算/AI的库都是用 C 写的。
ECMA 6 借鉴了一些python的东西,也是在往易用方面努力。上次听一小伙子的
presentation,结束的时侯提到prefers Python 3 > ECMA 6 > python 2 . 估计 Node
有足够多的库的话会把python从scientific computing中逐渐挤掉,毕竟js的
visualization强大。
顺便问一句,JS有没有像 R 的 DataFrame, 或者 Python 的 Pandas 和 skLearn 的库? |
|
w***g 发帖数: 5958 | 35 用ML和自己搞新算法这两者完全不同. 搞新算法太难了. 你别看每年那么多paper,
什么这个machine那个machine数学公式一大堆, 大部分其实都是incremental提高
甚至没有提高, 学生为了毕业老版为了funding不得不出paper, 其实太阳底下哪有
那么多新鲜事好写的? 如果你觉得sklearn玩腻了, 下一步是自己去identify一个
牛x, 但又没有好用的开源系统的算法去实现, 并且试着从常识的角度对这个算法
进行改进. 不要从数学角度去理解算法, 而是从编程的角度去理解算法. 然后测试,
fix各种corner case. 这样你在github上就能有自己的一席之地. 或者可以去看
那个啥啥wabbit和xgboost的实现, 自己改改跑跑. 要不了多就你就可以给他们提交
pull request了.
对于水平局限于到这个版来问问题的同学, 强烈不建议去搞数学推公式.
model |
|
k*****u 发帖数: 1688 | 36 本身应该没有超参数 就是MLE或者Iteratively reweighted least squares,当然迭
代的时候有初始值和收敛极限
sklearn好像用的是台湾那个大哥的liblinear,所以有超参数 |
|
l*******m 发帖数: 1096 | 37 DL算法有两点特点,第一是minibatch parameter update, 第二是autodiff, backprop
如果用kmeans, 是有一种minibatch算法的,sklearn就有实现。但是kmeans的目标函数
是不可到的。如果用soft decision的kmeans, 则是可导的。不过这就是mixed
Gaussian,其本质和前一段大火的vae是一样。就是用minibatched backprop做
variational inference |
|
l*******m 发帖数: 1096 | 38 这个不能苟同, keras没啥技术含量,只是让用sklearn的用户上手快些。而且如果想做
些新的东西,就不方便了。keras的code质量也不是太好,尤其没进tf前 |
|
n******7 发帖数: 12463 | 39 不错
我琢磨逐渐用groovy替代python试试
如果不是要用numpy sklearn这类东西的话
feature。 |
|
w***g 发帖数: 5958 | 40 是。但是对一般人来说HDFS作用也越来越小了。
讲真如果真要学东西还是sklearn和python那套ecosystem比较好。 |
|
k*****u 发帖数: 1688 | 41 我猜楼主自己也搞不清他的big data是什么
如果是infrastructure,Hadoop with Python
如果是modeling,大部分时候sampling就可以了,sklearn可以应付大部分的事
还有popular的,tf/xgboost/mxnet...
看你要干什么 |
|
发帖数: 1 | 42 如果有编程经验,python随便看看就行了,两周应该能掌握。
做ML,是要熟悉python里的那些包,象用pandas做feature engineering,用sklearn做
model,用matplotlab画图。 |
|
M********0 发帖数: 1230 | 43 https://www.mitbbs.com/article_t/Programming/31517939.html
和scikit-learn一样就是个ML库 主要是集成的算法都支持distributed
我个人觉得data volume不大 不需要distributed的话 没必要一定上h2o
就我所知 有些公司的production是上h2o的 而不是SparkML 主要是h2o的效率高
其实sklearn就挺好 开发和改进算法很方便 production上prediction execution还是
用xgboost/lightgbm 所以效率肯定不差 |
|
r****t 发帖数: 10904 | 44 只用sklearn训练? xgboost只用来做prediction? |
|
m****i 发帖数: 577 | 45 文科PHD.选了一门PYTHON课。。。从来没有code过。
第一次作业,真的一头雾水。
从"C“步就不会了。。。
有人帮忙指点怎么写吗?
有视频讲类似的问题吗?
包子感谢。
Coding problem: Write a self-contained & fully functional Python script
that:
a. Loads the necessary libraries to run (e.g., scikit-learn)
b. Loads the dataset “digits” (see below for description) from the
scikit-learn example datasets contained in sklearn.datasets
c. Instantiates a DecisionTreeClassifier
d. Splits the dataset in training and testing sets using KFold Cross
Validation (use K=10)... 阅读全帖 |
|
|
z**********e 发帖数: 91 | 47 R不也得library一堆package。。python基本上numpy scipy pandans就够了,machine
learning的基本model再用个sklearn。。 |
|
k*******d 发帖数: 1340 | 48 R的统计算法多,适合做研究
Python适合做production,如果小心使用速度上和内存占用上可以比R块一些。提高数
值计算速度有各种办法,比如Cython, Numba, Numexpr, numpy/scipy/sklearn/
statmodels则是标准装备 |
|