示例#1
0
# %% Import for Bokeh

from bokeh.io import curdoc
from bokeh.layouts import (row, column, widgetbox, layout)
from bokeh.models import (ColumnDataSource, DataRange1d, Plot, LinearAxis,
                          Grid, Range1d)
from bokeh.models.glyphs import VBar
from bokeh.models.widgets import (Slider, TextInput, Paragraph, DataTable,
                                  TableColumn, Button)
from bokeh.plotting import figure

# %% Random Forest

dm.init()
data = dm.load('winequality_red')
dataX = data.iloc[:, :-1]
dataY = data.iloc[:, -1]  # data.iloc[:,[ -1]]

trainX, testX, trainY, testY = train_test_split(dataX,
                                                dataY,
                                                test_size=.4,
                                                shuffle=True,
                                                random_state=123)

model = RandomForestRegressor()
model.fit(trainX, trainY)

df_importance = pd.DataFrame({
    'feature': trainX.columns,
    'score': model.feature_importances_
示例#2
0
@author: Young Ju Kim
"""


if __name__ == '__main__':
    #%% Sample datasets
    import unipy.dataset.api as dm

    # Extract Datasets for the first time
    dm.init()

    # Reset Datasets
    dm.reset()

    # Get a Dataset list
    dm.ls()

    # Load Datasets
    wine1 = dm.load('winequality_red')
    wine2 = dm.load('winequality_white')

    #%% VIF
    #from unipy.stats import feature_selection_vif as fsv

    #res, drp = fsv(wine1, thresh=5.0)


    #%% Inter-Action
    #from unipy.stats import calculate_interaction
    #rankedInter, regCoef, interActTbl = calculate_interaction(ranked, pvTbl, targetedCol, ranknum=10)
示例#3
0
# -*- coding: utf-8 -*-
"""
Created on Thu Jan  5 20:55:26 2017

@author: Young Ju Kim
"""

if __name__ == '__main__':
    # Import dataset manager
    import unipy.dataset.api as dm

    # Extract Datasets for the first time
    dm.init()

    # Reset Datasets
    dm.reset()

    # Get a Dataset list
    dm.ls()

    # Load Datasets
    data = dm.load('anscombe')
    data = dm.load(2)
示例#4
0
    def setupUi(self, unipyFrameViewerWindow):
        unipyFrameViewerWindow.setObjectName("unipyFrameViewerWindow")
        unipyFrameViewerWindow.resize(1300, 857)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            unipyFrameViewerWindow.sizePolicy().hasHeightForWidth())
        unipyFrameViewerWindow.setSizePolicy(sizePolicy)
        self.centralwidget = QtWidgets.QWidget(unipyFrameViewerWindow)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.centralwidget.sizePolicy().hasHeightForWidth())
        self.centralwidget.setSizePolicy(sizePolicy)
        self.centralwidget.setObjectName("centralwidget")
        self.main_indicator_frame_rowcol_number = QtWidgets.QLabel(
            self.centralwidget)
        self.main_indicator_frame_rowcol_number.setGeometry(
            QtCore.QRect(210, 30, 251, 17))
        self.main_indicator_frame_rowcol_number.setObjectName(
            "main_indicator_frame_rowcol_number")
        self.tabMenu_vertical_line = QtWidgets.QFrame(self.centralwidget)
        self.tabMenu_vertical_line.setGeometry(QtCore.QRect(190, 80, 20, 721))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.tabMenu_vertical_line.sizePolicy().hasHeightForWidth())
        self.tabMenu_vertical_line.setSizePolicy(sizePolicy)
        self.tabMenu_vertical_line.setFrameShape(QtWidgets.QFrame.VLine)
        self.tabMenu_vertical_line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.tabMenu_vertical_line.setObjectName("tabMenu_vertical_line")
        self.main_toolBox = QtWidgets.QToolBox(self.centralwidget)
        self.main_toolBox.setGeometry(QtCore.QRect(10, 70, 181, 721))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.main_toolBox.sizePolicy().hasHeightForWidth())
        self.main_toolBox.setSizePolicy(sizePolicy)
        self.main_toolBox.setObjectName("main_toolBox")
        self.columns_page = QtWidgets.QWidget()
        self.columns_page.setGeometry(QtCore.QRect(0, 0, 181, 628))
        self.columns_page.setObjectName("columns_page")
        self.columns_select_col_listView = QtWidgets.QListWidget(
            self.columns_page)
        self.columns_select_col_listView.setGeometry(
            QtCore.QRect(0, 10, 181, 261))
        self.columns_select_col_listView.setDragEnabled(True)
        self.columns_select_col_listView.setSelectionMode(
            QtWidgets.QAbstractItemView.ExtendedSelection)
        self.columns_select_col_listView.setObjectName(
            "columns_select_col_listView")
        self.columns_remain_col_listView = QtWidgets.QListWidget(
            self.columns_page)
        self.columns_remain_col_listView.setGeometry(
            QtCore.QRect(0, 354, 181, 231))
        self.columns_remain_col_listView.setDragEnabled(True)
        self.columns_remain_col_listView.setSelectionMode(
            QtWidgets.QAbstractItemView.ExtendedSelection)
        self.columns_remain_col_listView.setObjectName(
            "columns_remain_col_listView")
        self.columns_to_select_button = QtWidgets.QPushButton(
            self.columns_page)
        self.columns_to_select_button.setGeometry(QtCore.QRect(
            26, 316, 61, 21))
        font = QtGui.QFont()
        font.setPointSize(9)
        font.setBold(True)
        font.setItalic(True)
        font.setWeight(75)
        self.columns_to_select_button.setFont(font)
        self.columns_to_select_button.setObjectName("columns_to_select_button")
        self.columns_indicator_select_col_number = QtWidgets.QLabel(
            self.columns_page)
        self.columns_indicator_select_col_number.setGeometry(
            QtCore.QRect(3, 272, 171, 17))
        self.columns_indicator_select_col_number.setObjectName(
            "columns_indicator_select_col_number")
        self.columns_indicator_remain_col_number = QtWidgets.QLabel(
            self.columns_page)
        self.columns_indicator_remain_col_number.setGeometry(
            QtCore.QRect(3, 590, 171, 16))
        self.columns_indicator_remain_col_number.setObjectName(
            "columns_indicator_remain_col_number")
        self.columns_to_remain_button = QtWidgets.QPushButton(
            self.columns_page)
        self.columns_to_remain_button.setGeometry(QtCore.QRect(
            88, 316, 61, 21))
        font = QtGui.QFont()
        font.setPointSize(9)
        font.setBold(True)
        font.setItalic(True)
        font.setWeight(75)
        self.columns_to_remain_button.setFont(font)
        self.columns_to_remain_button.setObjectName("columns_to_remain_button")
        self.main_toolBox.addItem(self.columns_page, "")
        self.groupby_page = QtWidgets.QWidget()
        self.groupby_page.setObjectName("groupby_page")
        self.groupby_groupkey_listView = QtWidgets.QListWidget(
            self.groupby_page)
        self.groupby_groupkey_listView.setGeometry(
            QtCore.QRect(0, 30, 181, 151))
        self.groupby_groupkey_listView.setObjectName(
            "groupby_groupkey_listView")
        self.groupby_targetkey_listView = QtWidgets.QListWidget(
            self.groupby_page)
        self.groupby_targetkey_listView.setGeometry(
            QtCore.QRect(0, 250, 181, 101))
        self.groupby_targetkey_listView.setObjectName(
            "groupby_targetkey_listView")
        self.groupby_groupkey_label = QtWidgets.QLabel(self.groupby_page)
        self.groupby_groupkey_label.setGeometry(QtCore.QRect(0, 10, 101, 17))
        self.groupby_groupkey_label.setObjectName("groupby_groupkey_label")
        self.groupby_aggfunc_label = QtWidgets.QLabel(self.groupby_page)
        self.groupby_aggfunc_label.setGeometry(QtCore.QRect(13, 200, 61, 17))
        self.groupby_aggfunc_label.setObjectName("groupby_aggfunc_label")
        self.groupby_aggfunc_comboBox = QtWidgets.QComboBox(self.groupby_page)
        self.groupby_aggfunc_comboBox.setGeometry(QtCore.QRect(
            79, 196, 85, 27))
        self.groupby_aggfunc_comboBox.setObjectName("groupby_aggfunc_comboBox")
        self.groupby_targetkey_label = QtWidgets.QLabel(self.groupby_page)
        self.groupby_targetkey_label.setGeometry(QtCore.QRect(0, 230, 101, 17))
        self.groupby_targetkey_label.setObjectName("groupby_targetkey_label")
        self.groupby_remains_listView = QtWidgets.QListWidget(
            self.groupby_page)
        self.groupby_remains_listView.setGeometry(
            QtCore.QRect(0, 390, 181, 181))
        self.groupby_remains_listView.setObjectName("groupby_remains_listView")
        self.groupby_remains_label = QtWidgets.QLabel(self.groupby_page)
        self.groupby_remains_label.setGeometry(QtCore.QRect(0, 370, 101, 17))
        self.groupby_remains_label.setObjectName("groupby_remains_label")
        self.groupby_run_button = QtWidgets.QPushButton(self.groupby_page)
        self.groupby_run_button.setGeometry(QtCore.QRect(37, 580, 99, 27))
        self.groupby_run_button.setObjectName("groupby_run_button")
        self.main_toolBox.addItem(self.groupby_page, "")
        self.sql_page = QtWidgets.QWidget()
        self.sql_page.setGeometry(QtCore.QRect(0, 0, 181, 628))
        self.sql_page.setObjectName("sql_page")
        self.sql_run_button = QtWidgets.QPushButton(self.sql_page)
        self.sql_run_button.setGeometry(QtCore.QRect(30, 610, 99, 27))
        self.sql_run_button.setObjectName("sql_run_button")
        self.sql_plainTextEdit = QtWidgets.QPlainTextEdit(self.sql_page)
        self.sql_plainTextEdit.setGeometry(QtCore.QRect(0, 0, 181, 591))
        self.sql_plainTextEdit.setObjectName("sql_plainTextEdit")
        self.main_toolBox.addItem(self.sql_page, "")
        self.main_tableView = QtWidgets.QTableView(self.centralwidget)
        self.main_tableView.setGeometry(QtCore.QRect(210, 70, 1081, 731))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.main_tableView.sizePolicy().hasHeightForWidth())
        self.main_tableView.setSizePolicy(sizePolicy)
        self.main_tableView.setProperty("showDropIndicator", True)
        self.main_tableView.setDragEnabled(True)
        self.main_tableView.setTextElideMode(QtCore.Qt.ElideLeft)
        self.main_tableView.setGridStyle(QtCore.Qt.SolidLine)
        self.main_tableView.setSortingEnabled(True)
        self.main_tableView.setObjectName("main_tableView")
        self.main_tableView.horizontalHeader().setCascadingSectionResizes(
            False)
        self.main_tableView.horizontalHeader().setDefaultSectionSize(110)
        self.main_tableView.horizontalHeader().setSortIndicatorShown(True)
        self.main_tableView.horizontalHeader().setStretchLastSection(False)
        self.main_tableView.verticalHeader().setCascadingSectionResizes(True)
        self.main_tableView.verticalHeader().setHighlightSections(False)
        self.main_tableView.verticalHeader().setSortIndicatorShown(False)
        self.apply_button = QtWidgets.QPushButton(self.centralwidget)
        self.apply_button.setGeometry(QtCore.QRect(105, 20, 71, 31))
        font = QtGui.QFont()
        font.setPointSize(11)
        font.setBold(False)
        font.setItalic(False)
        font.setWeight(50)
        self.apply_button.setFont(font)
        self.apply_button.setObjectName("apply_button")
        self.reset_button = QtWidgets.QPushButton(self.centralwidget)
        self.reset_button.setGeometry(QtCore.QRect(15, 20, 71, 31))
        font = QtGui.QFont()
        font.setPointSize(11)
        font.setBold(False)
        font.setItalic(False)
        font.setWeight(50)
        self.reset_button.setFont(font)
        self.reset_button.setObjectName("reset_button")
        unipyFrameViewerWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(unipyFrameViewerWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1300, 25))
        self.menubar.setObjectName("menubar")
        unipyFrameViewerWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(unipyFrameViewerWindow)
        self.statusbar.setObjectName("statusbar")
        unipyFrameViewerWindow.setStatusBar(self.statusbar)

        self.retranslateUi(unipyFrameViewerWindow)
        self.main_toolBox.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(unipyFrameViewerWindow)

        self.columns_select_col_listView.setDefaultDropAction(
            QtCore.Qt.MoveAction)
        self.columns_select_col_listView.setDragDropMode(
            Qt.QAbstractItemView.DragDrop)
        self.columns_select_col_listView.setSelectionMode(
            Qt.QAbstractItemView.ExtendedSelection)
        self.columns_select_col_listView.setDragEnabled(True)
        self.columns_select_col_listView.setAcceptDrops(True)

        self.columns_remain_col_listView.setDefaultDropAction(
            QtCore.Qt.MoveAction)
        self.columns_remain_col_listView.setDragDropMode(
            Qt.QAbstractItemView.DragDrop)
        self.columns_remain_col_listView.setSelectionMode(
            Qt.QAbstractItemView.ExtendedSelection)
        self.columns_remain_col_listView.setDragEnabled(True)
        self.columns_remain_col_listView.setAcceptDrops(True)

        self.groupby_groupkey_listView.setDefaultDropAction(
            QtCore.Qt.MoveAction)
        self.groupby_groupkey_listView.setDragDropMode(
            Qt.QAbstractItemView.DragDrop)
        self.groupby_groupkey_listView.setSelectionMode(
            Qt.QAbstractItemView.ExtendedSelection)
        self.groupby_groupkey_listView.setDragEnabled(True)
        self.groupby_groupkey_listView.setAcceptDrops(True)

        self.groupby_targetkey_listView.setDefaultDropAction(
            QtCore.Qt.MoveAction)
        self.groupby_targetkey_listView.setDragDropMode(
            Qt.QAbstractItemView.DragDrop)
        self.groupby_targetkey_listView.setSelectionMode(
            Qt.QAbstractItemView.ExtendedSelection)
        self.groupby_targetkey_listView.setDragEnabled(True)
        self.groupby_targetkey_listView.setAcceptDrops(True)

        self.groupby_remains_listView.setDefaultDropAction(
            QtCore.Qt.MoveAction)
        self.groupby_remains_listView.setDragDropMode(
            Qt.QAbstractItemView.DragDrop)
        self.groupby_remains_listView.setSelectionMode(
            Qt.QAbstractItemView.ExtendedSelection)
        self.groupby_remains_listView.setDragEnabled(True)
        self.groupby_remains_listView.setAcceptDrops(True)

        #self.main_tableView.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)

        self.columns_select_col_listView.itemChanged.connect(
            self._recount_settext_colnums_listWidget)
        self.columns_remain_col_listView.itemChanged.connect(
            self._recount_settext_colnums_listWidget)
        #self.columns_remain_col_listView.itemChanged.connect(self._sendto_remain_columns)
        # self.columns_select_col_listView.itemEntered.connect(self._sendto_remain_columns)
        # self.columns_remain_col_listView.itemEntered.connect(self._sendto_select_columns)
        # Custom

        # Auto Calculation
        #self.END_DT_inputText.editingFinished.connect(self.auto_calculate_start_dt)
        #self.TM_WINDOW_inputText.editingFinished.connect(self.auto_calculate_start_dt)

        # Button Operation
        self.columns_to_select_button.clicked.connect(
            self._sendto_select_columns)
        self.columns_to_remain_button.clicked.connect(
            self._sendto_remain_columns)

        self.reset_button.clicked.connect(self._reload_datamodel)
        self.groupby_run_button.clicked.connect(self._groupby_run)
        self.sql_run_button.clicked.connect(self._pandasql_run)
        #self.pushButton_CONFIRM.clicked.connect(self.generate_filename)
        #self.pushButton_GETDATA.clicked.connect(self.get_data)
        #self.pushButton_CANCEL.clicked.connect(MainWindow.close)

        self.main_tableView.setSortingEnabled(True)
        #self.main_tableView.resize(self.main_tableView.maximumWidth(), self.main_tableView.maximumHeight())
        #self.main_tableView.setResizeMode(self.main_tableView.ResizeToContents)
        #self.main_tableView.setSizeAdjustPolicy(self.main_tableView.)
        self.main_tableView.resizeColumnsToContents()
        self.main_tableView.horizontalHeader().setSectionResizeMode(3)

        #data = dm.load('titanic')
        self.original_data = dm.load('adult')
        self.data = self.original_data
        self.dataModel = PandasModel(self.data)
        self.main_tableView.setModel(self.dataModel)

        self.select_colList = self.data.columns.tolist()
        self.remain_colList = []
        self.columns_select_col_listView.addItems(self.select_colList)
        self.columns_remain_col_listView.addItems(self.remain_colList)
        self.groupby_remains_listView.addItems(self.select_colList)

        self.main_indicator_frame_rowcol_number.setText(
            'row:  {rownum},  col: {colnum}'.format(rownum=self.data.shape[0],
                                                    colnum=self.data.shape[1]))

        self._recount_settext_colnums_listWidget()
示例#5
0
    import pandas as pd
    import scipy.stats as st
    import statsmodels
    import statsmodels.api as sm
    import sklearn as skl
    import unipy
    import unipy.dataset.api as dm

    import matplotlib
    matplotlib.use('Agg')

    import matplotlib.pyplot as plt
    import seaborn as sbn

    dm.init()
    data01 = dm.load('iris')
    data02 = data01.iloc[:, :2]

    col01 = data01['sepal_length']
    col02 = data01['sepal_width']
    col03 = data01['petal_length']
    col04 = data01['petal_width']

    data11 = dm.load('adult')
    data11.columns
    data11

    col11 = data11['education']
    col12 = data11['race']

    #data11 = dm.load('titanic')