text:
},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2016},
  title = {Basic Learning Algorithms},
  abstract = {This chapter provides a broad yet methodical introduction to the techniques and practice of machine learning. Machine learning can be used as a tool to create value and insight to help organizations to reach new goals. We have seen the term ‘data-driven’ in earlier chapters and have also realized that data is rather useless until we transform it into information. This transformation of data into information is the rationale for using machine learning.},
  doi = {10.1007/978-3-319-29206-9_3},
  bibtexkey = {akerkar_basic_2016},
  author = {Akerkar, Rajendra, Sajja, Priti Srinivas},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2013},
  title = {A support vector machine (SVM) approach to imbalanced datasets of customer responses: comparison with other customer response models},
  abstract = {Customer response is a crucial aspect of service business. The ability to accurately predict which customer profiles are productive has proven invaluable in customer relationship management. An area that has received little attention in the literature on direct marketing is the class imbalance problem (the very low response rate). We propose a customer response predictive model approach combining recency, frequency, and monetary variables and support vector machine analysis. We have identified three sets of direct marketing data with a different degree of class imbalance (little, moderate, high) and used random undersampling method to reduce the degree of the imbalance problem. We report the empirical results in terms of gain values and prediction accuracy and the impact of random undersampling on customer response model performance. We also discuss these empirical results with the findings of previous studies and the implications for industry practice and future research.},
  doi = {10.1007/s11628-012-0147-9},
  journal = {Service Business},
  bibtexkey = {kim_support_2013},
  author = {Kim, Gitae, Chae, Bongsug Kevin, Olson, David L.},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2008},
  title = {Models of Customer Value},
  abstract = {Customers are critical assets of any company: without customers a firm has no revenues, no profits and no market value. Yet, when a firm faces resource constraints, marketing dollars are typically among the first to be cut. Moreover, of all the senior managers, Chief Marketing Officers have the shortest average tenure. Part of this is due to the inability to show a return on marketing spending. For example, Marketing managers find it hard to quantify how much a company needs to spend to increase customer satisfaction from, say, 4.2 to 4.3 on a 5-point scale as well as what such an increase is worth.},
  doi = {10.1007/978-0-387-78213-3_8},
  bibtexkey = {hillier_models_2008},
  author = {Gupta, Sunil, Lehmann, Donald R.},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2006},
  title = {Applications of Intelligent Technologies in Retail Marketing},
  abstract = {Over the last two decades, various "intelligent technologies" for database analyses have significantly impacted on the design and development of new decision support systems and expert systems in diverse disciplines such as engineering, science, medicine, economics, social sciences and management. So far, however, barring a few noteworthy retailing applications reported in the academic literature, the use of intelligent technologies in retailing management practice is still quite limited. This chapter's objective is to acquaint the reader with the potential of these technologies to provide novel, effective solutions to a number of complex retail management decision problems, as well as stimulating more research and development of such solutions in practice.},
  doi = {10.1007/3-540-28433-8_9},
  bibtexkey = {krafft_applications_2006},
  author = {Ravi, Vadlamani, Raman, Kalyan, K. Mantrala, Murali},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2012},
  title = {Rough Sets for Condition Monitoring},
  abstract = {This chapter applies the rough set technique and the ant colony optimization method for the condition monitoring of transformer bushings. The theories of rough set and ant colony optimization method are described and the method was tested for the condition monitoring of transformer bushings. The rough set optimized using the ant colony optimization method gave 96.1% accuracy using 45 rules while the equal-frequency-bin partition model gave 96.4% accuracy using 206 rules. This, therefore, implies that the ant colony optimization gives marginally better results than the equal-frequency-bin partition method.},
  doi = {10.1007/978-1-4471-2380-4_8},
  bibtexkey = {marwala_rough_2012},
  author = {Marwala, Tshilidzi},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2014},
  title = {Utilizing Customersâ€™ Purchase and Contract Renewal Details to Predict Defection in the Cloud Software Industry},
  abstract = {This study aims to predict customer defection in the growing market of the cloud software industry. Using the original unstructured data of a company, we propose a procedure to identify the actual defection condition (i.e., whether the customer is defecting from the company or merely stopped using a current product to up/downgrade it) and to produce a measure of customer loyalty by compiling the number of customers’ purchases and renewals. Based on the results, we investigated important variables for classifying defecting customers using a random forest and built a prediction model using a decision tree. The final results indicate that defecting customers are mainly characterized by their loyalty and their number of total payments.},
  doi = {10.1007/978-3-319-13332-4_12},
  bibtexkey = {kim_utilizing_2014},
  author = {Martono, Niken Prasasti, Kanamori, Katsutoshi, Ohwada, Hayato},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2018},
  title = {A Study of App User Behaviours: Transitions from Freemium to Premium},
  abstract = {With the increased digitization of businesses and consumers, it is now not unusual for consumer businesses to solely engage with their customers through digital channels. Many such app driven businesses adopt a freemium business model, whereby use of the entry level service is free, whilst provision of premium content and services is for a fee. With no person to person contact with their customers, these businesses must rely on consumer data analytics to guide decisions on consumer marketing to incentivize users to adopt the premium services. This business scenario provides the motivation for this research project. In our research, using machine learning classification techniques, the team identified the key customer app usage attributes which were the main predictors of future paying subscribers.},
  doi = {10.1007/978-3-319-91716-0_31},
  bibtexkey = {nah_study_2018},
  author = {Mulligan, Christopher, Cruz, Carlito Vera, Healy, Donagh, Murphy, David, Hall, Margeret, Nelson, Quinn, Caton, Simon},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2009},
  title = {A Non-sequential Representation of Sequential Data for Churn Prediction},
  abstract = {We investigate the length of event sequence giving best predictions when using a continuous HMM approach to churn prediction from sequential data. Motivated by observations that predictions based on only the few most recent events seem to be the most accurate, a non-sequential dataset is constructed from customer event histories by averaging features of the last few events. A simple K-nearest neighbor algorithm on this dataset is found to give significantly improved performance. It is quite intuitive to think that most people will react only to events in the fairly recent past. Events related to telecommunications occurring months or years ago are unlikely to have a large impact on a customer’s future behaviour, and these results bear this out. Methods that deal with sequential data also tend to be much more complex than those dealing with simple non-temporal data, giving an added benefit to expressing the recent information in a non-sequential manner.},
  doi = {10.1007/978-3-642-04595-0_26},
  bibtexkey = {velasquez_non-sequential_2009},
  author = {Eastwood, Mark, Gabrys, Bogdan},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2010},
  title = {Ranking Cases with Classification Rules},
  abstract = {Many real-world machine learning applications require a ranking of cases, in addition to their classification. While classification rules are not a good representation for ranking, the human comprehensibility aspect of rules makes them an attractive option for many ranking problems where such model transparency is desired. There have been numerous studies on ranking with decision trees, but not many on ranking with decision rules. Although rules are similar to decision trees in many respects, there are important differences between them when used for ranking. In this chapter, we propose a framework for ranking with rules. The framework extends and substantially improves on the reported methods for ranking with decision trees. It introduces three types of rule-based ranking methods: post analysis of rules, hybrid methods, and multiple rule set analysis. We also study the impact of rule learning bias on the ranking performance. While traditional measures used for ranking performance evaluation tend to focus on the entire rank ordered list, the aim of many ranking applications is to optimize the performance on only a small portion of the top ranked cases. Accordingly, we propose a simple method for measuring the performance of a classification or ranking algorithm that focuses on these top ranked cases. Empirical studies have been conducted to evaluate some of the proposed methods.},
  doi = {10.1007/978-3-642-14125-6_8},
  bibtexkey = {furnkranz_ranking_2010},
  author = {Zhang, Jianping, Bala, Jerzy W., Hadjarian, Ali, Han, Brent},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2020},
  title = {Using Support Vector Machine for the Prediction of Unpaid Credit Card Debts},
  abstract = {Customer behavior prediction is gaining more importance in the banking sector like in any other sector recently. This study aims to propose a model to predict whether credit card users will pay their debts or not. Using the proposed model, potential unpaid risks can be predicted with high accuracy and necessary actions can be taken in time. For forecasting the customers’ payment status of next months, we use support vector machine which is one of the traditional artificial intelligent algorithms. Our dataset includes 30000 customer’s records obtained from a large bank in Taiwan. These records consist of customer information such as amount of credit, gender, education level, marital status, age, past payment records, invoice amount and amount of credit card payments. We apply cross validation and hold-out method to divide our dataset into two parts as training and test sets. Then, we evaluate prediction accuracy of the algorithm using performance metrics. The evaluation results show that support vector machine provides high accuracy (more than 80%) to forecast the customers’ payment status for next month.},
  doi = {10.1007/978-3-030-23756-1_47},
  bibtexkey = {kahraman_using_2020},
  author = {Yontar, Meltem, DaÄŸ, Ã–zge HÃ¼sniye NamlÄ±, YanÄ±k, Seda},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2019},
  title = {Introducing Clustering with a Focus in Marketing and Consumer Analysis},
  abstract = {Clustering has become an extremely popular methodology for consumer analysis with many business applications. Mainly, when a consumer market needs to be segmented, clustering methodologies are some of the most common ways of doing so nowadays. Clustering, however, is a hugely heterogeneous field in itself with advances and explanations coming from many different disciplines. Clustering has been discussed in debates almost as heated as those about politics or religions, yet still, researchers and professionals agree on the methodology’s usefulness in data    analytics. This chapter provides the novice data scientist with a brief introduction and review of the field with links to previous large surveys and reviews for recommended further reading. The clustering contributions in this book focus largely on partitional clustering; hence, this is the type of clustering that will feature more prominently in this chapter. Besides sparking the interest of business and marketing researchers and professionals into this ever evolving methodological field, we aim at inspiring dedicated computer scientists and data analysts to continue to explore the wide application domains coming from business and consumer    analytics in which clustering and grouping are making great strides.},
  doi = {10.1007/978-3-030-06222-4_3},
  bibtexkey = {moscato_introducing_2019},
  author = {de Vries, Natalie Jane, Olech, Å ukasz P., Moscato, Pablo},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2018},
  title = {Business-to-Business Client Relationships in the Cloud Computing Software as a Service Realm},
  abstract = {Business-to-Business (B2B) and Business-to-Consumer (B2C) markets are discussed before B2B Software as a Service (SaaS) supplier–subscriber relationships are explored. The progressive customer relationship management (CRM) framework is adapted to the B2B SaaS market, incorporating a guide to data mining in this environment. Subscriber needs, motivation and expectations along with their approach to opportunity: risk assessment is considered before contemplating the expectation of value co-creation between the B2B subscriber and provider. Initial subscription criteria are presented before discussing the building of a sustainable client relationship through the delivery of a consistent quality service and the pursuit of both trust and loyalty as evolving assets.},
  doi = {10.1007/978-3-319-63994-9_5},
  bibtexkey = {dempsey_business--business_2018},
  author = {Dempsey, David, Kelliher, Felicity},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2010},
  title = {Customer-Centric Decision Support: A Benchmarking Study of Novel Versus Established Classification Models},
  abstract = {Classification analysis is an important tool to support decision making in customer-centric applications like, e.g., proactively identifying churners or selecting responsive customers for direct-marketing campaigns. Whereas the development of novel classification algorithms is a popular avenue for research, corresponding advancements are rarely adopted in corporate practice. This lack of diffusion may be explained by a high degree of uncertainty regarding the superiority of novel classifiers over well established counterparts in customer-centric settings. To overcome this obstacle, an empirical study is undertaken to assess the ability of several novel as well as traditional classifiers to form accurate predictions and effectively support decision making. The results provide strong evidence for the appropriateness of novel methods and indicate that they offer economic benefits under a variety of conditions. Therefore, an increase in use of respective procedures can be recommended.},
  doi = {10.1007/s12599-010-0094-8},
  journal = {Business \& Information Systems Engineering},
  bibtexkey = {lessmann_customer-centric_2010},
  author = {Lessmann, Stefan, VoÃŸ, Stefan},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2013},
  title = {Intelligent churn prediction in telecom: employing mRMR feature selection and RotBoost based ensemble classification},
  abstract = {Churn prediction in telecom has recently gained substantial interest of stakeholders because of associated revenue losses.Predicting telecom churners, is a challenging problem due to the enormous nature of the telecom datasets. In this regard, we propose an intelligent churn prediction system for telecom by employing efficient feature extraction technique and ensemble method. We have used Random Forest, Rotation Forest, RotBoost and DECORATE ensembles in combination with minimum redundancy and maximum relevance (mRMR), Fisher’s ratio and F-score methods to model the telecom churn prediction problem. We have observed that mRMR method returns most explanatory features compared to Fisher’s ratio and F-score, which significantly reduces the computations and help ensembles in attaining improved performance. In comparison to Random Forest, Rotation Forest and DECORATE, RotBoost in combination with mRMR features attains better prediction performance on the standard telecom datasets. The better performance of RotBoost ensemble is largely attributed to the rotation of feature space, which enables the base classifier to learn different aspects of the churners and non-churners. Moreover, the Adaboosting process in RotBoost also contributes in achieving higher prediction accuracy by handling hard instances. The performance evaluation is conducted on standard telecom datasets using AUC, sensitivity and specificity based measures. Simulation results reveal that the proposed approach based on RotBoost in combination with mRMR features (CP-MRB) is effective in handling high dimensionality of the telecom datasets. CP-MRB offers higher accuracy in predicting churners and thus is quite prospective in modeling the challenging problems of customer churn prediction in telecom.},
  doi = {10.1007/s10489-013-0440-x},
  journal = {Applied Intelligence},
  bibtexkey = {idris_intelligent_2013},
  author = {Idris, Adnan, Khan, Asifullah, Lee, Yeon Soo},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2019},
  title = {Marketing of Media and Information},
  abstract = {The marketing of media products and services differ from the marketing of other products in a variety of ways, in particular because it is often two-sided: it requires the promotion of media products to end users and for the promotion of the media outlet to advertisers. The authors discuss the role of marketing in the product design. The analysis of positioning requires demand and audience studies, diffusion models, competitor analysis, and branding. Several dimensions of promotion are then discussed: timing; word of mouth; publicity and public relations; and product placement. The authors then look at advertising: optimal budgets and the mix of media choices. Critical to success is promotion to advertisers, retailers, and distributors, all with their own techniques. These marketing activities have been impacted by the Internet with its new tools and approaches. The authors then analyze the promotion of media products—film, TV channels, music, books, newspapers, magazines, videogames, and technology. Next discussed is the regulation of marketing. The authors conclude by investigating marketing performance tools. The issues are highlighted by a case discussion on the marketing efforts for a planned magazine by Condé Nast.},
  doi = {10.1007/978-3-319-71288-8_10},
  bibtexkey = {noam_marketing_2019},
  author = {Noam, Eli M.},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2004},
  title = {Soft Computing Based Decision Making and DSS},
  abstract = {A classical (crisp) linear programming problem can be written as
$$\begin{array}{l}
\max imize\quad Z = cx\\
subject\,to\quad Ax \le b,\quad x \ge 0
\end{array}$$ (5.1) where Z denotes the objective, Ax=b represents the set of (rigid) constraints and x are the structural variables.},
  doi = {10.1007/978-3-540-44429-9_5},
  bibtexkey = {kacprzyk_soft_2004},
  author = {Aliev, Rafik Aziz, Fazlollahi, Bijan, Aliev, Rashad Rafik},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2013},
  title = {Rough Sets Approach to Economic Modeling: Unlocking Knowledge in Financial Data},
  abstract = {Building models to accurately forecast financial markets has drawn the attention of economists, bankers, mathematicians and scientists alike. The financial markets are the foundation of every economy and there are many aspects that affect the direction, volume, price, and flow of traded stocks. The markets’ weakness to external and non-financial features as well as the ensuing volatility makes the development of a robust and accurate financial market forecasting model an interesting problem. In this chapter a rough set theory based forecasting model is applied to the financial markets to identify a set of reducts and possibly a set of trading rules based on trading data.},
  doi = {10.1007/978-1-4471-5010-7_6},
  bibtexkey = {marwala_rough_2013},
  author = {Marwala, Tshilidzi},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2017},
  title = {Marketing Models for the Customer-Centric Firm},
  abstract = {A customer-centric firm takes the view that there are three key drivers of (organic) growth and overall profitability: Customer acquisition , customer retention , and customer development (i.e., increasing the value of each existing customer (per unit of time) while they remain a customer). In this chapter we review the key data-based tools and methods that have been developed by marketing scientists (and researchers and practitioners in related fields such as operations research, statistics, and computer science) to assist firms in their understanding and implementing these activities more effectively.},
  doi = {10.1007/978-3-319-56941-3_10},
  bibtexkey = {wierenga_marketing_2017},
  author = {Ascarza, Eva, Fader, Peter S., Hardie, Bruce G. S.},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2020},
  title = {Predicting the customerâ€™s opinion on amazon products using selective memory architecture-based convolutional neural network},
  abstract = {Opinion mining and sentiment analysis are useful to extract subjective information out of bulk text documents. Predicting the customer’s opinion on amazon products has several benefits like reducing customer churn, agent monitoring, handling multiple customers, tracking overall customer satisfaction, quick escalations, and upselling opportunities. Though performing sentiment analysis is a challenging task for the researchers to identify the user’s sentiments from the large datasets, it is unstructured in nature, and also includes slangs, misspells, and abbreviations. To address this problem, a new proposed system is developed in this research study. Here, the proposed system comprises of four major phases; they are data collection, pre-processing, keyword extraction, and classification. Initially, the input data were collected from the dataset: amazon customer review. After collecting the data, pre-processing was carried out for enhancing the quality of collected data. The pre-processing phase comprises of three systems: lemmatization, review spam detection, and removal of stop words and URLs. Then, an effective topic modelling approach latent Dirichlet allocation along with modified possibilistic fuzzy C-Means was applied to extract the keywords and also helps in identifying the concerned topics. The extracted keywords were classified into three forms (positive, negative, and neutral) by applying an effective machine learning classifier: Selective memory architecture-based convolutional neural network. The experimental outcome showed that the proposed system enhanced the accuracy in sentiment analysis up to 6–20% related to the existing systems.
},
  doi = {10.1007/s11227-019-03081-4},
  journal = {The Journal of Supercomputing},
  bibtexkey = {mandhula_predicting_2020},
  author = {Mandhula, Trupthi, Pabboju, Suresh, Gugulotu, Narsimha},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2020},
  title = {Clustering Bank Customer Complaints on Social Media for Analytical CRM via Multi-objective Particle Swarm Optimization},
  abstract = {The ease of access to social media and its wide reach has made it the preferred platform for consumers to express their opinions and grievances regarding all types of products and services. As such, it serves as a fertile ground for organizations to deploy analytical customer relationship management (ACRM) and generate business insights of tremendous value. Of particular importance is identifying and quickly resolving customer complaints. If not redressed, these complaints could lead to customer churn and when addressed quickly and efficiently, they can double the profits. This automatic product-wise clustering of complaints helps in better sentiment analysis on products and services. In this paper, two variants of a novel multi-objective clustering algorithm are proposed with applications to sentiment analysis, an important area of analytical CRM in banking industry. The first variant, MOPSO-CD-Kmeans, employs Multi-objective Particle Swarm Optimization along with heuristics of K-means and the second variant, MOPSO-CD-SKmeans employs the same multi-objective particle swarm optimization along with the heuristics of Spherical K-means to find an optimal partitioning of the data. Two clustering criteria were considered as objective functions to be optimized to find a set of Pareto optimal solutions, and then the Silhouette Index was employed to determine the optimal number of clusters. The algorithm is then tested on bank based complaint datasets related to four Indian banks. Experiments indicate that MOPSO-CD-SKmeans is able to achieve promising results in terms of product-wise clustering of complaints and could outperform the first variant.},
  doi = {10.1007/978-3-030-33820-6_9},
  bibtexkey = {rout_clustering_2020},
  author = {Gavval, Rohit, Ravi, Vadlamani},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2017},
  title = {Extracting optimal actionable plans from additive tree models},
  abstract = {Although amazing progress has been made in machine learning to achieve high generalization accuracy and efficiency, there is still very limited work on deriving meaningful decision-making actions from the resulting models. However, in many applications such as advertisement, recommendation systems, social networks, customer relationship management, and clinical prediction, the users need not only accurate prediction, but also suggestions on actions to achieve a desirable goal (e.g., high ads hit rates) or avert an undesirable predicted result (e.g., clinical deterioration). Existing works for extracting such actionability are few and limited to simple models such as a decision tree. The dilemma is that those models with high accuracy are often more complex and harder to extract actionability from.In this paper, we propose an effective method to extract actionable knowledge from additive tree models (ATMs), one of the most widely used and best off-the-shelf classifiers. We rigorously formulate the optimal actionable planning (OAP) problem for a given ATM, which is to extract an actionable plan for a given input so that it can achieve a desirable output while maximizing the net profit. Based on a state space graph formulation, we first propose an optimal heuristic search method which intends to find an optimal solution. Then, we also present a sub-optimal heuristic search with an admissible and consistent heuristic function which can remarkably improve the efficiency of the algorithm. Our experimental results demonstrate the effectiveness and efficiency of the proposed algorithms on several real datasets in the application domain of personal credit and banking.},
  doi = {10.1007/s11704-016-5273-4},
  journal = {Frontiers of Computer Science},
  bibtexkey = {lu_extracting_2017},
  author = {Lu, Qiang, Cui, Zhicheng, Chen, Yixin, Chen, Xiaoping},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2013},
  title = {Improving Tree-Based Classification Rules Using a Particle Swarm Optimization},
  abstract = {The main advantage of tree classifiers is to provide rules that are simple in form and are easily interpretable. Since decision tree is a top-down algorithm using a divide and conquer induction process, there is a risk of reaching a local optimal solution. This paper proposes a procedure of optimally determining the splitting variables and their thresholds for a decision tree using an adaptive particle swarm optimization. The proposed method consists of three phases – tree construction, threshold optimization and rule simplification. To validate the proposed algorithm, several artificial and real datasets are used. We compare our results with the original CART results and show that the proposed method is promising for improving prediction accuracy.},
  doi = {10.1007/978-3-642-40361-3_2},
  bibtexkey = {emmanouilidis_improving_2013},
  author = {Jun, Chi-Hyuck, Cho, Yun-Ju, Lee, Hyeseon},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2016},
  title = {Big Data 2.0 Processing Systems: Taxonomy and Open Challenges},
  abstract = {Data is key resource in the modern world. Big data has become a popular term which is used to describe the exponential growth and availability of data. In practice, the growing demand for large-scale data processing and data analysis applications spurred the development of novel solutions from both the industry and academia. For a decade, the MapReduce framework, and its open source realization, Hadoop, has emerged as a highly successful framework that has created a lot of momentum in both the research and industrial communities such that it has become the defacto standard of big data processing platforms. However, in recent years, academia and industry have started to recognize the limitations of the Hadoop framework in several application domains and big data processing scenarios such as large scale processing of structured data, graph data and streaming data. Thus, we have witnessed an unprecedented interest to tackle these challenges with new solutions which constituted a new wave of mostly domain-specific, optimized big data processing platforms. In this article, we refer to this new wave of systems as Big Data 2.0 processing systems. To better understand the latest ongoing developments in the world of big data processing systems, we provide a taxonomy and detailed analysis of the state-of-the-art in this domain. In addition, we identify a set of the current open research challenges and discuss some promising directions for future research.},
  doi = {10.1007/s10723-016-9371-1},
  journal = {Journal of Grid Computing},
  bibtexkey = {bajaber_big_2016},
  author = {Bajaber, Fuad, Elshawi, Radwa, Batarfi, Omar, Altalhi, Abdulrahman, Barnawi, Ahmed, Sakr, Sherif},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2017},
  title = {Pillars of artificial intelligence},
  abstract = {The major goal of this elaboration is to work out how specific aspects of the human mind, namely those responsible for higher cognitive functions, function, and to figure out which hardware is required to process an artificial mind with the same, similar or superior capabilities. For this, I will focus on any approach that allows us to reproduce cognitive capabilities, but not necessarily achieve this target by the same means as evolution did. It makes sense, at this point, to provide an introduction to artificial intelligence in order to understand which areas of the neocortex are subject to AI research and development.},
  doi = {10.1007/978-3-658-16176-7_2},
  bibtexkey = {neukart_pillars_2017},
  author = {Neukart, Florian},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2019},
  title = {Topics in Substance of Data Analysis},
  abstract = {This is an introductory chapter in which (i) The goals of core data analysis as a tool helping to enhance and augment knowledge of the domain are outlined. Since knowledge is represented by the concepts and statements of relation between them, two main pathways for data analysis are summarization, for developing and augmenting concepts, and correlation, for enhancing and establishing relations.  (ii) A set of eight cases involving small datasets and related data analysis problems is presented. The datasets are taken from various fields such as monitoring market towns, computer security protocols, bioinformatics, and cognitive psychology.  (iii) An overview of data visualization, its goals and some techniques, is given.  (iv) A general view of strengths and pitfalls of data analysis is provided.  (v) An overview of the concept of classification as a soft knowledge structure widely used in theory and practice is given.  },
  doi = {10.1007/978-3-030-00271-8_1},
  bibtexkey = {mirkin_topics_2019},
  author = {Mirkin, Boris},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2019},
  title = {A model to analyze the challenge of using cyber insurance},
  abstract = {This work analyzes and extends insurance dynamics in the context of cyber risk. Cyber insurance contracts, when used as a means to manage residual cyber risk, could behave differently from other traditional (e.g., property) insurance. One important difference arises from the complexity involved in the post-breach decision of whether and how a firm should optimally plan to claim indemnity in the event of a cyber breach. We define different types of cyber breaches leading to different claiming scenarios, whose roots lie in the impact of secondary loss caused by certain but not all types of breaches. We build a model to capture the impact of secondary loss in structuring the use of cyber insurance and then combine the backward analysis of myriad breach scenarios to derive the overall optimal decision to purchase cyber insurance. We demonstrate that the optimal purchase decision depends on the mix of the types of cyber breaches that a firm faces. Numerical experiments corroborate market observation of limited use of cyber insurance after 20 years from when these products became available.},
  doi = {10.1007/s10796-017-9737-3},
  journal = {Information Systems Frontiers},
  bibtexkey = {bandyopadhyay_model_2019},
  author = {Bandyopadhyay, Trid, Mookerjee, Vijay},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2011},
  title = {An Application of Locally Linear Model Tree Algorithm for Predictive Accuracy of Credit Scoring},
  abstract = {Economical crisis in recent years leads the banks to pay more attention to credit risk assessment. Financial institutes have used various kinds of decision support systems, to reduce their credit risk. Credit scoring is one of the most important systems that have been used by the banks and financial institutes. In this paper, an application of locally linear model tree (LOLIMOT) algorithm was experimented to improve the predictive accuracy of credit scoring. Using the Australian credit data from UCI machine learning database repository, the algorithm was found an increase in predictive accuracy in comparison with some other well-known methods in the credit scoring area. The experiments also indicate that LOLIMOT get the best result in terms of average accuracy and type I and II error.},
  doi = {10.1007/978-3-642-24443-8_15},
  bibtexkey = {bellatreche_application_2011},
  author = {Siami, Mohammad, Gholamian, Mohammad Reza, Basiri, Javad, Fathian, Mohammad},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2010},
  title = {Applying CHAID for logistic regression diagnostics and classification accuracy improvement},
  abstract = {In this study a CHAID-based approach to detecting classification accuracy heterogeneity across segments of observations is proposed. This helps to solve some important problems, facing a model-builder: (1) How to automatically detect segments in which the model significantly underperforms? and (2) How to incorporate the knowledge about classification accuracy heterogeneity across segments to partition observations in order to achieve better predictive accuracy? The approach was applied to churn data from the UCI Repository of Machine Learning Databases. By splitting the data set into four parts, which are based on the decision tree, and building a separate logistic regression scoring model for each segment we increased the accuracy by more than 7 percentage points on the test sample. Significant increase in recall and precision was also observed. It was shown that different segments may have absolutely different churn predictors. Therefore such a partitioning gives a better insight into factors influencing customer behavior.},
  doi = {10.1057/jt.2010.3},
  journal = {Journal of Targeting, Measurement and Analysis for Marketing},
  bibtexkey = {antipov_applying_2010},
  author = {Antipov, Evgeny, Pokryshevskaya, Elena},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2016},
  title = {Advanced Solutions},
  abstract = {Information and communication technology (ICT) based solutions has been important for insurance companies. Nevertheless, many insurance companies have devoted less resources to insurance information systems as compared to other financial services such as banking. The situation is changing, however, as digital insurance is becoming more and more important for insurance companies. There are several reasons why this is happening that are connected with
 customers,  technology, and  design. },
  doi = {10.1057/9781137553270_5},
  bibtexkey = {nicoletti_advanced_2016},
  author = {Nicoletti, Bernardo},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2018},
  title = {Learning from users: a data-driven method of QoE evaluation for Internet video},
  abstract = {Improving quality of experience (QoE) is increasingly significant for Internet video content providers. The essential issue is how to evaluate QoE under the complex circumstance of Internet video. Based on the massive user data extracted from a large scale Video-on-Demand (VoD) provider, we present a data-driven, comprehensive and extendible study on the problems of QoE evaluation. The main works of this paper include obtaining QoE-associated features via feature engineering and building an evaluation model on features of different aspects for Internet video QoE. Firstly, for feature engineering, we propose to introduce pattern features of user viewing behaviors that interact with user-perceived video quality. A new method of frequent time series pattern mining is proposed to find typical patterns. We correlate user experience with user-perceived quality features and user behavior pattern features, and consider the impact of confounding factors by applying them as context features into modeling. Secondly, interdependency among features is challenging for QoE evaluation modeling. And the high dimension of feature vector should be considered. To address these challenges, we develop an ensemble method to model the interactions between features and their intricate relationships to user experience. Experiments demonstrate that our approach could achieve sound results in comparison with other related works.},
  doi = {10.1007/s11042-018-5918-4},
  journal = {Multimedia Tools and Applications},
  bibtexkey = {yue_learning_2018},
  author = {Yue, Ting, Wang, Hongbo, Cheng, Shiduan},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2008},
  title = {Forecasting and operational research: a review},
  abstract = {From its foundation, operational research (OR) has made many substantial contributions to practical forecasting in organizations. Equally, researchers in other disciplines have influenced forecasting practice. Since the last survey articles in JORS, forecasting has developed as a discipline with its own journals. While the effect of this increased specialization has been a narrowing of the scope of OR's interest in forecasting, research from an OR perspective remains vigorous. OR has been more receptive than other disciplines to the specialist research published in the forecasting journals, capitalizing on some of their key findings. In this paper, we identify the particular topics of OR interest over the past 25 years. After a brief summary of the current research in forecasting methods, we examine those topic areas that have grabbed the attention of OR researchers: computationally intensive methods and applications in operations and marketing. Applications in operations have proved particularly important, including the management of inventories and the effects of sharing forecast information across the supply chain. The second area of application is marketing, including customer relationship management using data mining and computer-intensive methods. The paper concludes by arguing that the unique contribution that OR can continue to make to forecasting is through developing models that link the effectiveness of new forecasting methods to the organizational context in which the models will be applied. The benefits of examining the system rather than its separate components are likely to be substantial.},
  doi = {10.1057/palgrave.jors.2602597},
  journal = {Journal of the Operational Research Society},
  bibtexkey = {fildes_forecasting_2008},
  author = {Fildes, R, Nikolopoulos, K, Crone, S F, Syntetos, A A},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2013},
  title = {Discriminant Analysis and Other Linear Classification Models},
  abstract = {In this chapter we discuss models that classify samples using linear classification boundaries. We begin this chapter by describing a grant applications case study data set (Section 12.1) which will be used to illustrate models throughout this chapter as well as for Chapters 13-15. As foundational models, we discuss logistic regression (Section 12.2) and linear discriminant analysis (Section 12.3). In Section 12.4 we define and illustrates partial least squares discriminant analysis and its fundamental connection to linear discriminant analysis. Penalized models such as ridge penalty for logistic regression, glmnet, penalized linear discriminant analysis are discussed in Section 12.5. Nearest shrunken centroids, an approach tailored towards high dimensional data, is presented in Section 12.6. We demonstrate in the Computing Section (12.7) how to train each of these models in R. Finally, exercises are provided at the end of the chapter to solidify the concepts.},
  doi = {10.1007/978-1-4614-6849-3_12},
  bibtexkey = {kuhn_discriminant_2013},
  author = {Kuhn, Max, Johnson, Kjell},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2015},
  title = {A Fuzzy-Based Approach to Survival Data Mining},
  abstract = {Traditional data mining algorithms assume that all data on a given object becomes available simultaneously (e.g., by accessing the object record in a database). However, certain real-world applications, known as survival analysis, or event history analysis (EHA), deal with monitoring specific objects, such as medical patients, in the course of their lifetime. The data streams produced by such applications contain various events related to the monitored objects. When we observe an infinite stream of events, at each point in time (the “cut-off point”), some of the monitored entities are “right-censored”, since they have not experienced the event of interest yet and we do not know when the event will occur in the future. In snapshot monitoring, the data stream is observed as a sequence of periodic snapshots. Given each snapshot, we are interested to estimate the probability of a critical event (e.g., patient death or equipment failure) as a function of time for every monitored object. In this research, we use fuzzy class label adjustment so that standard classification algorithms can seamlessly handle a snapshot stream of both censored and non-censored data. The objective is to provide reasonably accurate predictions after observing relatively few snapshots of the data stream and to improve the classification performance with additional information obtained from each incoming snapshot. The proposed fuzzy-based methodology is evaluated on real-world snapshot streams from two different domains of survival analysis.},
  doi = {10.1007/978-3-319-19683-1_18},
  bibtexkey = {tamir_fuzzy-based_2015},
  author = {Last, Mark, Halpert, Hezi},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2017},
  title = {The Strategic Business Value of Big Data},
  abstract = {Most of the information about Big Data has focused on the technical side of the phenomenon. This chapter makes the case that business implications of utilizing Big Data are crucial to obtain a competitive advantage. To achieve such objective, the organizational impacts of Big Data for today’s business competition and innovation are analyzed in order to identify different strategies a company may implement, as well as the potential value that Big Data can provide for organizations in different sectors of the economy and different areas inside such organizations. In the same vein, different Big Data strategies a company may implement towards its development are stated, as well as insights on how enterprises such as businesses, non-profits, and governments can use data to gain insights and make better decisions. Current and potential applications of Big Data are presented for different private and public sectors, as well as the ability to use data effectively to drive rapid, precise and profitable decisions.},
  doi = {10.1007/978-3-319-45498-6_3},
  bibtexkey = {garcia_marquez_strategic_2017},
  author = {Serrato, Marco, Ramirez, Jorge},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2007},
  title = {Knowledge discovery standards},
  abstract = {As knowledge discovery (KD) matures and enters the mainstream, there is an onus on the technology developers to provide the technology in a deployable, embeddable form. This transition from a stand-alone technology, in the control of the knowledgeable few, to a widely accessible and usable technology will require the development of standards. These standards need to be designed to address various aspects of KD ranging from the actual process of applying the technology in a business environment, so as to make the process more transparent and repeatable, through to the representation of knowledge generated and the support for application developers. The large variety of data and model formats that researchers and practitioners have to deal with and the lack of procedural support in KD have prompted a number of standardization efforts in recent years, led by industry and supported by the KD community at large. This paper provides an overview of the most prominent of these standards and highlights how they relate to each other using some example applications of these standards.},
  doi = {10.1007/s10462-008-9067-4},
  journal = {Artificial Intelligence Review},
  bibtexkey = {anand_knowledge_2007},
  author = {Anand, Sarabjot Singh, Grobelnik, Marko, Herrmann, Frank, Hornick, Mark, Lingenfelder, Christoph, Rooney, Niall, Wettschereck, Dietrich},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2015},
  title = {How to Build the Right Digital Enterprise for Payoff and Monetization},
  abstract = {From the previous case studies we can begin to draw some conclusions on the types of digital practices that are evident in and across these cases. In this chapter we address the practical characteristics of digital technologies and their potential for value creation through three perspectives:
 Capabilities  Operating-model practices  Monetization strategies },
  doi = {10.1057/9781137477729_5},
  bibtexkey = {skilton_how_2015},
  author = {Skilton, Mark},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2019},
  title = {Social network analysis in Telecom data},
  abstract = {Many systems can be represented as networks or graph collections of nodes joined by edges. The social structures in these networks can be investigated using graph theory through a process called social network analysis (SNA). In this paper, networks and SNA concepts were applied using Telecom data such as call detail records (CDRs) and customers data to model our social network and to construct a weighed graph in which each relation carries a different weight, representing how close two subscribers are to each other. In addition, SNA is used to explore the Telecom network and calculate the centrality measures, which help determine the node importance in the network. Depending on centrality measures as well as influence capability of node measure, the influencers in network were detected and targeted by marketing campaigns resulting in 30% raise in growth rate of mobile traffic compared with traditional ways. Finding Multi-SIM subscribers within the same operator or across different operators presents another important concern to Telecom companies because it allows to improve campaigns and churn prediction models. Social network similarity measures and social behavioral measures between nodes were calculated in the Telecom network to detect these Multi-SIM subscribes and 85% accuracy result was achieved for subscribes from different operators and 92% for subscribes from the same operator. The paper is based on a real dataset of 3 months CDRs and customer data provided by a local Telecom operator. This dataset is used to build a network with more than 16 million nodes and more than 300 million edges on a big data platform.},
  doi = {10.1186/s40537-019-0264-6},
  journal = {Journal of Big Data},
  bibtexkey = {al-molhem_social_2019},
  author = {Al-Molhem, Nour Raeef, Rahal, Yasser, Dakkak, Mustapha},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2016},
  title = {Mining Customer Behavior in Trial Period of a Web Application Usageâ€”Case Study},
  abstract = {This paper proposes models for predicting customer conversion from trial account to full paid account of web application. Two models are proposed with focus on content of the application and time. In order to make a customer’s behavior prediction, data is extracted from web application’s usage log in trial period and processed with data mining techniques. For both models, content and time based, the same selected classification algorithms are used: decision trees, Naïve Bayes, k-Nearest Neighbors and One Rule classification. Additionally, a cluster algorithm k-means is used to see if clustering by two clusters (for converted and not-converted users) can be formed and used for classification. Results showed high accuracy of classification algorithms in early stage of trial period which can serve as a basis for an identification of users that are likely to abandon the application and not convert.
},
  doi = {10.1007/978-3-319-33625-1_30},
  bibtexkey = {silhavy_mining_2016},
  author = {MatoÅ¡eviÄ‡, Goran, Bevanda, Vanja},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2013},
  title = {Nonlinear Classification Models},
  abstract = {Chapter 12 discussed classification models that defined linear classification boundaries. In this chapter we present models that generate nonlinear boundaries. We begin with explaining several generalizations to the linear discriminant analysis framework such as quadratic discriminant analysis, regularized discriminant analysis, and mixture discriminant analysis (Section 13.1). Other nonlinear classification models include neural networks (Section 13.2), flexible discriminant analysis (Section 13.3), support vector machines (Section 13.4), K-nearest neighbors (Section 13.5), and naive Bayes (Section 13.6). In the Computing Section (13.7) we demonstrate how to train each of these models in R. Finally, exercises are provided at the end of the chapter to solidify the concepts.},
  doi = {10.1007/978-1-4614-6849-3_13},
  bibtexkey = {kuhn_nonlinear_2013},
  author = {Kuhn, Max, Johnson, Kjell},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2019},
  title = {The Price of Privacy: An Evaluation of the Economic Value of Collecting Clickstream Data},
  abstract = {The analysis of clickstream data facilitates the understanding and prediction of customer behavior in e-commerce. Companies can leverage such data to increase revenue. For customers and website users, on the other hand, the collection of behavioral data entails privacy invasion. The objective of the paper is to shed light on the trade-off between privacy and the business value of customer information. To that end, the authors review approaches to convert clickstream data into behavioral traits, which we call clickstream features, and propose a categorization of these features according to the potential threat they pose to user privacy. The authors then examine the extent to which different categories of clickstream features facilitate predictions of online user shopping patterns and approximate the marginal utility of using more privacy adverse information in behavioral prediction models. Thus, the paper links the literature on user privacy to that on e-commerce analytics and takes a step toward an economic analysis of privacy costs and benefits. In particular, the results of empirical experimentation with large real-world e-commerce data suggest that the inclusion of short-term customer behavior based on session-related information leads to large gains in predictive accuracy and business performance, while storing and aggregating usage behavior over longer horizons has comparably less value.},
  doi = {10.1007/s12599-018-0528-2},
  journal = {Business \& Information Systems Engineering},
  bibtexkey = {baumann_price_2019},
  author = {Baumann, Annika, Haupt, Johannes, Gebert, Fabian, Lessmann, Stefan},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2020},
  title = {The DataOps Factory},
  abstract = {Data science and analytics are in a broken state. A 2016 Klynveld Peat Marwick Goerdeler (KPMG) study of 2000 global data analytics decision-makers revealed that only 10% believe they excel in data quality, tools, and methodologies, and 60% say they are not very confident in their analytical insights.1 For every organization that finds measurable success from data science and analytics, several others struggle with data quality, the ability to get work into production, and generate meaningful ROI on investments in people or technology. DataOps is a cure for many of the problems facing data science and analytics today. By adopting DataOps, organizations can deliver data products in a consistent, reliable, fast, scalable, and repeatable process just like a factory.},
  doi = {10.1007/978-1-4842-5104-1_10},
  bibtexkey = {atwal_dataops_2020},
  author = {Atwal, Harvinder},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2005},
  title = {Choice Models and Customer Relationship Management},
  abstract = {Customer relationship management (CRM) typically involves tracking individual customer behavior over time, and using this knowledge to configure solutions precisely tailored to the customers' and vendors' needs. In the context of choice, this implies designing longitudinal models of choice over the breadth of the firm's products and using them prescriptively to increase the revenues from customers over their lifecycle. Several factors have recently contributed to the rise in the use of CRM in the marketplace

                    A shift in focus in many organizations, towards increasing the share of requirements among their current customers rather than fighting for new customers.

                    An explosion in data acquired about customers, through the integration of internal databases and acquisition of external syndicated data.

                    Computing power is increasing exponentially.

                    Software and tools are being developed to exploit these data and computers, bringing the analytical tools to the decision maker, rather than restricting their access to analysts.

                In spite of this growth in marketing practice, CRM research in academia remains nascent. This paper provides a framework for CRM research and describes recent advances as well as key research opportunities. See http://faculty.fuqua.duke.edu/~mela for a more complete version of this paper},
  doi = {10.1007/s11002-005-5892-2},
  journal = {Marketing Letters},
  bibtexkey = {kamakura_choice_2005},
  author = {Kamakura, Wagner, Mela, Carl F., Ansari, Asim, Bodapati, Anand, Fader, Pete, Iyengar, Raghuram, Naik, Prasad, Neslin, Scott, Sun, Baohong, Verhoef, Peter C., Wedel, Michel, Wilcox, Ron},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2010},
  title = {Predictive Modeling on Multiple Marketing Objectives Using Evolutionary Computation},
  abstract = {Predictive models find wide use in marketing for customer segmentation, targeting, etc. Models can be developed to different objectives, as defined through the dependent variable of interest. While standard modeling approaches embody single performance objectives, actual marketing decisions often need consideration of multiple performance criteria. Multiple objective problems typically characterize a range of solutions, none of which dominate the others with respect to the different objectives - these specify the Pareto-frontier of non-dominated solutions, each offering a different level of tradeoff. This chapter examines the use of evolutionary computation to obtain a set of such non-dominated models. An application using a real-life problem and data-set is presented, with results highlighting how such multi-objective models can yield advantages over traditional approaches.},
  doi = {10.1007/978-3-642-15606-9_13},
  bibtexkey = {kacprzyk_predictive_2010},
  author = {Bhattacharyya, Siddhartha},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2019},
  title = {Creating Growth Trajectories},
  abstract = {To help in thinking about scaling, Chapters  2 through  8 will examine two layers of scaling:},
  doi = {10.1007/978-1-4842-4312-1_2},
  bibtexkey = {cohan_creating_2019},
  author = {Cohan, Peter S.},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2016},
  title = {Application-Level Benchmarking of Big Data Systems},
  abstract = {The increasing possibilities to collect vast amounts of data—whether in science, commerce, social networking, or government—have led to the “big data” phenomenon. The amount, rate, and variety of data that are assembled—for almost any application domain—are necessitating a reexamination of old technologies and development of new technologies to get value from the data, in a timely fashion. With increasing adoption and penetration of mobile technologies, and increasing ubiquitous use of sensors and small devices in the so-called Internet of Things, the big data phenomenon will only create more pressures on data collection and processing for transforming data into knowledge for discovery and action. A vibrant industry has been created around the big data phenomena, leading also to an energetic research agenda in this area. With the proliferation of big data hardware and software solutions in industry and research, there is a pressing need for benchmarks that can provide objective evaluations of alternative technologies and solution approaches to a given big data problem. This chapter gives an introduction to big data benchmarking and presents different proposals and standardization efforts.},
  doi = {10.1007/978-81-322-3628-3_10},
  bibtexkey = {pyne_application-level_2016},
  author = {Baru, Chaitanya, Rabl, Tilmann},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2011},
  title = {Community Discovery in Social Networks: Applications, Methods and Emerging Trends},
  abstract = {Data sets originating from many different real world domains can be represented in the form of interaction networks in a very natural, concise and meaningful fashion. This is particularly true in the social context, especially given recent advances in Internet technologies and Web 2.0 applications leading to a diverse range of evolving social networks. Analysis of such networks can result in the discovery of important patterns and potentially shed light on important properties governing the growth of such networks.},
  doi = {10.1007/978-1-4419-8462-3_4},
  bibtexkey = {aggarwal_community_2011},
  author = {Parthasarathy, S., Ruan, Y., Satuluri, V.},
  source = {SPRINGER}
}

@{,
  category = {INCOLLECTION},
  year = {2019},
  title = {Statistical Modelling},
  abstract = {In this chapter, we present statistical modelling approaches for predictive tasks in business and science. Most prominent is the ubiquitous multiple linear regression approach where coefficients are estimated using the ordinary least squares algorithm. There are many derivations and generalizations of that technique. In the form of logistic regression, it has been adapted to cope with binary classification problems. Various statistical survival models allow for modelling of time-to-event data. We will detail the many benefits and a few pitfalls of these techniques based on real-world examples. A primary focus will be on pointing out the added value that these statistical modelling tools yield over more black box-type machine-learning algorithms. In our opinion, the added value predominantly stems from the often much easier interpretation of the model, the availability of tools that pin down the influence of the predictor variables in concise form, and finally from the options they provide for variable selection and residual analysis, allowing for user-friendly model development, refinement, and improvement.},
  doi = {10.1007/978-3-030-11821-1_11},
  bibtexkey = {braschler_statistical_2019},
  author = {Dettling, Marcel, Ruckstuhl, Andreas},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2019},
  title = {Evaluating the impact of service quality on the dynamics of customer satisfaction in the telecommunication industry of Jorhat, Assam},
  abstract = {Service quality acts as an antecedent to customer satisfaction (CS). Evaluation of service quality in an enterprise is vital to improve productivity and increase CS. Usually, it is difficult to rate service quality due to the presence of vagueness in the available information as well as impreciseness in the physical nature of the problem. The comprehensive intention of this paper is to present a robust modified SERVQUAL based multi-criteria decision making (MCDM) method to evaluate the quality of service and its interaction with the dynamics of CS. The proposed evaluation model is a hybrid model, which integrates three popular tools of decision making at the different stage. At first stage, service quality assessment SERVQUAL with the statistical tool has employed to identify appropriate factors affecting the service quality of the telecommunication network. In the next stage, to find the appropriate weight of the different factors in the evaluation process, fuzzy Rasch method is utilized. The final stage involves the selection of the service provider with the most contented customer based on fuzzy MCDM method. Moreover, a new risk minimizing evaluative model is proposed for the study. The strength of the proposed approach is its practical applicability and ability to provide solution under partial or lack of quantitative information. The proposed model is applied for evaluating the service quality of the telecommunication industry of Jorhat, Assam with respect to 256 participants on 15 criteria. Finally, sensitivity analysis is conducted to evaluate the robustness of the proposed approach.},
  doi = {10.1007/s11235-018-0514-5},
  journal = {Telecommunication Systems},
  bibtexkey = {hussain_evaluating_2019},
  author = {Hussain, Syed Abou Iltaf, Baruah, Debasish, Dutta, Bapi, Mandal, Uttam Kumar, Mondal, Sankar Prasad, Nath, Thuleswar},
  source = {SPRINGER}
}

@{,
  category = {ARTICLE},
  year = {2019},
  title = {A Case of Churn Prediction in Telecommunications Industry},
  abstract = {Churn prediction is the practice of assigning a probability to the event of a customer ending his contract with a service provider. Traditional data mining approaches to churn prediction in telecommunications industry are based on detecting patterns from customer contractual information, traffic related data, bills and payments, CRM data and customer service logs. The study presented in this paper has employed various machine learning approaches and assessed their performances using the data of a European mobile operator. The feature importance rankings which were used for feature selection yielded also some initial guidelines for acting on churn prevention in practice.},
  doi = {10.1007/978-3-319-10774-5_8},
  journal = {Ipsi Bgd Transactions on Internet Research},
  bibtexkey = {brmez_case_2019},
  author = {Brmez, Simon, Znidarsic, Martin},
  source = {WOS}
}

@{,
  category = {BOOK},
  year = {2017},
  title = {Churn Prediction Model for Effective Gym Customer Retention},
  abstract = {In the fitness industry, rolling gym membership contracts allow customers to terminate a contract with little advanced notice. Customer churn prediction is a well known area in Machine Learning research. Many companies, however, face a data science skills gap when trying to translate this research onto their own datasets and IT infrastructure. In this paper we present a series of experiments that aim to predict customer behaviour, in order to increase gym utilisation and customer retention. We use two off-the-shelf machine learning platforms, so that we can evaluate whether these platforms, used by non ML experts, can help companies improve their services.},
  doi = {10.1109/BESC.2017.8256385},
  bibtexkey = {semrl_churn_2017},
  author = {Semrl, Jas, Matei, Alexandru},
  source = {WOS}
}

@{,
  category = {INPROCEEDINGS},
  year = {2002},
  title = {Using machine learning techniques to preduct defection of top clients},
  abstract = {Fierce competition in many industries causes switching behavior of customers. Because foregone profits of defected customers are significant, an increase of the retention rate can be very profitable. In this paper, we focus on the treatment of companies' most promising current customers in a non-contractual setting. We build a model in order to predict churn behavior of top clients who will (partially) defect in the near future. We applied the following classification techniques: logistic regression, linear discriminant analysis, quadratic discriminant analysis, C4.5, neural networks and Naive Bayes. Their performance is quantified by the classification accuracy and the area under the receiver operating characteristic curve (AUROC). The experiments were carried out on a real life data set obtained by a Belgian retailer. The article contributes in many ways. The results show that past customer behavior has predictive power to indicate future partial defection. This finding is from a companies' point of view even more important than being able to define total defectors, which was until now the traditional goal in attrition research. It was found that neural networks performed better than the other classification techniques in terms of both classification accuracy and AUROC. Although the performance benefits are sometimes small in absolute terms, they are statistically significant and relevant from a marketing perspective. Finally it was found that the number of past shop visits and the time between past shop incidences are amongst the most predictive inputs for the problem at hand.},
  doi = {10.2495/DATA020491},
  bibtexkey = {buckinx_using_2002},
  author = {Buckinx, W., Baesens, Bart, Van den Poel, D., Van Kenhove, P., Vanthienen, Jan},
  source = {WOS}
}

repository: pesobreiro/SLRDropout

repo_name: pesobreiro/SLRDropout

extension: bib


text:
package ds

import (
	"errors"

	"cloud.google.com/go/datastore"
)

// Cache interface
type Cache interface {
	Get(*datastore.Key, interface{}) error
	GetMulti([]*datastore.Key, interface{}) error
	Set(*datastore.Key, interface{}) error
	SetMulti([]*datastore.Key, interface{}) error
	Del(*datastore.Key) error
	DelMulti([]*datastore.Key) error
}

// Errors
var (
	ErrCacheNotFound = errors.New("ds: cache not found")
)

license: MIT

repository: acoshift/ds

license_type: permissive

repo_name: acoshift/ds

branch_name: refs/heads/master

gha_language: Go

extension: go


text:
PR = "r0"
SUMMARY = "IoTivity Example"
DESCRIPTION = "Minimalist Iotivity Client/Server application"
HOMEPAGE = "https://github.com/rzr/iotivity-example"
SECTION = "apps"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"

SRCREV = "geolocation/master"
SRC_URI = "git://github.com/rzr/iotivity-example;nobranch=1;protocol=http"

# TODO: Overide for local development ie:
# SRC_URI = "git:///home/user/mnt/iotivity-example;nobranch=1;protocol=file"

S = "${WORKDIR}/git"

inherit systemd pkgconfig

LOCAL_OPT_DIR = "/opt"
LOCAL_OPT_DIR_D = "${D}${LOCAL_OPT_DIR}"

DEPENDS += " iotivity"
BDEPENDS += " iotivity-dev"

BBCLASSEXTEND = "native nativesdk"
RDEPENDS_${PN} += " iotivity-resource"

SYSTEMD_SERVICE_${PN} = "${PN}.service"
EXTRA_OEMAKE += " name=${PN}"
EXTRA_OEMAKE += " DESTDIR=${D}"
EXTRA_OEMAKE += " unitdir=${base_libdir}/systemd/system/"

do_configure() {
}

do_compile_prepend() {
    export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
    export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
    export LD_FLAGS="${LD_FLAGS}"
}

do_compile() {
    cd ${S}
    LANG=C
    export LANG
    unset DISPLAY
    LD_AS_NEEDED=1; export LD_AS_NEEDED;
    oe_runmake all
}

do_install() {
    export RPM_BUILD_ROOT=${D}
    cd ${S}
    LANG=C
    export LANG
    unset DISPLAY
    rm -rf ${D}
    oe_runmake install
    oe_runmake rule/systemd/install
}

FILES_${PN} += "${LOCAL_OPT_DIR}/${PN}/*"
FILES_${PN}-dbg += "${LOCAL_OPT_DIR}/${PN}/bin/.debug"

repository: sanbeam/meta-ocf-automotive

repo_name: sanbeam/meta-ocf-automotive

extension: bb


text:
# =====================================================================
#
# Software License Agreement (BSD-3-Clause License)
# Copyright (c) 2017, CoreRobotics.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * Neither the name of CoreRobotics nor the names of its contributors
# may be used to endorse or promote products derived from this
# software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
# \project CoreRobotics Project
# \url     www.corerobotics.org
#
#
# =====================================================================

set(PACKAGE_VERSION "@CR_VERSION@")

# check whether the requested PACKAGE_FIND_VERSION is compatible
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
  set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
  set(PACKAGE_VERSION_COMPATIBLE TRUE)
  if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
    set(PACKAGE_VERSION_EXACT TRUE)
  endif()
endif()

repository: CoreRobotics/CoreRobotics

repo_name: CoreRobotics/CoreRobotics

extension: in


text:
@inproceedings{Klassen2010,
  author = {Klassen, Myungsook and Kim, Nyunsu and Liu, Wei Ming},
  title = {Empirical Study of Support Vector Machine Kernels with Applications
 to Microarray Data},
  booktitle = {CATA},
  year = {2010},
  pages = {25-30},
  note = {svm liniowe najlepsze},
  bibsource = {DBLP, http://dblp.uni-trier.de},
  groups = {klasyfikacja},
  owner = {sstudent},
  timestamp = {2011.03.22}
}

repository: FlamingTempura/bibtex-tidy

repo_name: FlamingTempura/bibtex-tidy

gha_license_id: MIT

gha_language: TeX


text:
package algo

import (
	"github.com/cxjwin/go-algocasts/datastructure"
	"github.com/golang-collections/collections/queue"
)

func min(a, b int) int {
	if a < b {
		return a
	}
	return b
}

func minDepthOfBinaryTreeRecursive(tree *ds.Tree) int {
	if tree == nil {
		return 0
	}

	if tree.Left == nil && tree.Right == nil {
		return 1
	}

	if tree.Left != nil && tree.Right == nil {
		return minDepthOfBinaryTreeRecursive(tree.Left) + 1
	}

	if tree.Right != nil && tree.Left == nil {
		return minDepthOfBinaryTreeRecursive(tree.Right) + 1
	}

	return min(minDepthOfBinaryTreeRecursive(tree.Left), minDepthOfBinaryTreeRecursive(tree.Right)) + 1
}

func minDepthOfBinaryTreeIterative(tree *ds.Tree) int {
	if tree == nil {
		return 0
	}

	depth := 1
	queue := queue.New()
	queue.Enqueue(tree)

	for queue.Len() != 0 {
		size := queue.Len()
		for i := 0; i < size; i++ {
			node := queue.Dequeue().(*ds.Tree)
			if node.Left == nil && node.Right == nil {
				return depth
			}
			if node.Left != nil {
				queue.Enqueue(node.Left)
			}
			if node.Right != nil {
				queue.Enqueue(node.Right)
			}
			depth++
		}
	}

	return depth
}

repository: shiqiangliu/go-algocasts

repo_name: shiqiangliu/go-algocasts


text:
@article{pmid36610061,
 author = {Toprak, B.  and Brandt, S.  and Brederecke, J.  and Gianfagna, F.  and Vishram-Nielsen, J. K. K.  and Ojeda, F. M.  and Costanzo, S.  and rschel, C. S.  and derberg, S.  and Katsoularis, I.  and Camen, S.  and Vartiainen, E.  and Donati, M. B.  and Kontto, J.  and Bobak, M.  and Mathiesen, E. B.  and Linneberg, A.  and Koenig, W.  and chen, M. L.  and Di Castelnuovo, A.  and Blankenberg, S.  and de Gaetano, G.  and Kuulasmaa, K.  and Salomaa, V.  and Iacoviello, L.  and Niiranen, T.  and Zeller, T.  and Schnabel, R. B. },
 journal = {Europace},
 month = {Jan},
 title = {Exploring the incremental utility of circulating biomarkers for robust risk prediction of incident atrial fibrillation in European cohorts using regressions and modern machine learning methods},
 year = {2023}
}

repository: hypertensioncenter/academic-kickstart

repo_name: hypertensioncenter/academic-kickstart


text:
SUMMARY = "Real-time Midi I/O C++ Library"
HOMEPAGE = "http://www.music.mcgill.ca/~gary/rtmidi/index.html"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://README.md;beginline=36;endline=61;md5=59cd2daf27733a6f784821dada162c75"

inherit autotools pkgconfig

PACKAGECONFIG ??= "alsa jack"
PACKAGECONFIG[alsa] = "--with-alsa,--without-alsa,alsa-lib"
PACKAGECONFIG[jack] = "--with-jack,--without-jack,jack"

SRC_URI = " \
    http://www.music.mcgill.ca/~gary/${BPN}/release/${BPN}-${PV}.tar.gz \
    file://0001-configure.ac-do-not-run-temp-binary-in-cross-envirno.patch \
    file://0002-configure.ac-do-not-reset-CXXFLAGS.patch \
    file://0003-configure.ac-do-not-add-absolute-prefixes-to-build-f.patch \
"
SRC_URI[md5sum] = "d22e3a5dee972fa0725c420923f1ce65"
SRC_URI[sha256sum] = "d6ee3620236904a1067bd615ff012f1064cbfb389b09ac0b847bbcbd0f565214"


text:
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = "kdelibs4 taglib"
SRCREV = "b5bdfd96796192194fdcaafd1ac8e6043a6b0a25"
PV = "2.1.3+git${SRCPV}"

SRC_URI = "git://anongit.kde.org/bangarang.git;protocol=git"

S = "${WORKDIR}/git"

inherit kde_cmake

FILES_${PN} += "${datadir}/*"


text:
DESCRIPTION = "A fast, simple and lightweight WSGI micro web-framework for Python"
SECTION = "devel/python"
HOMEPAGE = "http://bottlepy.org"
LICENSE = "MIT"
LIC_FILES_CHKSUM="file://LICENSE;md5=9904c135f2b899cfe014805f75adf4c1"
PRIORITY = "optional"
SRCNAME = "bottle"
PR = "discovery"

SRC_URI = "git://github.com/defnull/bottle.git;protocol=https;tag=0.12.0"
SRC_REV = "HEAD"
S = "${WORKDIR}/git"

RDEPENDS_${PN} = "\
  python-netclient \
  python-netserver \
  python-email \
  python-lang \
  python-crypt \
  python-subprocess \
  python-threading \
  python-re \
"

inherit distutils

repository: billyjbryant/ops-build

repo_name: billyjbryant/ops-build

gha_license_id: NOASSERTION

gha_language: Python


text:
require recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
PR = "r1"
DESCRIPTION = "Packages for a standalone SlugOS external toolchain"
ALLOW_EMPTY_${PN} = "1"

PACKAGES = "${PN}"

RDEPENDS_${PN} += "\
    devio-sdk \
"

repository: kraj/meta-slugos

repo_name: kraj/meta-slugos


text:
/*
Copyright 2022 The Kubeflow Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package suggestion

import (
	"context"

	suggestionsv1beta1 "github.com/kubeflow/katib/pkg/apis/controller/suggestions/v1beta1"
	"k8s.io/apimachinery/pkg/api/equality"
)

const (
	SuggestionCreatedReason      = "SuggestionCreated"
	SuggestionDeploymentReady    = "DeploymentReady"
	SuggestionDeploymentNotReady = "DeploymentNotReady"
	SuggestionRunningReason      = "SuggestionRunning"
	SuggestionFailedReason       = "SuggestionFailed"
)

func (r *ReconcileSuggestion) updateStatus(s *suggestionsv1beta1.Suggestion, oldS *suggestionsv1beta1.Suggestion) error {
	if !equality.Semantic.DeepEqual(s.Status, oldS.Status) {
		if err := r.Status().Update(context.TODO(), s); err != nil {
			return err
		}
	}
	return nil
}

func (r *ReconcileSuggestion) updateStatusCondition(s *suggestionsv1beta1.Suggestion, oldS *suggestionsv1beta1.Suggestion) error {
	if !equality.Semantic.DeepEqual(s.Status.Conditions, oldS.Status.Conditions) {
		newConditions := s.Status.Conditions
		s.Status = oldS.Status
		s.Status.Conditions = newConditions
		if err := r.Status().Update(context.TODO(), s); err != nil {
			return err
		}
	}
	return nil
}

repository: kubeflow/katib

repo_name: kubeflow/katib


text:
MACRO (mafDataTestDownload)
  set(GIT_REPOSITORY "git://github.com/openmaf/MAF3Data.git")

  if(NOT EXISTS ${MAF_DATA_DIR})
  execute_process(
    COMMAND "${GIT_EXECUTABLE}" clone ${GIT_REPOSITORY} ${MAF_DATA_DIR}
    OUTPUT_VARIABLE _out
    ERROR_VARIABLE _err
    RESULT_VARIABLE _res)
  else(NOT EXISTS ${MAF_DATA_DIR})
    execute_process(
    WORKING_DIRECTORY ${MAF_DATA_DIR}
    COMMAND "${GIT_EXECUTABLE}" pull
    OUTPUT_VARIABLE _out
    ERROR_VARIABLE _err
    RESULT_VARIABLE _res)
  endif(NOT EXISTS ${MAF_DATA_DIR})

  message(STATUS "out: ${_out}")
  message(STATUS "err: ${_err}")
  message(STATUS "res: ${_res}")

ENDMACRO()

extension: cmake


text:
SUMMARY = "A small image just capable of allowing a device to boot."

IMAGE_INSTALL = "packagegroup-core-boot ${CORE_IMAGE_EXTRA_INSTALL}"

IMAGE_LINGUAS = " "

LICENSE = "MIT"

inherit core-image

IMAGE_ROOTFS_SIZE ?= "8192"
IMAGE_ROOTFS_EXTRA_SPACE_append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "" ,d)}"

# Packages from external layers
IMAGE_INSTALL += "kernel-modules \
    mtd-utils \
    mmc-utils \
    dropbear \
    xauth \
    "

# Packages from local layers
IMAGE_INSTALL += " mechanical-mirror \
    "


text:
DESCRIPTION = "Simple MPlayer frontend with lite Gnome integration"
HOMEPAGE = "http://dekorte.homeip.net/download/gnome-mplayer/"
LICENSE = "GPL"
DEPENDS = "gtk+ gconf dbus-glib"
RDEPENDS = "mplayer"
PR = "r3"

inherit autotools pkgconfig gconf

SRC_URI = "http://dekorte.homeip.net/download/${PN}/${P}.tar.gz \
    file://ac-gthread.patch;patch=1 \
    file://1.patch;patch=1 \
    file://uchar-for-utf8-check.patch;patch=1 \
    file://non-utf8-id3-fallback.patch;patch=1"


text:
###################################################################################################
# Intel Compiler
###################################################################################################
if (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 18.0)
  message (FATAL_ERROR "Intel Compiler version: ${CMAKE_Fortran_COMPILER_VERSION} not supported")
endif ()

if (OPENMP)
  set (OPENMP_FLAGS "-qopenmp")
endif ()

if (OPTIMIZATION STREQUAL "OFF")
  set (OPTIMIZATION_FLAGS    "-O0")
elseif (OPTIMIZATION STREQUAL "DEFENSIVE")
  set (OPTIMIZATION_FLAGS    "-O2")
elseif (OPTIMIZATION STREQUAL "AGGRESSIVE")
  set (OPTIMIZATION_FLAGS    "-ipo -O3 -fp-model fast=2 -xHost")
  # -fast = -ipo, -O3, -no-prec-div, -static, -fp-model fast=2, and -xHost"
endif ()

# -assume std_mod_proc_name (included in -standard-semantics) causes problems if other modules
# (PETSc, HDF5) are not compiled with this option (https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/62172)
set (STANDARD_CHECK "-stand f18 -assume nostd_mod_proc_name")
set (LINKER_FLAGS   "${LINKER_FLAGS} -shared-intel")
# Link against shared Intel libraries instead of static ones

#------------------------------------------------------------------------------------------------
# Fine tuning compilation options
set (COMPILE_FLAGS "${COMPILE_FLAGS} -fpp")
# preprocessor

set (COMPILE_FLAGS "${COMPILE_FLAGS} -ftz")
# flush underflow to zero, automatically set if -O[1,2,3]

set (COMPILE_FLAGS "${COMPILE_FLAGS} -diag-disable")
# disables warnings ...
set (COMPILE_FLAGS "${COMPILE_FLAGS} 5268")
#   ... the text exceeds right hand column allowed on the line (we have only comments there)
set (COMPILE_FLAGS "${COMPILE_FLAGS},7624")
#   ... about deprecated forall (has nice syntax and most likely a performance advantage)

set (COMPILE_FLAGS "${COMPILE_FLAGS} -warn")
# enables warnings ...
set (COMPILE_FLAGS "${COMPILE_FLAGS} declarations")
#   ... any undeclared names (alternative name: -implicitnone)
set (COMPILE_FLAGS "${COMPILE_FLAGS},general")
#   ... warning messages and informational messages are issued by the compiler
set (COMPILE_FLAGS "${COMPILE_FLAGS},usage")
#   ... questionable programming practices
set (COMPILE_FLAGS "${COMPILE_FLAGS},interfaces")
#   ... checks the interfaces of all SUBROUTINEs called and FUNCTIONs invoked in your compilation against an external set of interface blocks
set (COMPILE_FLAGS "${COMPILE_FLAGS},ignore_loc")
#   ... %LOC is stripped from an actual argument
set (COMPILE_FLAGS "${COMPILE_FLAGS},alignments")
#   ... data that is not naturally aligned
set (COMPILE_FLAGS "${COMPILE_FLAGS},unused")
#   ... declared variables that are never used

# Additional options
#  -warn:                    enables warnings, where
#     truncated_source:        Determines whether warnings occur when source exceeds the maximum column width in fixed-format files.
#                               (too many warnings because we have comments beyond character 132)
#     uncalled:                Determines whether warnings occur when a statement function is never called
#     all:
#  -name as_is: case sensitive Fortran!

#------------------------------------------------------------------------------------------------
# Runtime debugging
set (DEBUG_FLAGS "${DEBUG_FLAGS} -g")
# Generate symbolic debugging information in the object file

set (DEBUG_FLAGS "${DEBUG_FLAGS} -traceback")
# Generate extra information in the object file to provide source file traceback information when a severe error occurs at run time

set (DEBUG_FLAGS "${DEBUG_FLAGS} -gen-interfaces")
# Generate an interface block for each routine. http://software.intel.com/en-us/blogs/2012/01/05/doctor-fortran-gets-explicit-again/

set (DEBUG_FLAGS "${DEBUG_FLAGS} -fp-stack-check")
# Generate extra code after every function call to ensure that the floating-point (FP) stack is in the expected state

set (DEBUG_FLAGS "${DEBUG_FLAGS} -fp-model strict")
# Trap uninitalized variables

set (DEBUG_FLAGS "${DEBUG_FLAGS} -check" )
# Checks at runtime ...
set (DEBUG_FLAGS "${DEBUG_FLAGS} bounds")
#   ... if an array index is too small (<1) or too large!
set (DEBUG_FLAGS "${DEBUG_FLAGS},format")
#   ... for the data type of an item being formatted for output.
set (DEBUG_FLAGS "${DEBUG_FLAGS},output_conversion")
#   ... for the fit of data items within a designated format descriptor field.
set (DEBUG_FLAGS "${DEBUG_FLAGS},pointers")
#   ... for certain disassociated or uninitialized pointers or unallocated allocatable objects.
set (DEBUG_FLAGS "${DEBUG_FLAGS},uninit")
#   ... for uninitialized variables.
set (DEBUG_FLAGS "${DEBUG_FLAGS} -ftrapuv")
#   ... initializes stack local variables to an unusual value to aid error detection
set (DEBUG_FLAGS "${DEBUG_FLAGS} -fpe-all=0")
#   ... capture all floating-point exceptions, sets -ftz automatically

# disable due to compiler bug https://community.intel.com/t5/Intel-Fortran-Compiler/false-positive-stand-f18-and-IEEE-SELECTED-REAL-KIND/m-p/1227336
#set (DEBUG_FLAGS "${DEBUG_FLAGS} -warn")
# enables warnings ...
#set (DEBUG_FLAGS "${DEBUG_FLAGS} errors")
#   ... warnings are changed to errors
#set (DEBUG_FLAGS "${DEBUG_FLAGS},stderrors")
#   ... warnings about Fortran standard violations are changed to errors

set (DEBUG_FLAGS "${DEBUG_FLAGS} -debug-parameters all")
# generate debug information for parameters

# Additional options
# -heap-arrays:            Should not be done for OpenMP, but set "ulimit -s unlimited" on shell. Probably it helps also to unlimit other limits
# -check:                  Checks at runtime, where
#    arg_temp_created:       will cause a lot of warnings because we create a bunch of temporary arrays (performance?)
#    stack:

#------------------------------------------------------------------------------------------------
#  precision settings
set (PRECISION_FLAGS "${PRECISION_FLAGS} -real-size 64")
# set precision for standard real to 32 | 64 | 128 (= 4 | 8 | 16 bytes, type pReal is always 8 bytes)

repository: MarDiehl/fortran-skeleton

repo_name: MarDiehl/fortran-skeleton


text:
package resp

import (
  "bufio"
  "bytes"
  "errors"
  "fmt"
  "io"
  "net"
  "strconv"
  "time"
)

type Conn struct {

  pending int
  err     error
  addr    string
  conn    net.Conn

  // Read
  readTimeout time.Duration
  br          *bufio.Reader

  // Write
  writeTimeout time.Duration
  bw           *bufio.Writer

  // Scratch space for formatting argument length.
  // '*' or '$', length, "\r\n"
  lenScratch [32]byte

  // Scratch space for formatting integers and floats.
  numScratch [40]byte
}

func Dial(address string) (*Conn, error) {

  netConn, err := net.Dial( "tcp", address )
  if err != nil {
    return nil, err
  }

  conn := NewConn(netConn)
  conn.addr = address

  return conn, nil
}

func NewConn(netConn net.Conn) *Conn {
  return &Conn{
    conn:         netConn,
    bw:           bufio.NewWriter(netConn),
    br:           bufio.NewReader(netConn),
    readTimeout:  30 * time.Second,
    writeTimeout: 5 * time.Second,
  }
}

func (c *Conn) Close() error {
  err := c.err
  if c.err == nil {
    c.err = errors.New("redigo: closed")
    err = c.conn.Close()
  }
  return err
}

func (c *Conn) fatal(err error) error {
  if c.err == nil {
    c.err = err
    c.conn.Close()
  }
  return err
}

func (c *Conn) Err() error {
  err := c.err
  return err
}

func (c *Conn) writeLen(prefix byte, n int) error {
  c.lenScratch[len(c.lenScratch)-1] = '\n'
  c.lenScratch[len(c.lenScratch)-2] = '\r'
  i := len(c.lenScratch) - 3
  for {
    c.lenScratch[i] = byte('0' + n%10)
    i -= 1
    n = n / 10
    if n == 0 {
      break
    }
  }
  c.lenScratch[i] = prefix
  _, err := c.bw.Write(c.lenScratch[i:])
  return err
}

func (c *Conn) writeString(s string) error {
  c.writeLen('$', len(s))
  c.bw.WriteString(s)
  _, err := c.bw.WriteString("\r\n")
  return err
}

func (c *Conn) writeBytes(p []byte) error {
  c.writeLen('$', len(p))
  c.bw.Write(p)
  _, err := c.bw.WriteString("\r\n")
  return err
}

func (c *Conn) writeIntBytes(p []byte) error {
  c.writeLen(':', len(p))
  c.bw.Write(p)
  _, err := c.bw.WriteString("\r\n")
  return err
}

func (c *Conn) writeInt64(n int64) error {
  return c.writeIntBytes(strconv.AppendInt(c.numScratch[:0], n, 10))
}

func (c *Conn) writeFloat64(n float64) error {
  return c.writeBytes(strconv.AppendFloat(c.numScratch[:0], n, 'g', -1, 64))
}

func (c *Conn) Write( arg interface{} ) ( err error ) {

  switch arg := arg.(type) {
  case string:
    err = c.writeString(arg)
  case []byte:
    err = c.writeBytes(arg)
  case int:
    err = c.writeInt64(int64(arg))
  case int64:
    err = c.writeInt64(arg)
  case float64:
    err = c.writeFloat64(arg)
  case bool:
    if arg {
      err = c.writeString("1")
    } else {
      err = c.writeString("0")
    }
  case nil:
    err = c.writeString("")
  case []interface{}:
    c.writeLen('*', 1+len(arg))
    for _, v := range arg {
      err = c.Write( v )
      if err != nil {
        return err
      }
    }
  default:
    var buf bytes.Buffer
    fmt.Fprint(&buf, arg)
    err = c.writeBytes(buf.Bytes())
  }

  return err
}

func (c *Conn) writeCommand(cmd string, args []interface{}) (err error) {
  c.writeLen('*', 1+len(args))
  err = c.writeString(cmd)
  for _, arg := range args {
    if err != nil {
      break
    }
    switch arg := arg.(type) {
    case string:
      err = c.writeString(arg)
    case []byte:
      err = c.writeBytes(arg)
    case int:
      err = c.writeInt64(int64(arg))
    case int64:
      err = c.writeInt64(arg)
    case float64:
      err = c.writeFloat64(arg)
    case bool:
      if arg {
        err = c.writeString("1")
      } else {
        err = c.writeString("0")
      }
    case nil:
      err = c.writeString("")
    default:
      var buf bytes.Buffer
      fmt.Fprint(&buf, arg)
      err = c.writeBytes(buf.Bytes())
    }
  }
  return err
}

type protocolError string

func (pe protocolError) Error() string {
  return fmt.Sprintf("redigo: %s (possible server error or unsupported concurrent read by application)", string(pe))
}

func (c *Conn) readLine() ([]byte, error) {
  p, err := c.br.ReadSlice('\n')
  if err == bufio.ErrBufferFull {
    return nil, protocolError("long response line")
  }
  if err != nil {
    return nil, err
  }
  i := len(p) - 2
  if i < 0 || p[i] != '\r' {
    return nil, protocolError("bad response line terminator")
  }
  return p[:i], nil
}

// parseLen parses bulk string and array lengths.
func parseLen(p []byte) (int, error) {
  if len(p) == 0 {
    return -1, protocolError("malformed length")
  }

  if p[0] == '-' && len(p) == 2 && p[1] == '1' {
    // handle $-1 and $-1 null replies.
    return -1, nil
  }

  var n int
  for _, b := range p {
    n *= 10
    if b < '0' || b > '9' {
      return -1, protocolError("illegal bytes in length")
    }
    n += int(b - '0')
  }

  return n, nil
}

// parseInt parses an integer reply.
func parseInt(p []byte) (interface{}, error) {
  if len(p) == 0 {
    return 0, protocolError("malformed integer")
  }

  var negate bool
  if p[0] == '-' {
    negate = true
    p = p[1:]
    if len(p) == 0 {
      return 0, protocolError("malformed integer")
    }
  }

  var n int64
  for _, b := range p {
    n *= 10
    if b < '0' || b > '9' {
      return 0, protocolError("illegal bytes in length")
    }
    n += int64(b - '0')
  }

  if negate {
    n = -n
  }
  return n, nil
}

var (
  okReply   interface{} = "OK"
  pongReply interface{} = "PONG"
)

func (c *Conn) readReply() (interface{}, error) {
  line, err := c.readLine()
  if err != nil {
    return nil, err
  }
  if len(line) == 0 {
    return nil, protocolError("short response line")
  }
  switch line[0] {
  case '+':
    switch {
    case len(line) == 3 && line[1] == 'O' && line[2] == 'K':
      return okReply, nil
    case len(line) == 5 && line[1] == 'P' && line[2] == 'O' && line[3] == 'N' && line[4] == 'G':
      return pongReply, nil
    default:
      return string(line[1:]), nil
    }
  case '-':
    return errors.New(string(line[1:])), nil
  case ':':
    return parseInt(line[1:])
  case '$':
    n, err := parseLen(line[1:])
    if n < 0 || err != nil {
      return nil, err
    }
    p := make([]byte, n)
    _, err = io.ReadFull(c.br, p)
    if err != nil {
      return nil, err
    }
    if line, err := c.readLine(); err != nil {
      return nil, err
    } else if len(line) != 0 {
      return nil, protocolError("bad bulk string format")
    }
    return p, nil
  case '*':
    n, err := parseLen(line[1:])
    if n < 0 || err != nil {
      return nil, err
    }
    r := make([]interface{}, n)
    for i := range r {
      r[i], err = c.readReply()
      if err != nil {
        return nil, err
      }
    }
    return r, nil
  }
  return nil, protocolError("unexpected response line")
}

func (c *Conn) Send(cmd string, args ...interface{}) error {
  c.pending += 1
  if c.writeTimeout != 0 {
    c.conn.SetWriteDeadline(time.Now().Add(c.writeTimeout))
  }
  if err := c.writeCommand(cmd, args); err != nil {
    return c.fatal(err)
  }
  return nil
}

func (c *Conn) SendStatus(status string) error {
  if c.writeTimeout != 0 {
    c.conn.SetWriteDeadline(time.Now().Add(c.writeTimeout))
  }

  _, err := c.bw.Write( []byte( "+" + status + "\r\n" ) )
  if err == nil {
    c.bw.Flush()
  }

  return err
}

func (c *Conn) SendError(err error) error {
  if c.writeTimeout != 0 {
    c.conn.SetWriteDeadline(time.Now().Add(c.writeTimeout))
  }

  _, err = c.bw.Write( []byte( "-" + err.Error() + "\r\n" ) )
  if err == nil {
    c.bw.Flush()
  }

  return err
}

func (c *Conn) Flush() error {
  if c.writeTimeout != 0 {
    c.conn.SetWriteDeadline(time.Now().Add(c.writeTimeout))
  }
  if err := c.bw.Flush(); err != nil {
    return c.fatal(err)
  }
  return nil
}

func (c *Conn) Receive() (reply interface{}, err error) {
  if c.readTimeout != 0 {
    c.conn.SetReadDeadline(time.Now().Add(c.readTimeout))
  }
  if reply, err = c.readReply(); err != nil {
    return nil, c.fatal(err)
  }

  if c.pending > 0 {
    c.pending -= 1
  }
  if err, ok := reply.(error); ok {
    return nil, err
  }
  return
}

func (c *Conn) Do(cmd string, args ...interface{}) (interface{}, error) {
  pending := c.pending
  c.pending = 0

  if cmd == "" && pending == 0 {
    return nil, nil
  }

  if c.writeTimeout != 0 {
    c.conn.SetWriteDeadline(time.Now().Add(c.writeTimeout))
  }

  if cmd != "" {
    if err := c.writeCommand(cmd, args); err != nil {
      return nil, c.fatal(err)
    }
  }

  if err := c.bw.Flush(); err != nil {
    return nil, c.fatal(err)
  }

  if c.readTimeout != 0 {
    c.conn.SetReadDeadline(time.Now().Add(c.readTimeout))
  }

  if cmd == "" {
    reply := make([]interface{}, pending)
    for i := range reply {
      r, e := c.readReply()
      if e != nil {
        return nil, c.fatal(e)
      }
      reply[i] = r
    }
    return reply, nil
  }

  var err error
  var reply interface{}
  for i := 0; i <= pending; i++ {
    var e error
    if reply, e = c.readReply(); e != nil {
      return nil, c.fatal(e)
    }
    if e, ok := reply.(error); ok && err == nil {
      err = e
    }
  }
  return reply, err
}

repository: belfinor/resp

repo_name: belfinor/resp


text:
package history

import (
	"time"
	"gopkg.in/mgo.v2/bson"
	"gopkg.in/mgo.v2"
	"errors"
	"challengego/purchase"
	"github.com/pborman/uuid"
	"challengego/memcached"
	"challengego/infrastructure"
)

//History model structure
type History struct {
	HistoryId string
	ClientId string `json:"client_id"`
	PurchaseId string `json:"purchase_id"`
	Value	uint32 `json:"value"`
	Date	time.Time `json:"date"`
	FinalNumber	string `json:"card_number"`
}

func CreateLog(purchase purchase.Purchase) History {
	s :=purchase.CreditCard.CardNumber
	finalNumber := s[len(s)-4:]
	return History{
		uuid.New(),
		purchase.ClientId,
		purchase.PurchaseId,
		purchase.TotalToPay,
		time.Now(),
		finalNumber,
	}
}

type HistoryRepository struct {
	*infrastructure.MongoRepository
}

func (r *HistoryRepository) Store(history *History) (*History,error) {

	sess := r.Session.Copy()
	defer sess.Close()

	c := sess.DB(r.DB).C("History")

	if _, err := c.Upsert(bson.M{"historyid": history.HistoryId}, bson.M{"$set": history}); err != nil {
		return nil, err
	}

	memcached.Store("history_by_client_id_"+history.ClientId, history)
	memcached.Store("history_by_id_"+history.HistoryId, history)

	return history, nil
}

func (r *HistoryRepository) FindByClientId(cId string) ([]*History, error) {
	var result []*History
	mkey := "history_by_client_id_"+cId
	memcached.Get(mkey, &result)
	if result != nil {
		return result, nil
	}

	sess := r.Session.Copy()
	defer sess.Close()

	c := sess.DB(r.DB).C("History")

	if err := c.Find(bson.M{"client_id": cId}).All(&result); err != nil {
		return nil, err
	}

	memcached.Store(mkey, result)

	return result, nil
}

var ErrUnknown = errors.New("unknown history")

func (r *HistoryRepository) FindAll() ([]*History, error) {
	var result []*History
	mkey := "history"
	memcached.Get(mkey, &result)
	if result != nil {
		return result, nil
	}

	sess := r.Session.Copy()
	defer sess.Close()

	c := sess.DB(r.DB).C("History")

	if err := c.Find(bson.M{}).All(&result); err != nil {
		return nil, err
	}
	memcached.Store(mkey, result)

	return result, nil
}

func NewHistoryRepository(repository *infrastructure.MongoRepository) (*HistoryRepository, error) {
	r := &HistoryRepository{repository}

	index := mgo.Index{
		Key:        []string{"historyid"},
		Unique:     true,
		DropDups:   true,
		Background: true,
		Sparse:     true,
	}

	sess := r.Session.Copy()
	defer sess.Close()

	c := sess.DB(r.DB).C("History")

	if err := c.EnsureIndex(index); err != nil {
		return nil, err
	}

	return r, nil
}

repository: gaetani/desafio-backend

repo_name: gaetani/desafio-backend


text:
# An external project for libarchive
set(libarchive_source  "${CMAKE_CURRENT_BINARY_DIR}/libarchive-src")
set(libarchive_install "${OpenChemistry_INSTALL_PREFIX}")

get_filename_component(_self_dir ${CMAKE_CURRENT_LIST_FILE} PATH)

ExternalProject_Add(libarchive
  DOWNLOAD_DIR ${download_dir}
  SOURCE_DIR "${libarchive_source}"
  INSTALL_DIR "${libarchive_install}"
  URL ${libarchive_url}
  URL_MD5 ${libarchive_md5}
  BUILD_IN_SOURCE 1
  CMAKE_ARGS
    -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
)

repository: OpenChemistry/openchemistry

repo_name: OpenChemistry/openchemistry

gha_language: CMake


text:
require cog.inc

SRC_URI = "https://github.com/Igalia/${PN}/archive/v${PV}.tar.gz"

SRC_URI[md5sum] = "b2d4fe2fef6ab10a920ab8ee034c2682"
SRC_URI[sha256sum] = "86e760c8dcd021fbc4d7faacf81b90fcd4d8a40e43261be1fbdad0e674f580b6"

repository: estobbart/meta-webkit

repo_name: estobbart/meta-webkit