我阅读了所有的主题,但我无法解决我的问题:
Traceback (most recent call last):
File "/home/.../.../.../reading_data.py", line 1, in <module>
import pandas as pd
ImportError: No module named pandas
Run Code Online (Sandbox Code Playgroud)
这是我的环境:
Ubuntu 14.04
Pycharm版本:2016.1.4
Python版本:2.7.10
熊猫版:0.18.1
熊猫也在Jupyter的Anaconda工作.任何人都可以建议我如何解决这个问题?
我有我想在模型中使用的X变量的其他派生值.
XAll = pd_data[['title','wordcount','sumscores','length']]
y = pd_data['sentiment']
X_train, X_test, y_train, y_test = train_test_split(XAll, y, random_state=1)
Run Code Online (Sandbox Code Playgroud)
当我在标题中处理文本数据时,我首先将其分别转换为dtm:
vect = CountVectorizer(max_df=0.5)
vect.fit(X_train['title'])
X_train_dtm = vect.transform(X_train['title'])
column_index = X_train_dtm.indices
print(type(X_train_dtm)) # This is <class 'scipy.sparse.csr.csr_matrix'>
print("X_train_dtm shape",X_train_dtm.get_shape()) # This is (856, 2016)
print("column index:",column_index) # This is column index: [ 533 754 859 ..., 633 950 1339]
Run Code Online (Sandbox Code Playgroud)
现在我将文本作为文档术语矩阵,我想将其他功能添加到X_train_dtm这些数字中,例如'wordcount','sumscores','length'.我将使用新的dtm创建模型,因此我将插入附加功能更准确.
如何将pandas数据帧的其他数字列添加到稀疏csr矩阵?
我正在尝试预测下一个客户购买我的工作。我遵循了指南,但是当我尝试使用 cross_val_score() 函数时,它返回 NaN 值。谷歌Colab笔记本截图
\n\n变量:
\n\n代码:
\n\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=50)\nX_train = X_train.reset_index(drop=True)\nX_train\nX_test = X_test.reset_index(drop=True)\n\ny_train = y_train.astype(\'float\')\ny_test = y_test.astype(\'float\')\n\nmodels = []\nmodels.append(("LR",LogisticRegression()))\nmodels.append(("NB",GaussianNB()))\nmodels.append(("RF",RandomForestClassifier()))\nmodels.append(("SVC",SVC()))\nmodels.append(("Dtree",DecisionTreeClassifier()))\nmodels.append(("XGB",xgb.XGBClassifier()))\nmodels.append(("KNN",KNeighborsClassifier()))\xc2\xb4\n\nfor name,model in models:\n kfold = KFold(n_splits=2, random_state=22)\n cv_result = cross_val_score(model,X_train,y_train, cv = kfold,scoring = "accuracy")\n print(name, cv_result)\n>>\nLR [nan nan]\nNB [nan nan]\nRF [nan nan]\nSVC [nan nan]\nDtree [nan nan]\nXGB [nan nan]\nKNN [nan nan]\nRun Code Online (Sandbox Code Playgroud)\n\n请帮帮我!
\n我写了一小段代码来使用sklearn进行线性回归.
我创建了一个2列的csv文件(列名为X,Y带有一些数字),当我读取文件时,我看到内容被正确读取 - 如下所示.
然而,当我尝试参考使用命令列我收到"unhashable型"的错误datafile[:,:]或datafile[:,-1]等.
当我尝试使用X作为响应时,Y作为sklearn线性回归的预测因子,我得到的值如下所示.
我在线查看但无法弄清楚我的代码或文件有什么问题.请帮忙.
import pandas as pd
datafile=pd.read_csv('samplelinear.csv')
datafile
X Y
0 0 1.440000
1 1 33.220000
. . .
print datafile.__class__
<class 'pandas.core.frame.DataFrame'>
datafile[:,:]
TypeError: unhashable type
datafile[:,:1]
TypeError: unhashable type
from sklearn.linear_model import LinearRegression
model=LinearRegression()
model.fit(datafile.X,datafile.Y)
ValueError: Found arrays with inconsistent numbers of samples: [ 1 14]
Run Code Online (Sandbox Code Playgroud) 我有一个名单列表,如:
names = ['A', 'B', 'C', 'D']
Run Code Online (Sandbox Code Playgroud)
和文件清单,在每个文件中提到了一些这些名称.
document =[['A', 'B'], ['C', 'B', 'K'],['A', 'B', 'C', 'D', 'Z']]
Run Code Online (Sandbox Code Playgroud)
我想得到一个输出作为共现矩阵,如:
A B C D
A 0 2 1 1
B 2 0 2 1
C 1 2 0 1
D 1 1 1 0
Run Code Online (Sandbox Code Playgroud)
在R中有一个针对这个问题的解决方案(创建共生矩阵),但我无法在Python中实现.我想在熊猫中做到这一点,但还没有进展!
print(np.shape(ar_fulldata_input_xx))
Run Code Online (Sandbox Code Playgroud)
输出:(9027, 1443)
现在我Imputer用来估算我的数据框的缺失值,ar_fulldata_input_xx如下所示。
fill_NaN = Imputer(missing_values=np.nan, strategy='mean', axis=0)
imputed_DF = pd.DataFrame(fill_NaN.fit_transform(ar_fulldata_input_xx))
Run Code Online (Sandbox Code Playgroud)
现在我检查我的估算数据框的大小,如下所示。
print(np.shape(imputed_DF))
Run Code Online (Sandbox Code Playgroud)
输出:(9027, 1442)
为什么列大小减一?
有什么办法可以在插补函数后找到哪一列正在混合?
我运行了以下代码行以删除具有完整“NAN”值或完整“0”值的所有列。
ar_fulldata_input_xx = ar_fulldata_input_xx.loc[:, (ar_fulldata_input_xx != 0).any(axis=0)]
Run Code Online (Sandbox Code Playgroud)
和
ar_fulldata_input_xx=ar_fulldata_input_xx.dropna(axis=1, how='all')
Run Code Online (Sandbox Code Playgroud) 我想要在 scikit-learn 中的决策树(DecisionTreeClassifier)中从根节点到给定节点(我提供)的决策路径(即规则集)。clf.decision_path指定样本经过的节点,这可能有助于获取样本遵循的规则集,但是如何将规则集设置到树中的特定节点?
sklearn.LabelEncoder的文档以
这个转换器应该用于编码目标值,即 y,而不是输入 X。
为什么是这样?
我只发布了这个建议在实践中被忽略的一个例子,尽管似乎还有更多。 https://www.kaggle.com/matleonard/feature-generation包含
#(ks is the input data)
# Label encoding
cat_features = ['category', 'currency', 'country']
encoder = LabelEncoder()
encoded = ks[cat_features].apply(encoder.fit_transform)
Run Code Online (Sandbox Code Playgroud) 我使用sklearn绘制树木森林的特征重要性.数据框名为"heart".这里是提取已排序功能列表的代码:
importances = extc.feature_importances_
indices = np.argsort(importances)[::-1]
print("Feature ranking:")
for f in range(heart_train.shape[1]):
print("%d. feature %d (%f)" % (f + 1, indices[f], importances[indices[f]]))
Run Code Online (Sandbox Code Playgroud)
然后我用这种方式绘制列表:
f, ax = plt.subplots(figsize=(11, 9))
plt.title("Feature ranking", fontsize = 20)
plt.bar(range(heart_train.shape[1]), importances[indices],
color="b",
align="center")
plt.xticks(range(heart_train.shape[1]), indices)
plt.xlim([-1, heart_train.shape[1]])
plt.ylabel("importance", fontsize = 18)
plt.xlabel("index of the feature", fontsize = 18)
Run Code Online (Sandbox Code Playgroud)
我得到一个这样的情节:
我的问题是:我怎么能用功能的名称替换功能的NUMBER才能使情节变得更容易理解?我试图转换包含该功能名称的字符串(这是数据框每列的名称),但我无法达到目标.
谢谢
我有一个随机森林特征重要性程序。已为每个变量生成所有特征重要性参数。我还将其绘制在水平条形图上。
现在我想将条形按升序/降序排序。我该怎么做?
我的代码如下:
#Feature Selection (shortlisting key variables)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.ensemble import RandomForestClassifier
from sklearn.feature_selection import SelectFromModel
from sklearn.metrics import accuracy_score
df = pd.read_excel(r'C:\Users\z003v0ee\Desktop\TP Course\project module\ProjectDataSetrev4.xlsx',sheet_name=0)
df2 = pd.read_excel(r'C:\Users\z003v0ee\Desktop\TP Course\project module\ProjectDataSetrev4.xlsx',sheet_name=1)
## Convert date time format and set as index
df['DateTime']=pd.to_datetime(df['Time Stamp'], format='%Y-%m-%d %H:%M:%S')
df.set_index(df['DateTime'], inplace=True)
## Save each feature to a list (independent variables)
allvarlist = …Run Code Online (Sandbox Code Playgroud) sklearn-pandas ×10
python ×8
scikit-learn ×6
pandas ×3
list ×1
matplotlib ×1
matrix ×1
module ×1
nan ×1
numpy ×1
prediction ×1
pycharm ×1