np.random.seed在Scikit-Learn教程的下面代码中做了什么?我对NumPy的随机状态生成器的东西不太熟悉,所以我真的很感谢外行人的术语解释.
np.random.seed(0)
indices = np.random.permutation(len(iris_X))
Run Code Online (Sandbox Code Playgroud) 假设我有一些如下所示的数据.
Lucy = 1
Bob = 5
Jim = 40
Susan = 6
Lucy = 2
Bob = 30
Harold = 6
Run Code Online (Sandbox Code Playgroud)
我想结合1)删除重复键,2)添加这些重复键的值.这意味着我得到了键/值:
Lucy = 3
Bob = 35
Jim = 40
Susan = 6
Harold = 6
Run Code Online (Sandbox Code Playgroud)
使用(来自集合)计数器或默认字典会更好吗?
我需要格式化一个大的JSON文件以提高可读性,但是我发现的每个资源(主要是在线资源)都无法处理1-2 MB以上的数据。我需要格式化大约30 MB。有没有办法做到这一点,或者有什么办法编写一些东西来做到这一点?
我是scrakit-learn的新手,目前正在学习NaïveBayes(Multinomial).现在,我正在研究sklearn.feature_extraction.text中的文本向量化,出于某种原因,当我向某些文本进行矢量化时,单词"I"不会出现在输出的数组中.
码:
x_train = ['I am a Nigerian hacker', 'I like puppies']
# convert x_train to vectorized text
vectorizer_train = CountVectorizer(min_df=0)
vectorizer_train.fit(x_train)
x_train_array = vectorizer_train.transform(x_train).toarray()
# print vectorized text, feature names
print x_train_array
print vectorizer_train.get_feature_names()
Run Code Online (Sandbox Code Playgroud)
输出:
1 1 0 1 0
0 0 1 0 1
[u'am', u'hacker', u'like', u'nigerian', u'puppies']
Run Code Online (Sandbox Code Playgroud)
为什么"我"似乎没有出现在功能名称中?当我将其更改为"Ia"或类似的其他内容时,它确实会显示出来.
我有两个numpy数组,X_train和Y_train,其中第一个维度(700,1000)由值0,1,2,3,4和10填充.第二个维度(700,)填充为由于我正在使用烂番茄的API,因此我认为这些值是"新鲜的"或"腐烂的".出于某种原因,当我执行时:
nb = MultinomialNB()
nb.fit(X_train, Y_train)
Run Code Online (Sandbox Code Playgroud)
我明白了:
ValueError: Unknown label type
Run Code Online (Sandbox Code Playgroud)
我尝试构建一对较小的数组:
print xs, '\n', ys
Run Code Online (Sandbox Code Playgroud)
给
[[0 0 0 0 1]
[1 0 0 2 5]
[3 2 5 5 0]
[3 2 0 0 1]
[1 5 1 0 0]]
['rotten' 'fresh' 'fresh' 'rotten' 'fresh']
Run Code Online (Sandbox Code Playgroud)
并且多项NB适合不会出现未知标签错误.有关为什么会发生这种情况的任何想法?
我还用numpy.unique检查了X_train,Y_train中的唯一值,看起来好像没有任何奇怪或错误的标签 - 它们都是'新鲜'或'烂'.
我生成X_train和Y_train的代码:
def make_xy(critics, vectorizer=None):
stext = critics['quote'].tolist() # need to have a list
if vectorizer == None:
vectorizer = CountVectorizer(min_df=0)
vectorizer.fit(stext)
X = vectorizer.transform(stext).toarray() # this is X
Y …
Run Code Online (Sandbox Code Playgroud) 假设我有一个包含一个或多个元组的列表:
[0, 2, (1, 2), 5, 2, (3, 5)]
Run Code Online (Sandbox Code Playgroud)
什么是摆脱元组的最佳方法,以便它只是一个int列表?
[0, 2, 1, 2, 5, 2, 3, 5]
Run Code Online (Sandbox Code Playgroud) 在Numpy中编写一个简单的脚本来解决一个由3个方程组成的系统:
from numpy import *
a = matrix('1 4 1; 4 13 7; 7 22 13')
b = matrix('0;0;1')
print linalg.solve(a,b)
Run Code Online (Sandbox Code Playgroud)
但当我通过命令提示符运行它时,我得到了:
[[ 3.46430741e+15]
[ -6.92861481e+14]
[ -6.92861481e+14]]
Run Code Online (Sandbox Code Playgroud)
虽然沃尔夫勒姆阿尔法说没有解决方案.
有谁知道为什么Numpy/WRA答案之间似乎存在这种差异?
我有一个使用 pd.read_json() 创建的 Pandas 数据框。当我读入它时,我得到一些只有空列表或 None 的单元格,并且我想检测某些列中带有这些 []、None 的行。例如:
feat 1 feat 2 feat 3
0 [] [] 5
1 6 8 3
2 None 10 NaN
Run Code Online (Sandbox Code Playgroud)
我想删除第 0 行和第 2 行,因为它们有 None/NaN/空列表。我怎样才能用熊猫做到这一点?
Windows:我在我的计算机上安装了Python软件包CVXOPT,用于常规的Python发行版,虽然不是专门用于Anaconda,所以当我在进行文本编辑器/ cmd python脚本编写时,它导入的很好.我尝试用Anaconda安装CVXOPT,但是没有用,所以我不得不在使用iPython时直接导入库.
我的目录结构如下:
C:
--Python27
----Lib
------site-packages
--------cvxopt
----------__init__.py
----------.....
Run Code Online (Sandbox Code Playgroud)
我在iPython笔记本中运行此代码时发生错误:
import sys
sys.path.append('C:\Python27\Lib\site-packages\cvxopt')
import cvxopt
Run Code Online (Sandbox Code Playgroud)
错误:
ImportError: No module named cvxopt
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?也许我正在错误地追加路径?
python ×6
numpy ×3
json ×2
scikit-learn ×2
dictionary ×1
flatten ×1
ipython ×1
list ×1
pandas ×1
tuples ×1