Merge remote-tracking branch 'origin/boards'
This commit is contained in:
@@ -1247,16 +1247,12 @@ export const pandas_drop_columns = {
|
||||
this.appendValueInput('DATAFRAME')
|
||||
.appendField('从数据集');
|
||||
this.appendValueInput('COLUMNS')
|
||||
.appendField('中删除列');
|
||||
this.appendDummyInput()
|
||||
.appendField('沿着axis')
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
['行', '0'],
|
||||
['列', '1']
|
||||
]), 'AXIS');
|
||||
.appendField('中删除列')
|
||||
.setCheck(String);
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true);
|
||||
this.setTooltip('Drops columns from dataframe.');
|
||||
}
|
||||
this.setTooltip('从数据框中删除指定的列。用逗号分隔多个列名。');
|
||||
},
|
||||
};
|
||||
|
||||
export const numpy_ones = {
|
||||
|
||||
@@ -405,6 +405,49 @@ export const sklearn_GaussianNB = {
|
||||
}
|
||||
};
|
||||
|
||||
//sklearn 初始化PCA降维
|
||||
export const sklearn_pca = {
|
||||
init: function () {
|
||||
this.appendDummyInput()
|
||||
.appendField("sklearn 初始化 PCA 算法");
|
||||
this.appendValueInput("model_name")
|
||||
.setCheck(null)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.MODEL_NAME);
|
||||
this.appendValueInput("n_components")
|
||||
.setCheck(null)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.SKLEARN_PCA_N_COMPONENTS);
|
||||
this.setInputsInline(false);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setColour(SKLEARN_HUE);
|
||||
this.setTooltip("");
|
||||
this.setHelpUrl("");
|
||||
}
|
||||
};
|
||||
|
||||
//sklearn PCA拟合并转换数据
|
||||
export const sklearn_pca_fit_transform = {
|
||||
init: function () {
|
||||
this.appendDummyInput()
|
||||
.appendField("sklearn PCA 降维");
|
||||
this.appendValueInput("model_name")
|
||||
.setCheck(null)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.MODEL_NAME);
|
||||
this.appendValueInput("train_data")
|
||||
.setCheck(null)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.EIGENVALUES);
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true, null);
|
||||
this.setColour(SKLEARN_HUE);
|
||||
this.setTooltip("");
|
||||
this.setHelpUrl("");
|
||||
}
|
||||
};
|
||||
|
||||
//sklearn 初始化K-均值聚类
|
||||
export const sklearn_KMeans = {
|
||||
init: function () {
|
||||
@@ -426,11 +469,29 @@ export const sklearn_KMeans = {
|
||||
.setCheck(null)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.RANDOM_SEED);
|
||||
this.appendValueInput("n_jobs")
|
||||
this.setInputsInline(false);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setColour(SKLEARN_HUE);
|
||||
this.setTooltip("");
|
||||
this.setHelpUrl("");
|
||||
}
|
||||
};
|
||||
|
||||
//sklearn KMeans拟合数据
|
||||
export const sklearn_KMeans_fit = {
|
||||
init: function () {
|
||||
this.appendDummyInput()
|
||||
.appendField("sklearn K-均值聚类");
|
||||
this.appendValueInput("model_name")
|
||||
.setCheck(null)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.SKLEARN_THREADS);
|
||||
this.setInputsInline(false);
|
||||
.appendField(Blockly.Msg.MODEL_NAME);
|
||||
this.appendValueInput("train_data")
|
||||
.setCheck(null)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
.appendField(Blockly.Msg.EIGENVALUES);
|
||||
this.setInputsInline(true);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setColour(SKLEARN_HUE);
|
||||
|
||||
@@ -519,8 +519,7 @@ export const pandas_drop_columns = function (block, generator) {
|
||||
generator.definitions_.import_pandas = "import pandas";
|
||||
var dataframe = generator.valueToCode(block, 'DATAFRAME', generator.ORDER_ATOMIC) || 'df';
|
||||
var columns = generator.valueToCode(block, 'COLUMNS', generator.ORDER_ATOMIC) || '[]';
|
||||
var axis = block.getFieldValue('AXIS') || '0';
|
||||
var code = dataframe + '.drop(columns=' + columns + ', axis=' + axis + ')';
|
||||
var code = dataframe + '.drop(columns=' + columns + ', axis=1)';
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
|
||||
@@ -147,18 +147,40 @@ export const sklearn_GaussianNB = function (_, generator) {
|
||||
return code;
|
||||
}
|
||||
|
||||
// sklearn 初始化PCA降维
|
||||
export const sklearn_pca = function (_, generator) {
|
||||
var value_model_name = generator.valueToCode(this, 'model_name', generator.ORDER_ATOMIC) || 'pca';
|
||||
var value_n_components = generator.valueToCode(this, 'n_components', generator.ORDER_ATOMIC) || '2';
|
||||
generator.definitions_['import_sklearn_pca'] = 'from sklearn.decomposition import PCA';
|
||||
var code = value_model_name + ' = PCA(n_components=' + value_n_components + ')\n';
|
||||
return code;
|
||||
}
|
||||
|
||||
export const sklearn_pca_fit_transform = function(block, generator) {
|
||||
var value_model_name = generator.valueToCode(block, 'model_name', generator.ORDER_ATOMIC);
|
||||
var value_train_data = generator.valueToCode(block, 'train_data', generator.ORDER_ATOMIC);
|
||||
var code = value_model_name + '.fit_transform(' + value_train_data + ')';
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
};
|
||||
|
||||
// sklearn 初始K-均值聚类
|
||||
export const sklearn_KMeans = function (_, generator) {
|
||||
var value_model_name = generator.valueToCode(this, 'model_name', generator.ORDER_ATOMIC) || 'model';
|
||||
var value_n_clusters = generator.valueToCode(this, 'n_clusters', generator.ORDER_ATOMIC) || '8';
|
||||
var value_max_iter = generator.valueToCode(this, 'max_iter', generator.ORDER_ATOMIC) || '300';
|
||||
var value_random_state = generator.valueToCode(this, 'random_state', generator.ORDER_ATOMIC) || 'None';
|
||||
var value_n_jobs = generator.valueToCode(this, 'n_jobs', generator.ORDER_ATOMIC) || 'None';
|
||||
generator.definitions_['import_sklearn_KMeans'] = 'from sklearn.cluster import KMeans';
|
||||
var code = value_model_name + ' = KMeans(n_clusters = ' + value_n_clusters + ',max_iter = ' + value_max_iter + ',random_state = ' + value_random_state + ',n_jobs = ' + value_n_jobs + ')\n';
|
||||
var code = value_model_name + ' = KMeans(n_clusters = ' + value_n_clusters + ',max_iter = ' + value_max_iter + ',random_state = ' + value_random_state + ')\n';
|
||||
return code;
|
||||
}
|
||||
|
||||
export const sklearn_KMeans_fit = function(block, generator) {
|
||||
var value_model_name = generator.valueToCode(block, 'model_name', generator.ORDER_ATOMIC);
|
||||
var value_train_data = generator.valueToCode(block, 'train_data', generator.ORDER_ATOMIC);
|
||||
var code = value_model_name + '.fit(' + value_train_data + ')\n';
|
||||
return code;
|
||||
};
|
||||
|
||||
// sklearn 训练模型
|
||||
export const sklearn_fit = function (_, generator) {
|
||||
var value_model_name = generator.valueToCode(this, 'model_name', generator.ORDER_ATOMIC) || 'model';
|
||||
|
||||
@@ -2527,12 +2527,6 @@
|
||||
<field name="VAR">df</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="COLUMNS">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">columns</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<field name="AXIS">0</field>
|
||||
</block>
|
||||
<block type="variables_set">
|
||||
<field name="VAR">x</field>
|
||||
@@ -2727,6 +2721,13 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="pylab_imshow">
|
||||
<value name="ARRAY">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">myArray</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="series_create">
|
||||
<value name="SER">
|
||||
<shadow type="variables_get">
|
||||
|
||||
@@ -2581,11 +2581,10 @@
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="COLUMNS">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">columns</field>
|
||||
<shadow type="text">
|
||||
<field name="TEXT">列名</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<field name="AXIS">0</field>
|
||||
</block>
|
||||
<block type="variables_set">
|
||||
<field name="VAR">x</field>
|
||||
@@ -3575,6 +3574,30 @@
|
||||
<shadow type="logic_null"></shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="sklearn_pca">
|
||||
<value name="model_name">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">pca</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="n_components">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">2</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="sklearn_pca_fit_transform">
|
||||
<value name="model_name">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">pca</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="train_data">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">X</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="sklearn_KNeighborsClassifier_Regressor">
|
||||
<value name="model_name">
|
||||
<shadow type="variables_get">
|
||||
@@ -3586,9 +3609,6 @@
|
||||
<field name="NUM">5</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="n_jobs">
|
||||
<shadow type="logic_null"></shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="sklearn_GaussianNB">
|
||||
<value name="model_name">
|
||||
@@ -3620,6 +3640,18 @@
|
||||
<shadow type="logic_null"></shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="sklearn_KMeans_fit">
|
||||
<value name="model_name">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">model</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="train_data">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">X</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="sklearn_fit">
|
||||
<value name="model_name">
|
||||
<shadow type="variables_get">
|
||||
|
||||
@@ -2964,6 +2964,7 @@ ZhHans.SKLEARN_LABELS_AFTER_CLUSTERING = "聚类后标签";
|
||||
ZhHans.SKLEARN_CLUSTERING_SUM_OF_SQUARED_DISTANCES = "所有点到对应簇中心的距离平方和";
|
||||
ZhHans.SKLEARN_SAVE_MODEL = "保存模型";
|
||||
ZhHans.SKLEARN_LOAD_MODEL = "加载模型";
|
||||
ZhHans.SKLEARN_PCA_N_COMPONENTS = "主成分个数";
|
||||
ZhHans.MATH_ROUND = '四舍五入';
|
||||
ZhHans.MATH_ROUND_NEW_TOOLTIP = '将数值四舍五入保留小数点后指定的位数';
|
||||
ZhHans.PY_STORAGE_FILE_OBJECT = ",并返回文件对象";
|
||||
|
||||
@@ -2943,6 +2943,7 @@ ZhHant.SKLEARN_LABELS_AFTER_CLUSTERING = "聚類後標籤";
|
||||
ZhHant.SKLEARN_CLUSTERING_SUM_OF_SQUARED_DISTANCES = "所有點到對應簇中心的距離平方和";
|
||||
ZhHant.SKLEARN_SAVE_MODEL = "保存模型";
|
||||
ZhHant.SKLEARN_LOAD_MODEL = "加載模型";
|
||||
ZhHant.SKLEARN_PCA_N_COMPONENTS = "主成分个数";
|
||||
ZhHant.MATH_ROUND = '四捨五入';
|
||||
ZhHant.MATH_ROUND_NEW_TOOLTIP = '將數值四捨五入保留小數點後指定的位數';
|
||||
ZhHant.PY_STORAGE_FILE_OBJECT = ",並返回文件對象";
|
||||
|
||||
Reference in New Issue
Block a user