This chapter describes an FCM model for decision-making and prediction problems where concepts are split into inputs and outputs. A key property of this model relies on its hybrid nature, where experts are expected to define the weights of some relationships while others are learned from the data. The learning procedure does not alter the weights defined by the experts, thus enabling hybrid reasoning. The learning algorithm computes the learnable weights from historical data using the Moore-Penrose inverse, a mathematically solid and fast operation. In this regard, we develop a toy example that illustrates how to use this algorithm to solve a prediction problem using an existing Python implementation. Supplementary aspects addressed in this chapter revolve around optimizing the network topology. As such, we describe two methods to identify and eliminate redundant relationships connecting inputs with outputs without significantly harming the simulation results. The chapter also conducts a parameter sensitivity analysis and compares the Moore-Penrose inverse-based learning method with metaheuristic-based methods. After reading this chapter, we expect the reader can master the foundations of these algorithms and apply them to datasets describing multi-output prediction problems.