小编Fla*_*ake的帖子

os.path.dirname(__ file__)返回空

我想获取当前目录的路径,在该目录下执行.py文件.

例如,一个D:\test.py包含代码的简单文件:

import os

print os.getcwd()
print os.path.basename(__file__)
print os.path.abspath(__file__)
print os.path.dirname(__file__)
Run Code Online (Sandbox Code Playgroud)

输出结果是奇怪的:

D:\
test.py
D:\test.py
EMPTY
Run Code Online (Sandbox Code Playgroud)

我期待从相同的结果getcwd()path.dirname().

鉴于os.path.abspath = os.path.dirname + os.path.basename,为什么

os.path.dirname(__file__)
Run Code Online (Sandbox Code Playgroud)

返回空?

python

148
推荐指数
6
解决办法
18万
查看次数

如何将numpy.matrix或数组转换为scipy稀疏矩阵

对于SciPy稀疏矩阵,可以使用todense()toarray()转换为NumPy矩阵或数组.反向的功能是什么?

我搜索过,但不知道哪些关键字应该是正确的.

python numpy scipy sparse-matrix

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

使用Python刮取和解析Google搜索结果

我问了一个关于实现抓取和保存网页的一般想法的问题.原始问题的一部分是:如何从Internet抓取并保存大量"关于"页面.

通过一些进一步的研究,我可以选择继续进行刮擦和解析(在下面列出).

今天,我遇到了另一个关于如何从Google搜索结果中删除的Ruby讨论.这为我的问题提供了一个很好的选择,它将节省爬行部分的所有工作量.

问题是:在Python中,为了给定关键字刮取 Google搜索结果,在本例中为"关于",最后获取进一步解析的链接.有哪些方法和库的最佳选择?(以易于学习和易于实施的方式衡量).

ps在这个网站上,实现完全相同的东西,但关闭并要求钱以获得更多结果.如果没有开源可用,我宁愿自己做,也可以在同时学习更多Python.

哦,顺便说一句,从搜索结果中解析链接的建议会很好,如果有的话.仍然,易于学习和易于实施.刚开始学习Python.:P


最后更新,问题解决了.使用xgoogle的代码,请阅读以下部分中的说明,以使xgoogle正常运行.

import time, random
from xgoogle.search import GoogleSearch, SearchError

f = open('a.txt','wb')

for i in range(0,2):
    wt = random.uniform(2, 5)
    gs = GoogleSearch("about")
    gs.results_per_page = 10
    gs.page = i
    results = gs.get_results()
    #Try not to annnoy Google, with a random short wait
    time.sleep(wt)
    print 'This is the %dth iteration and waited %f seconds' % (i, wt)
    for res in results:
        f.write(res.url.encode("utf8"))
        f.write("\n")

print …
Run Code Online (Sandbox Code Playgroud)

python screen-scraping google-search-api web-scraping

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

使用lxml时有什么关于https的协议?

我使用lxml解析给定网址的html文件.

例如:

link = 'https://abc.com/def'
htmltree = lxml.html.parse(link)
Run Code Online (Sandbox Code Playgroud)

我的代码适用于大多数情况下的代码http://.但是,我发现每个https://url,lxml只会得到一个IOError.有谁知道原因?可能,如何纠正这个问题?

顺便说一句,我想坚持lxml而不是切换到BeautifulSoup,因为我已经有了一个快速完成的程序.

python parsing lxml

12
推荐指数
2
解决办法
2369
查看次数

面向Web /浏览器的开源机器学习项目?

在浏览器环境(主要是Javascript)或Web应用程序中应用机器学习技术,更具体地说是文本挖掘技术,并不是一个非常广泛讨论的主题.

我想构建自己的Web应用程序/浏览器扩展,可以完成某种级别的文本分类/可视化技术.我想知道,如果有任何开源项目在Web应用程序中应用文本挖掘技术,甚至更好的浏览器扩展?

到目前为止,这些是我随机搜索时收集的项目/讨论:

对于Web应用程序中的文本挖掘:

对于Javascript中的机器学习:

对于Web应用程序文本挖掘,我能想到的架构师:

  • Python库(例如NLTK或scikit-learn)+ Django
  • Java库(很多)+玩!骨架
  • 甚至基于R + rApache

nlp classification machine-learning nltk weka

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

使用matplotlib在x轴下添加脚注

我找不到在我的情节中添加脚注的正确功能.

我想要的脚注类似于图例中一个项目的解释,但是它太长了,无法放入图例框中.所以,我想在图例项中添加一个参考号,例如[1],并在图的底部添加脚注,在x轴下.

我应该使用哪种功能?谢谢!

python matplotlib

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

在scikit-learn中进行10*10倍交叉验证?

class sklearn.cross_validation.ShuffleSplit(
    n, 
    n_iterations=10, 
    test_fraction=0.10000000000000001, 
    indices=True, 
    random_state=None
)
Run Code Online (Sandbox Code Playgroud)

在scikit-learn中10*10倍CV的正确方法?(通过将random_state更改为10个不同的数字)

因为我没有发现任何random_state参数Stratified K-FoldK-Fold从单独的K-Fold,始终是相同的数据相同.

如果ShuffleSplit是正确的,一个问题是提到它

注意:与其他交叉验证策略相反,随机拆分并不能保证所有折叠都不同,尽管这对于相当大的数据集来说仍然很可能

这总是10*10倍CV的情况?

python machine-learning scikits scikit-learn

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

F1 小于 Scikit-learn 中的精度和召回率

我正在做多类分类,类别不平衡。

我注意到 f1 总是小于精度和召回率的直接调和平均值,在某些情况下,f1 甚至小于精度和召回率。

仅供参考,我要求metrics.precision_score(y,pred)精确等等。

我知道微观/宏观平均值的差异,并通过使用precision_recall_fscore_support().

不确定这是由于使用了宏观平均还是其他一些原因?


更新详细结果如下:

n_samples: 75, n_features: 250

MultinomialNB(alpha=0.01, fit_prior=True)

2倍简历:

第一次运行:

F1:        0.706029106029
Precision: 0.731531531532
Recall:    0.702702702703

         precision    recall  f1-score   support

      0       0.44      0.67      0.53         6
      1       0.80      0.50      0.62         8
      2       0.78      0.78      0.78        23

avg / total       0.73      0.70      0.71        37
Run Code Online (Sandbox Code Playgroud)

第二次运行:

F1:        0.787944219523
Precision: 0.841165413534
Recall:    0.815789473684

         precision    recall  f1-score   support

      0       1.00      0.29      0.44         7
      1       0.75      0.86      0.80         7
      2       0.82      0.96      0.88        24

avg …
Run Code Online (Sandbox Code Playgroud)

python machine-learning scikits scikit-learn

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

检查一个项是否等于Python中许多元素中的一个

我想检查列表中的项是否等于给定的n个元素集中的任何一个元素,如果是,则执行某些操作.

例如,最直观但当然繁琐和丑陋的方式是:

for item in List:
    if (item == element1) or (item == element2) or ... or (item == elementn):
        do something
Run Code Online (Sandbox Code Playgroud)

有哪些更好的检查方法?

python

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

检查单词列表中单词的子字符串匹配

我想检查单词列表中是否有单词.

word = "with"
word_list = ["without", "bla", "foo", "bar"]
Run Code Online (Sandbox Code Playgroud)

我试过了if word in set(list),但由于事实in是匹配字符串而不是项目,所以不会产生想要的结果.也就是说,"with"在任何一个词中都是匹配word_list但仍然if "with" in set(list)会说True.

执行此检查的简单方法是什么,而不是手动迭代list

python substring string-matching

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

使用lxml从HTML解析段落

我是新限于lxml并要提取<p>PARAGRAPHS</p><li>PARAGRAPHS</li>从给定的URL,并将其用于进一步的措施.

我从帖子中跟踪了一个例子,并尝试了下面的代码而没有运气:

html = lxml.html('http://www.google.com/intl/en/about/corporate/index.html')
url = 'http://www.google.com/intl/en/about/corporate/index.html'
print html.parse.xpath('//p/text()')
Run Code Online (Sandbox Code Playgroud)

我试着查看lxml.html中的示例,但没有找到任何使用url的示例.

你能给我一些关于我应该使用什么方法的提示吗?谢谢.

python lxml

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

Web挖掘或抓取或爬行?我应该使用什么工具/库?

我想抓取并将一些网页保存为HTML.比如说,爬进数百个热门网站,只需保存他们的前台和"关于"页面.

我已经查看了很多问题,但是没有从网页抓取或网页抓取问题中找到答案.

我应该使用什么库或工具来构建解决方案?或者甚至有一些现有的工具可以处理这个?

python java web-crawler web-scraping web-mining

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