我一直在读神经网络上的一些东西,我理解单层神经网络的一般原理.我理解对aditional图层的需求,但为什么要使用非线性激活函数?
这个问题之后是这个问题:用于反向传播的激活函数的衍生物是什么?
我有一个熊猫数据帧,我希望把它分成3组.我知道使用train_test_split从sklearn.cross_validation,一个可以在两个集(训练集和测试)分割数据.但是,我找不到任何关于将数据拆分为三组的解决方案.最好,我想拥有原始数据的索引.
我知道解决方法是使用train_test_split两次并以某种方式调整索引.但有没有更标准/内置的方法将数据分成3组而不是2组?
在大多数模型中,有一个步骤参数指示在数据上运行的步骤数.但是我在大多数实际用法中看到,我们也执行拟合函数N个时期.
运行1000步与1纪元和运行100步与10纪元有什么区别?哪一个在实践中更好?连续时期之间的任何逻辑变化?数据改组?
期望最大化如果采用一种概率方法对数据进行分类.如果我错了,请纠正我,如果它不是分类器.
这种EM技术的直观解释是什么?这里的期望是什么,最大化的是什么?
cluster-analysis machine-learning mathematical-optimization data-mining expectation-maximization
我有80%分类变量的机器学习分类问题.如果我想使用某种分类器进行分类,我必须使用一个热编码吗?我可以在没有编码的情况下将数据传递给分类器吗?
我正在尝试执行以下功能选择:
我读了火车文件:
num_rows_to_read = 10000
train_small = pd.read_csv("../../dataset/train.csv", nrows=num_rows_to_read)
Run Code Online (Sandbox Code Playgroud)我将分类要素的类型更改为"类别":
non_categorial_features = ['orig_destination_distance',
'srch_adults_cnt',
'srch_children_cnt',
'srch_rm_cnt',
'cnt']
for categorical_feature in list(train_small.columns):
if categorical_feature not in non_categorial_features:
train_small[categorical_feature] = train_small[categorical_feature].astype('category')
Run Code Online (Sandbox Code Playgroud)我使用一个热编码:
train_small_with_dummies = pd.get_dummies(train_small, sparse=True)
Run Code Online (Sandbox Code Playgroud)问题是第3部分经常卡住,虽然我使用的是强机.
因此,在没有热编码的情况下,我无法进行任何特征选择,以确定特征的重要性.
您有什么推荐的吗?
任何人都可以通过实例清楚地解释CNN(深度学习)中的1D,2D和3D卷积之间的区别吗?
signal-processing machine-learning convolution deep-learning conv-neural-network
我正在处理情绪分析问题,数据看起来像这样:
label instances
5 1190
4 838
3 239
1 204
2 127
Run Code Online (Sandbox Code Playgroud)
所以我的数据是不平衡的,因为1190 instances标有5.对于分类我使用scikit的SVC.问题是我不知道如何以正确的方式平衡我的数据,以便准确计算多类案例的精确度,召回率,准确度和f1分数.所以我尝试了以下方法:
第一:
wclf = SVC(kernel='linear', C= 1, class_weight={1: 10})
wclf.fit(X, y)
weighted_prediction = wclf.predict(X_test)
print 'Accuracy:', accuracy_score(y_test, weighted_prediction)
print 'F1 score:', f1_score(y_test, weighted_prediction,average='weighted')
print 'Recall:', recall_score(y_test, weighted_prediction,
average='weighted')
print 'Precision:', precision_score(y_test, weighted_prediction,
average='weighted')
print '\n clasification report:\n', classification_report(y_test, weighted_prediction)
print '\n confussion matrix:\n',confusion_matrix(y_test, weighted_prediction)
Run Code Online (Sandbox Code Playgroud)
第二:
auto_wclf = SVC(kernel='linear', C= 1, class_weight='auto')
auto_wclf.fit(X, y)
auto_weighted_prediction = auto_wclf.predict(X_test)
print 'Accuracy:', accuracy_score(y_test, auto_weighted_prediction)
print …Run Code Online (Sandbox Code Playgroud) python nlp artificial-intelligence machine-learning scikit-learn
如果我们有10个特征向量,那么我们可以在输入层有10个神经节点.如果我们有5个输出类,那么我们可以在输出层有5个节点.但是选择MLP中隐藏层数的标准是什么以及有多少神经节点1个隐藏层中的节点?
我正在使用此代码,并且model.eval()在某些情况下看到了。
我知道它应该允许我“评估我的模型”,但我不明白什么时候应该和不应该使用它,或者如果关闭如何关闭。
我想运行上面的代码来训练网络,并且还能够在每个时期运行验证。我还是做不到。
machine-learning ×10
python ×3
pandas ×2
scikit-learn ×2
anaconda ×1
c# ×1
convolution ×1
data-mining ×1
dataframe ×1
math ×1
nlp ×1
numpy ×1
perceptron ×1
pytorch ×1
tensorflow ×1