我正在尝试安装sklearn-pandas.
在我的尝试:
easy_install sklearn-pandas
Run Code Online (Sandbox Code Playgroud)
我得到了结果:
软件包安装脚本已尝试修改系统中不在EasyInstall构建区域内且已中止的文件.
EasyInstall无法安全地安装此软件包,即使您手动运行其安装脚本,也可能不支持备用安装位置.请通知软件包的作者和EasyInstall维护人员,以了解是否有可用的修复程序或解决方法.
我在Windows 7上(我承认它!),使用Python 2.7.3
这是我第一次遇到这样的错误.我探索过的可能的想法是更基本的解决方案:
作者没有写这个包与easy_install一起安装我有一些文件权限问题(?)存在某种依赖性问题
如果有人遇到此错误或对此有任何见解,请告诉我!非常感谢.
我有一组10万个向量,我需要根据余弦相似性检索前25个最接近的向量.
Scipy和Sklearn有计算余弦距离/相似度2向量的实现,但我需要计算100k X 100k大小的余弦Sim然后取出前25.python计算中有任何快速实现吗?
根据@Silmathoron建议,这就是我正在做的事情 -
#vectors is a list of vectors of size : 100K x 400 i.e. 100K vectors each of dimenions 400
vectors = numpy.array(vectors)
similarity = numpy.dot(vectors, vectors.T)
# squared magnitude of preference vectors (number of occurrences)
square_mag = numpy.diag(similarity)
# inverse squared magnitude
inv_square_mag = 1 / square_mag
# if it doesn't occur, set it's inverse magnitude to zero (instead of inf)
inv_square_mag[numpy.isinf(inv_square_mag)] = 0
# inverse of the magnitude
inv_mag = numpy.sqrt(inv_square_mag) …Run Code Online (Sandbox Code Playgroud) 我在python中有以下信息(数据帧)
product baskets scaling_factor
12345 475 95.5
12345 108 57.7
12345 2 1.4
12345 38 21.9
12345 320 88.8
Run Code Online (Sandbox Code Playgroud)
我想运行以下非线性回归并估计参数.
a,b和c
我想要适合的等式:
scaling_factor = a - (b*np.exp(c*baskets))
Run Code Online (Sandbox Code Playgroud)
在sas中我们通常运行以下模型:(使用高斯牛顿法)
proc nlin data=scaling_factors;
parms a=100 b=100 c=-0.09;
model scaling_factor = a - (b * (exp(c*baskets)));
output out=scaling_equation_parms
parms=a b c;
Run Code Online (Sandbox Code Playgroud)
有没有类似的方法来估计Python中的参数使用非线性回归,我怎么能看到python中的情节.
我正在尝试为监督学习准备数据。我有我的 Tfidf 数据,它是从我的数据框中名为“合并”的列生成的
vect = TfidfVectorizer(stop_words='english', use_idf=True, min_df=50, ngram_range=(1,2))
X = vect.fit_transform(merged['kws_name_desc'])
print X.shape
print type(X)
(57629, 11947)
<class 'scipy.sparse.csr.csr_matrix'>
Run Code Online (Sandbox Code Playgroud)
但我还需要向这个矩阵添加额外的列。对于 TFIDF 矩阵中的每个文档,我都有一个附加数字特征的列表。每个列表的长度为 40,它由浮点数组成。
所以为了澄清起见,我有 57,629 个长度为 40 的列表,我想将它们附加到我的 TDIDF 结果中。
目前,我在 DataFrame 中有这个,示例数据:合并 ["other_data"]。下面是来自合并 ["other_data"] 的示例行
0.4329597715,0.3637511039,0.4893141843,0.35840...
Run Code Online (Sandbox Code Playgroud)
如何使用 TF-IDF 矩阵附加数据框列的 57,629 行?老实说,我不知道从哪里开始,希望得到任何指点/指导。
我正在使用Kaggle的Titanic数据集学习机器学习.我正在使用sklearn的LabelEncoder将文本数据转换为数字标签.以下代码适用于"性别",但不适用于"已启航".
encoder = preprocessing.LabelEncoder()
features["Sex"] = encoder.fit_transform(features["Sex"])
features["Embarked"] = encoder.fit_transform(features["Embarked"])
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误
Traceback (most recent call last):
File "../src/script.py", line 20, in <module>
features["Embarked"] = encoder.fit_transform(features["Embarked"])
File "/opt/conda/lib/python3.6/site-packages/sklearn/preprocessing/label.py", line 131, in fit_transform
self.classes_, y = np.unique(y, return_inverse=True)
File "/opt/conda/lib/python3.6/site-packages/numpy/lib/arraysetops.py", line 211, in unique
perm = ar.argsort(kind='mergesort' if return_index else 'quicksort')
TypeError: '>' not supported between instances of 'str' and 'float'
Run Code Online (Sandbox Code Playgroud)
我正在开发一个关于sklearn的多元回归分析,我仔细查看了文档.当我运行该predict()函数时,我得到错误: predict()取2个位置参数,但给出3个
X是数据帧,y是列; 我试图将数据帧转换为数组/矩阵但仍然得到错误.
添加了一个显示x和y数组的片段.
reg.coef_
reg.predict(x,y)
x_train=train.drop('y-variable',axis =1)
y_train=train['y-variable']
x_test=test.drop('y-variable',axis =1)
y_test=test['y-variable']
x=x_test.as_matrix()
y=y_test.as_matrix()
reg = linear_model.LinearRegression()
reg.fit(x_train,y_train)
reg.predict(x,y)
Run Code Online (Sandbox Code Playgroud) 所以我在一个小的销售数据集上运行了一个时间序列模型,并预测了接下来 12 个时期的销售额。使用以下代码:
mod1=ARIMA(df1, order=(2,1,1)).fit(disp=0,transparams=True)
y_future=mod1.forecast(steps=12)[0]
Run Code Online (Sandbox Code Playgroud)
其中 df1 包含以月份为索引的销售值。现在我按以下方式存储预测值:
pred.append(y_future)
Run Code Online (Sandbox Code Playgroud)
现在,我需要将预测值附加到原始数据集 df1 中,最好使用相同的索引。我正在尝试使用以下代码:
df1.append(pred, ignore_index=False)
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
TypeError: cannot concatenate a non-NDFrame object
Run Code Online (Sandbox Code Playgroud)
我试过将 pred 变量转换为列表然后附加,但无济于事。任何帮助将不胜感激。谢谢。
我试图从 cross_validation.cross_val_score 生成 R 平方值,约为 0.35,然后将模型应用到同一训练数据集中,并使用“r2_score”函数生成 R 平方值,约为 0.87。我想知道我得到了两个相差如此之大的结果。任何帮助将不胜感激。代码附在下面。
num_folds = 2
num_instances = len(X_train)
scoring ='r2'
models = []
models.append(('RF', RandomForestRegressor()))
results = []
names = []
for name, model in models:
kfold = cross_validation.KFold(n=num_instances, n_folds=num_folds, random_state=seed)
cv_results = cross_validation.cross_val_score(model, X_train, Y_train, cv=kfold,
scoring=scoring)
results.append(cv_results)
names.append(name)
msg = "%s: %f (%f)" % (name, cv_results.mean(), cv_results.std())
print(msg)
model.fit(X_train, Y_train)
train_pred=model.predict(X_train)
r2_score(Y_train, train_pred)
Run Code Online (Sandbox Code Playgroud) 当我想可视化这棵树时,我收到了这个错误。
我已经展示了导入的所需库。jupiter-notebook 有预期的原因吗?
from sklearn import tree
import matplotlib.pyplot
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_breast_cancer
cancer=load_breast_cancer()
x=cancer.data
y=cancer.target
clf=DecisionTreeClassifier(max_depth=1000)
x_train,x_test,y_train,y_test=train_test_split(x,y)
clf=clf.fit(x_train,y_train)
tree.plot_tree(clf.fit(x_train,y_train))
Run Code Online (Sandbox Code Playgroud)
AttributeError: 模块“sklearn.tree”没有属性“plot_tree”
我想以这种方式一致地使用sklearn.compose.ColumnTransformer(不是并行的,因此,第二个变换器应该仅在第一个变换器之后执行)来相交列列表:
log_transformer = p.FunctionTransformer(lambda x: np.log(x))
df = pd.DataFrame({'a': [1,2, np.NaN, 4], 'b': [1,np.NaN, 3, 4], 'c': [1 ,2, 3, 4]})
compose.ColumnTransformer(n_jobs=1,
transformers=[
('num', impute.SimpleImputer() , ['a', 'b']),
('log', log_transformer, ['b', 'c']),
('scale', p.StandardScaler(), ['a', 'b', 'c'])
]).fit_transform(df)
Run Code Online (Sandbox Code Playgroud)
所以,我想使用SimpleImputerfor 'a', 'b',然后logfor 'b', 'c',然后StandardScalerfor 'a', 'b', 'c'。
但:
(4, 7)。Nan进入a专栏b。那么,如何ColumnTransformer以以下方式用于不同的列Pipeline?
更新:
pipe_1 …Run Code Online (Sandbox Code Playgroud) sklearn-pandas ×10
python ×6
scikit-learn ×5
pandas ×4
numpy ×2
scipy ×2
arrays ×1
dataframe ×1
easy-install ×1
python-3.x ×1
tree ×1
vector ×1