示例列表: mylist = ['abc123', 'def456', 'ghi789']
如果匹配子字符串,我想检索一个元素,比如 abc
sub = 'abc'
print any(sub in mystring for mystring in mylist)
Run Code Online (Sandbox Code Playgroud)
True如果列表中的任何元素包含模式,则上面打印.
我想打印匹配子字符串的元素.所以,如果我正在检查'abc'我只想'abc123'从列表中打印.
如何获得PCA应用的特征值和特征向量?
from sklearn.decomposition import PCA
clf=PCA(0.98,whiten=True) #converse 98% variance
X_train=clf.fit_transform(X_train)
X_test=clf.transform(X_test)
Run Code Online (Sandbox Code Playgroud)
我在文档中找不到它.
我"不能"理解这里的不同结果.
编辑:
def pca_code(data):
#raw_implementation
var_per=.98
data-=np.mean(data, axis=0)
data/=np.std(data, axis=0)
cov_mat=np.cov(data, rowvar=False)
evals, evecs = np.linalg.eigh(cov_mat)
idx = np.argsort(evals)[::-1]
evecs = evecs[:,idx]
evals = evals[idx]
variance_retained=np.cumsum(evals)/np.sum(evals)
index=np.argmax(variance_retained>=var_per)
evecs = evecs[:,:index+1]
reduced_data=np.dot(evecs.T, data.T).T
print(evals)
print("_"*30)
print(evecs)
print("_"*30)
#using scipy package
clf=PCA(var_per)
X_train=data.T
X_train=clf.fit_transform(X_train)
print(clf.explained_variance_)
print("_"*30)
print(clf.components_)
print("__"*30)
Run Code Online (Sandbox Code Playgroud)
尝试jupyter notebook在 CentOS 7上运行。它返回:
OSError: [Errno 99] Cannot assign requested address
Run Code Online (Sandbox Code Playgroud)
和堆栈跟踪:
[user@desktop ~]$ jupyter notebook
Traceback (most recent call last):
File "/home/use/anaconda3/bin/jupyter-notebook", line 6, in <module>
sys.exit(notebook.notebookapp.main())
File "/home/user/anaconda3/lib/python3.6/site-packages/jupyter_core/application.py", line 267, in launch_instance
return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
File "/home/user/anaconda3/lib/python3.6/site-packages/traitlets/config/application.py", line 657, in launch_instance
app.initialize(argv)
File "<decorator-gen-7>", line 2, in initialize
File "/home/user/anaconda3/lib/python3.6/site-packages/traitlets/config/application.py", line 87, in catch_config_error
return method(app, *args, **kwargs)
File "/home/user/anaconda3/lib/python3.6/site-packages/notebook/notebookapp.py", line 1296, in initialize
self.init_webapp()
File "/home/user/anaconda3/lib/python3.6/site-packages/notebook/notebookapp.py", line 1120, in init_webapp
self.http_server.listen(port, self.ip)
File "/home/user/anaconda3/lib/python3.6/site-packages/tornado/tcpserver.py", …Run Code Online (Sandbox Code Playgroud) 在sklearn中使用PCA时,可以轻松获取组件:
from sklearn import decomposition
pca = decomposition.PCA(n_components=n_components)
pca_data = pca.fit(input_data)
pca_components = pca.components_
Run Code Online (Sandbox Code Playgroud)
但我不能为我的生活弄清楚如何从LDA中获取组件,因为没有components_属性.sklearn lda中是否有类似的属性?
我知道当文档插入集合时,_id列如何包含时间戳的表示.这是一个将其转换为时间戳的在线实用程序:http://steveridout.github.io/mongo-object-time/
我想知道的是,对象id字符串本身是否保证维持升序?即这种比较总是返回真实吗?
"newest object id" > "second newest object id"
如果我在python中有一个列表(或数组,字典....)可能超过可用的内存地址空间,(32位python)有什么选项和相对速度?(除了没有列出那么大的列表)列表可能超出内存但我无法事先知道.一旦它开始超过75%我想不再将列表保留在内存中(或者无论如何都是新项目),有没有办法转换为基于文件的中途方法?
什么是最好的(速度进出)文件存储选项?
只需要存储一个简单的数字列表.无需随机第N个元素访问,只需追加/弹出类型操作.
我有一个变量,称为gender二进制分类值"女性"/"男性".我想将其类型更改为整数0/1,以便我可以在回归分析中使用它.即我希望将值"女性"和"男性"映射到1和0.
> str(gender)
gender : Factor w/ 2 levels "female","male": 1 1 1 0 0 0 0 1 1 0 ...
> gender[1]
[1] female
Run Code Online (Sandbox Code Playgroud)
我想转换性别变量类型,以便在查询元素时得到int值1,即
> gender[1]
[1] 1
Run Code Online (Sandbox Code Playgroud) 是否有内置方法来定义接受特定范围内值的字段/变量?我的意思是在编译时解决它的一种方法.
例如,定义一个仅取1-10之间的值的double变量.
如何删除中所有未使用的包pip?
我知道pip-autoremove somepackage -y要删除特定的包及其依赖项,但我希望清理所有未使用的孤立包。
其中conda有一个conda clean -a命令是删除未使用的包和缓存。
输入:一个日期字段,其包括以各种格式(包括:日期yyyy/dd/mm,dd-mm-yyyy等),例如:
2017/5/23
22-04-2015
20150504
Run Code Online (Sandbox Code Playgroud)
输出:统一格式的日期字段。所有日期值都应转换为yyyymmdd格式。即上面的输入应生成输出为:
20170523
20150422
20150504
Run Code Online (Sandbox Code Playgroud)
我尝试使用dateutils但输出格式是 2015-05-23
from datetime import datetime
INPUT_FILENAME = 'date.txt'
OUTPUT_FILENAME = 'newfile.txt'
INPUT_DATE_FORMATS = {'column1dt': '%Y%m%d', 'column1dt': '%d/%m/%Y'}
OUTPUT_DATE_FORMAT = '%Y%m%d'
with open(INPUT_FILENAME, 'rt') as finput:
reader = finput.readlines()
with open(OUTPUT_FILENAME, 'wt') as foutput:
print foutput
for row in reader:
Run Code Online (Sandbox Code Playgroud)