标签: data-science

无论如何要知道sklearn GridSearch的进展

对于网格搜索总是很耗时,所以我想看看它现在运行了多少.例如,它可能会输出

paramsXXX processed
paramsYYY processed
...
Run Code Online (Sandbox Code Playgroud)

python machine-learning scikit-learn data-science

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

MAE实际上告诉我什么?

我创建了一个简单的线性回归模型来预测标准普尔500指数的收盘价.然后计算平均绝对误差(MAE)并得到1290的MAE分数.现在,我不想知道这是对还是错,但我想知道1290的MAE告诉我关于我的模型的内容.

machine-learning data-science

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

Python pandas - >按列名称中的条件选择

我有df列名:'a','b','c'......'z'.

print(my_df.columns)
Index(['a', 'b', 'c', ... 'y', 'z'],
  dtype='object', name=0)
Run Code Online (Sandbox Code Playgroud)

我有功能,确定应显示哪些列.例如:

start = con_start()
stop = con_stop()
print(my_df.columns >= start) & (my_df <= stop)
Run Code Online (Sandbox Code Playgroud)

我的结果是:

[False False ... False False False False  True  True
True  True False False]
Run Code Online (Sandbox Code Playgroud)

我的目标是仅显示满足我条件的列的数据框.如果start ='a'并且stop ='b',我希望:

0                                      a              b         
index1       index2                                                  
New York     New York           0.000000       0.000000          
California   Los Angeles   207066.666667  214466.666667     
Illinois     Chicago       138400.000000  143633.333333     
Pennsylvania Philadelphia   53000.000000   53633.333333      
Arizona      Phoenix       111833.333333  114366.666667 
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas data-science

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

如何获得决策树的ROC曲线?

我试图找到决策树的ROC曲线AUROC曲线.我的代码是这样的

clf.fit(x,y)
y_score = clf.fit(x,y).decision_function(test[col])
pred = clf.predict_proba(test[col])
print(sklearn.metrics.roc_auc_score(actual,y_score))
fpr,tpr,thre = sklearn.metrics.roc_curve(actual,y_score)
Run Code Online (Sandbox Code Playgroud)

输出:

 Error()
'DecisionTreeClassifier' object has no attribute 'decision_function'
Run Code Online (Sandbox Code Playgroud)

基本上,错误是在找到时出现的y_score.请解释一下是什么y_score以及如何解决这个问题?

python scikit-learn auc data-science

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

从sklearn的MLPClassifier检索最终隐藏的激活层输出

我想这样做使用sklearn与神经网络最终隐藏激活层输出一些测试MLPClassifierfit廷的数据。

例如,如果我创建一个分类器,则假设数据X_train带有标签y_train和两个隐藏的大小层(300,100)

clf = MLPClassifier(hidden_layer_sizes=(300,100))
clf.fit(X_train,y_train)
Run Code Online (Sandbox Code Playgroud)

我希望能够以某种方式调用一个函数来检索最终隐藏的激活层矢量的长度,100以用于其他测试。

假设测试集X_test, y_test,正常预测将是:

preds = clf.predict(X_test)
Run Code Online (Sandbox Code Playgroud)

但是,我想做些类似的事情:

activation_layers_for_all_X_test = clf.get_final_activation_output(X_test)
Run Code Online (Sandbox Code Playgroud)

诸如此类的功能已经get_weights存在,但这只会对我有所帮助。除了自己进行转换之外,还有另一种方法可以检索最终隐藏层激活的最终隐藏层输出吗?

以该图为例:

我想要的输出是Out Layer,即最终隐藏层的最终激活输出。

python classification machine-learning scikit-learn data-science

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

Python Pandas Drop Dataframe

如何从DataFrame中删除列?我知道这个数据不可重复,因为我有一个CSV文件,我正在尝试构建一个pandas数据框来做一些争论.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.read_csv('C:\LoadProfiles\CSV\WillBaySchl 2013_2014 KW.csv')

print(df)
Run Code Online (Sandbox Code Playgroud)

这将返回头部/尾部并且:[34944 rows x 3 columns]

pos0 = 0
pos1 = 1
pos2 = 2

colname = df.columns[pos0]
print(colname)
Run Code Online (Sandbox Code Playgroud)

这将返回:( Meter ID我想删除此列/数据帧)

colname = df.columns[pos1]
print(colname)
Run Code Online (Sandbox Code Playgroud)

这将返回:( Date / Time我希望这是pd数据帧索引)

colname = df.columns[pos2]
print(colname)
Run Code Online (Sandbox Code Playgroud)

这将返回:( KW(ch: 1 set:0)这是我要重命名为"kW"的数据并做一些争论...)

如果我尝试以下代码:

df = pd.DataFrame.drop(['Meter ID'], axis=1)

print(df)
Run Code Online (Sandbox Code Playgroud)

Python将返回错误:TypeError: drop() missing 1 required positional argument: 'labels'

如果我尝试以下代码:

df = pd.DataFrame.drop(columns=['Meter …
Run Code Online (Sandbox Code Playgroud)

python dataframe python-3.x pandas data-science

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

ValueError:在预处理数据时,输入包含NaN,无穷大或对于dtype('float64')而言太大的值

我有两个CSV文件(训练集测试集).由于有可见NaN的一些列(值status,hedge_value,indicator_code,portfolio_id,desk_id,office_id).

我通过将NaN值替换为与列对应的一些巨大值来启动该过程.然后我正在LabelEncoding删除文本数据并将其转换为数字数据.现在,当我尝试对OneHotEncoding分类数据进行处理时,我得到了错误.我尝试将输入逐个输入到OneHotEncoding构造函数中,但是每个列都会出现相同的错误.

基本上,我的最终目标是预测返回值,但由于这个原因,我被困在数据预处理部分.我该如何解决这个问题?

我使用Python3.6PandasSklearn进行数据处理.

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

test_data = pd.read_csv('test.csv')
train_data = pd.read_csv('train.csv')

# Replacing Nan values here
train_data['status']=train_data['status'].fillna(2.0)
train_data['hedge_value']=train_data['hedge_value'].fillna(2.0)
train_data['indicator_code']=train_data['indicator_code'].fillna(2.0)
train_data['portfolio_id']=train_data['portfolio_id'].fillna('PF99999999')
train_data['desk_id']=train_data['desk_id'].fillna('DSK99999999')
train_data['office_id']=train_data['office_id'].fillna('OFF99999999')

x_train = train_data.iloc[:, :-1].values
y_train = train_data.iloc[:, 17].values

# =============================================================================
# from sklearn.preprocessing import …
Run Code Online (Sandbox Code Playgroud)

python machine-learning pandas scikit-learn data-science

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

Python Pandas:比较一列中的两个数据帧,并返回另一个数据帧中两个数据帧的行内容

  1. 我正在使用两个csv文件并导入为dataframe,df1和df2
  2. df1有50000行,df2有150000行.
  3. 我想比较(遍历每一行)df2的'时间'和df1,找到时间的差异并返回对应于相似行的所有列的值,保存在df3(时间同步)
  4. 例如,35427949712(df1中的'time')最接近或等于 35427949712(df2中的'time'),所以我想将内容返回到df1('velocity_x'和'yaw')和df2('速度'和'偏航')并保存在df3中
  5. 为此,我使用了两种技术,如代码所示.
  6. 代码1需要很长时间才能执行72小时,这不是练习,因为我有很多csv文件
  7. 代码2给了我"内存错误",内核死了.

如果考虑到计算时间,内存和功耗(英特尔酷睿i7-6700HQ,8 GB Ram),我会得到一个更强大的问题解决方案,那将会很棒

这是样本数据,

import pandas as pd
df1 = pd.DataFrame({'time': [35427889701, 35427909854, 35427929709,35427949712, 35428009860], 
                    'velocity_x':[12.5451, 12.5401,12.5351,12.5401,12.5251],
                   'yaw' : [-0.0787806, -0.0784749, -0.0794889,-0.0795915,-0.0795472]})

df2 = pd.DataFrame({'time': [35427929709, 35427949712, 35427009860,35427029728, 35427049705], 
                    'velocity':[12.6583, 12.6556,12.6556,12.6556,12.6444],
                    'yawrate' : [-0.0750492, -0.0750492, -0.074351,-0.074351,-0.074351]})

df3 = pd.DataFrame(columns=['time','velocity_x','yaw','velocity','yawrate'])
Run Code Online (Sandbox Code Playgroud)

代码1

 for index, row in df1.iterrows():
    min=100000
    for indexer, rows in df2.iterrows():
        if abs(float(row['time'])-float(rows['time']))<min:
            min = abs(float(row['time'])-float(rows['time']))
            #storing the position 
            pos = indexer
    df3.loc[index,'time'] = df1['time'][pos]
    df3.loc[index,'velocity_x'] = df1['velocity_x'][pos]
    df3.loc[index,'yaw'] …
Run Code Online (Sandbox Code Playgroud)

python algorithm python-3.x pandas data-science

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

从R中的数据框中的单元格中提取数字字符

我正在尝试从数据框中提取数值,如下所示:

ID Secc                     col1      col2        col3
 1 Sección 0805601006       1400      1300        85*      
 2 Sección 0805601007       1475      1365        5.0     
 3 Sección 0805601005       760       760         0.0      
 4 Sección 0805601003       1335      1335        0.0      
 5 Sección 0805601002       655       655         0.0      
 6 Sección 0805601004       900       815         85* 
Run Code Online (Sandbox Code Playgroud)

要仅使用如下的nyumeric字符获取"干净"数据框:

    ID Secc             col1      col2       col3
     1 0805601006       1400      1300       85      
     2 0805601007       1475      1365       5.0     
     3 0805601005       760       760        0.0      
     4 0805601003       1335      1335       0.0      
     5 0805601002       655       655        0.0      
     6 0805601004       900       815        85
Run Code Online (Sandbox Code Playgroud)

我一直在尝试许多功能extract_numeric, …

r extract data-cleaning data-science

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

ImportError:无法导入名称“ pairwise_distances_chunked”

从imblearn.over_sampling导入RandomOverSampler

从Google Colab中的imblearn.over_sampling导入RandomOverSampler时,出现此错误可以帮助我解决此问题。提前致谢。

machine-learning python-3.x data-science google-colaboratory

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