正在加载运行环境,请稍等

×

删除算法

算法删除后无法找回,确定删除吗?

输入保存名字

删除数据

数据删除后无法找回,确定删除吗?

*此处仅展示前100行数据作为预览!

算法名重复

继续保存将覆盖已有算法,是否继续?

参数

确定删除该参数吗?

请选择模板创建

新建空白模板

亲,退出登录后,平台中的许多功能将会受到限制
您确定要离开我们吗?

确定退出
再想一想
新建
试运行
标准化

选择测试数据

上传测试数据
    运  行
    编辑
    提交
    审核中

    已保存算法

    示例code

    存草稿

    站长统计

    已保存算法

    算法名称 保存时间 当前状态 操作

    示例code

    词云图

    • 词云图
    • 监督学习
    • 无监督学习
    • 股票平均价格
    • 中位数
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
    #encoding:utf-8
    # 词云图示例
    # 将文本(txt)文件所有内容复制到Excel表格的第一个单元格中,并另存为csv格式
    import jieba
    # 导入用于制作词云图的wordcloud
    from wordcloud import WordCloud, ImageColorGenerator
    import matplotlib
    matplotlib.use('Agg')
    from matplotlib import pyplot as plt
    import pandas as pd
    from PIL import Image
    import numpy as np
    import io
    def wordcloud_func(datax):
        # 读入数据并处理
        content = ""
        for line in datax:
            content = content + line[0]
        # 使用jieba模块对文本进行分词整理
        content_after = " ".join(jieba.cut(content, cut_all=True))
        # 使用WordCloud模块对刚刚整理好的分词信息进行处理
        # font_path用于调整字体
        # max_font_size参数是可以调整部分单个词语的最大尺寸
        # max_words是最大可以允许多少个词去组成这个词云图
        # height为高度,weight为宽度
        # background_color调整背景颜色
        wc = WordCloud(font_path="simhei.ttf", background_color='black', max_words=100, max_font_size=300, width=3000, height=1500)
        # 生成词云
        wc.generate(content_after)
        fig = plt.figure()
        plt.imshow(wc)
        canvas = fig.canvas
        buffer = io.BytesIO()
        canvas.print_png(buffer)
        data = buffer.getvalue()
        buffer.close()
        output = {}
        output['img_词云图'] = data
        return output
    if __name__ == "__main__":
        datax = nosupervision_read_data()
        print(wordcloud_func(datax))
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
    # 监督学习示例
    # 运用逻辑回归算法进行分类
    import numpy as np
    import pandas as pd
    from sklearn.linear_model import LogisticRegression
    import matplotlib
    matplotlib.use('Agg')
    from sklearn import model_selection
    def LogisticRegression_func(datax, datay, test_size, random_state):
        # 将数据转化为DataFrame格式
        xcol = datax[0]
        ycol = datay[0]
        datax = pd.DataFrame(datax[1:], columns=xcol)
        datay = pd.DataFrame(datay[1:], columns=ycol)
        # 将数据按比例划分为测试集和训练集
        X_train, X_test, y_train, y_test = model_selection.train_test_split(datax, datay, test_size=test_size, random_state=random_state)
        # 建立模型并训练
        model = LogisticRegression()
        model.fit(X_train, y_train)
        # 对y值进行预测
        y_pred = model.predict(X_test)
        # 查看测试结果
        result_data = X_test
        result_data.insert(X_test.shape[1], 'y_correct', y_test)
        result_data.insert(X_test.shape[1], 'y_pred', y_pred)
        # 输出结果
        output = {}
        output['data_测试集模型结果'] = [result_data.columns.tolist()] + result_data.values.tolist()
        return output
    if __name__ == '__main__':
        datax, datay = supervision_read_data()
        print(LogisticRegression_func(datax, datay, 0.2, 1))
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
    # 无监督学习示例
    # 运用K均值算法进行聚类
    import pandas as pd
    import numpy as np
    from sklearn.cluster import KMeans
    from sklearn import metrics
    def KMeans_func(datax, cluster):
        # 将读入的数据转化为DataFrame格式
        col = datax[0]
        data = pd.DataFrame(datax[1:], columns=col)
        # 建立K均值聚类模型,并用data进行训练
        model = KMeans(n_clusters=cluster)
        model.fit(data)
        # 为每个样本标注所属类别
        cluster_labels = pd.DataFrame(model.labels_, columns=['所属类别'])
        # 求每个样本的轮廓系数并转化为DataFrame格式
        silhouette_samples = metrics.silhouette_samples(data, model.labels_, metric='euclidean')
        silhouette_labels = pd.DataFrame(silhouette_samples, columns=['轮廓系数'])
        # 将原数据、所属类别、轮廓系数进行横向拼接得出结果数据1(DataFrame格式)
        result_data1 = pd.concat([data, cluster_labels, silhouette_labels], axis=1)
        # 统计各个类别的数目
        counts = pd.Series(model.labels_).value_counts()
        # 生成类别的DataFrame格式,加入样本个数一列,生成结果数据2
        result_data2 = pd.DataFrame({'类别': range(cluster)})
        result_data2.insert(1, '样本个数', counts.sort_index())
        # 将数据展示在页面上
        output = {}
        output['data_模型结果1'] = [result_data1.columns.tolist()] + result_data1.values.tolist()
        output['data_模型结果2'] = [result_data2.columns.tolist()] + result_data2.values.tolist()
        return output
    if __name__ == "__main__":
        datax = nosupervision_read_data()
        print(KMeans_func(datax, 4))
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
    import matplotlib as mpl
    mpl.use('agg')
    from pylab import mpl
    mpl.rcParams['font.sans-serif'] = ['SimHei'] #中文显示
    import matplotlib.pyplot as plt
    import numpy as np
    import tushare as ts
    import talib
    import pandas as pd
    import io
    def get_AVGPRICE(datax,code='',start='',end=''):
        msg = {'status': True, 'error': None, 'success': None, 'data': None}
        try:
            output = {}
            #股票高开低收价格和日期
            df = ts.get_k_data('%s' % code,start=start,end=end)
            #处理股票代码输入错误
            if len(df) == 0:
                msg["status"] = False
                msg["error"] = '未找到该股票代码数据'
                return msg
            #提取数据,展示最近15天
            if len(df) > 15:
                df = df.iloc[-15:-1]
            close = df.close.values
            low = df.low.values
            high = df.high.values
            open = df.open.values
            date = df.date.values
            #把日期设置为索引列
            df.set_index(df['date'], drop=True, inplace=True)
            #股票均价
            real = talib.AVGPRICE(open, high, low, close)
            #在df中添加avgprice列
            df['avgprice'] = real
            #获取df的标题
            title = list(df.columns)
            #把DataFrame格式转为列表格式
            data = df.values.tolist()
            # 绘制K线图
            # 研究颜色的设置
            rise = close >= open
            # 填充色:
            color = np.array([('red' if x else 'green') \
                    for x in rise])
            # 边缘色:
            ecolor = np.array([('red' if x else 'green') \
                    for x in rise])
            #基本图表配置
            plt.figure(figsize=(15, 7))
            ax = plt.gca()
            plt.title('%s 平均价格'%code, fontsize=18)
            # 绘制影线
            plt.vlines(date, low, high,
                color=ecolor, linewidth=0.8)
            # 绘制实体
            plt.bar(date, close-open,
                0.8, open, color=color,
                edgecolor=ecolor, zorder=3)
            plt.plot(date, real, 'bo-',label = u'AVGPRICE', linewidth=2, markersize=1)
            plt.legend(loc='best')
            #横坐标设置
            ll = range(0, len(df), 1)
            my_xticks = df.index[ll]
            plt.xticks(ll,my_xticks)
            plt.xticks(rotation=15)
            #横纵坐标标签及其大小
            plt.xlabel('Date', fontsize=15)
            plt.ylabel('Price', fontsize=15)
            plt.tick_params(labelsize=12)
            plt.grid(linestyle=':')
            plt.show()
            #前端展示图形
            fig = ax.get_figure()
            canvas = fig.canvas
            buffer = io.BytesIO()
            canvas.print_png(buffer)
            data_img = buffer.getvalue()
            buffer.close()
            #输出图片和数据
            output['img_AVGPRICE'] = data_img
            output['data_AVGPRICE'] = [title]+data
            return output
        except Exception as e:
            msg["status"] = False
            msg["error"] = '执行失败:%s' % e
        return msg
    if __name__ == '__main__':
        datax = nosupervision_read_data()
        print(get_AVGPRICE(datax,code='600519'))
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
    # 数值计算示例
    # 计算给定列的中位数
    import pandas as pd
    import numpy as np
    def median_func(datax):
        msg = {'status': True, 'error': None, 'success': None, 'data': None}
        try:
            NAME = 'median_func'
            CLASS = 'Unsupervised_Learning'
            col = datax[0]
            data = pd.DataFrame(datax[1:len(datax)], columns=col)
            data = data.convert_objects(convert_numeric=True)
            col.insert(0, '')
            ''' BODY '''
            median_Matrix = data.median()
            ''' MODEL RESULTS TABLEs'''
            result_data = median_Matrix
            output = {}
            output["function_name"] = NAME
            output["function_class"] = CLASS
            result = [col, ['中位数'] + result_data.fillna('nan').values.tolist()]
            output[u'data_模型结果'] = result
            # msg["data"] = output
            return output
        except ValueError as v:
            print(v)
            msg["status"] = False
            msg["error"] = '数据格式不正确:%s' % v
        return msg
    if __name__ == "__main__":
        datax = nosupervision_read_data()
        print(median_func(datax))

    标准化设置

    输入数据设置

    算法函数名:
    数值列X名称:
    数值列X导入规则:示例
    分组列y名称:
    分组列y导入规则:示例

    算法介绍

    算法名称:
    内容:

    更多

    算法注释

    注释1:

    更多

    算法图标

    算法参数设置

    No.1
    参数名设置 : 对应参数变量:暂无
    参数的说明 :
    参数值类型 :

    参数值设置 :

    手动输入

    取值范围

    下拉选择
    条件输入

    继续添加参数设置

    确定
    重置
    提交算法

    算法信息

      请选择算法图标

    选择标签

    平台标签

    自定义标签

      模板保存
      算法暂存
      算法提交
      取消编辑
      提交算法
      算法名称
      算法分类
      • 文本分析
      • 机器学习
      • 计算机视觉
      • 深度学习
      算法描述
      选择标签

      自定义标签

      取消 算法暂存 算法提交

      文件上传中,请耐心等待...

      模型结果展示

      结果展示

      Console输出